Рубрики
boot \ grub \ grub2 \ init \ systemd CentOS

systemctl \ journalctl \ управление демонами \ службами \ автозагрузка \ питание \ systemd

инициализации SysV:

 
SysV - старый метод инициализации

runlevel - уровень инициализации. 6 шт
0 - выключение (init 0) 
1 - однопользовательский режим
2,3,4 - настраиваемый режим
5 - графический режим
6 - перезагрузка 

init 6 - перезагрузится

/etc/inittab - файл настройки инициализации (строка id:3:initdefault:)
/etc/rc.d - файлы загрузки rc0.d-rc6.d (k - kill и s - start)
/etc/init.d - скрипты демонов 
/etc/init.d/network restart - перезагрузить скрипт сети

инициализация systemd (Centos7 и Debian9):

Юниты:
.service - службы
.mount - точки монтирования
.device - устройства 
.socket - сокеты
.target - таргеты
systemctl - основная программа управления
journalctl - посмотреть журнал
/usr/lib/systemd - директория с юнитами по умолчанию
/usr/lib/systemd/system - все юниты для системы
/usr/lib/systemd/user - все юниты для пользователя
/etc/systemd -  директория с управляемыми юнитами

Основные команды systemctl:

systemctl list-units - покажет все юниты(демоны,сокеты, и тд)
systemctl list-units -t help - отобразить все возможные варианты
systemctl list-units -t service --all - вывести все сервисы
systemctl list-unit-files --type service – отображает все сервисы и проверяет, какие из них активированы
systemctl list-units -t help - отобразить все возможные варианты
systemctl list-units -t service - вывести на экран активные сервисы и их состояние
systemctl list-units -t target - узнать запущенные таргеты

Журнал:

journalctl - посмотреть журнал
journalctl _PID=1 - посмотреть информацию о процессе 1
systemd-analyze blame - посмотреть время загрузки сервисов

Остановка \ запуск \ перезапуск демонов:

systemctl status mysql - проверить состояние сервиса mysql 
systemctl start mysql - запустить сервис mysql
systemctl stop mysql - остановить сервис mysql
systemctl reload mysql - перезагрузить конфигурацию сервиса mysql
systemctl restart mysql - перезагрузить сервис mysql
systemctl restart squid  - перезагрузить сервис squid
systemctl try-restart mysql - перезагрузить сервис mysql, если она запущен
systemctl kill mysql - убить службу

Выключить \ Отключить \ загрузку:

systemctl enable mysql - добавить в автозапуск mysql
systemctl enable httpd - добавить в автозапуск httpd
systemctl enable mariadb - добавить в автозапуск mariadb
systemctl enable squid - добавить в автозапуск squid
systemctl disable mysql - убрать из автозапуска mysql

chkconfig

-----------------------------------
Уровень 0 - остановка системы (halt)
Уровень 1 - однопользовательский режим работы - минимум служб / root / no_password
Уровень 2 - многопользовательский режим
Уровень 3 - многопользовательский сетевой режим
Уровень 4 - не имеет стандартного толкования и практически не используется;
Уровень 5 - запуск графической подсистемы
Уровень 6 - перезагрузка системы
runlevel - узнать текущий уровень выполнения достаточно выполнить команду 
-----------------------------------
chkconfig  --add имя_службы - добавить в автозагрузку
chkconfig  --list имя_службы - проверить включена ли служба в автозагрузку
chkconfig  имя_службы on - включить службу на всех уровнях (2, 3, 4, 5)
chkconfig  --level 35 имя_службы on - включить службу на определенных уровнях
chkconfig  имя_службы off - выключить службу на всех уровнях (2, 3, 4, 5)
chkconfig  --level 35 имя_службы off - выключить службу на определенных уровнях
chkconfig  --del имя_службы - удалить службу из автозагрузки
----------------------------------

Сбросить \ заглушить \ отключение \ юнита \ демоны:

systemctl --failed - покажет юниты которым не удалось запустится
systemctl reset-failed - сбросить
systemctl mask name.service – заменяет файл сервиса симлинком на /dev/null, делая юнит недоступным для systemd
systemctl unmask name.service – возвращает файл сервиса, делая юнит доступным для systemd

systemctl *.target:

systemctl list-unita -type=target - узнать запущенные таргеты
systemctl isolate poweroff.target - выключение (init 0) 
systemctl isolate rescue.target  - одно пользовательский режим (init 1)
systemctl isolate multi-user.target - настраиваемый режим(init 2,4)
systemctl isolate multi-user.target - настраиваемый режим (init 3) 
systemctl isolate graphical.target - графический режим (init 5)
systemctl isolate reboot.target - перезагрузка (init 6)
sytemctl set-default -f name.target - установить по умолчанию

Выключение \ перезагрузка системы:

systemctl halt – останавливает систему 
systemctl poweroff – выключает систему
systemctl reboot – перезагружает систему