Темы
Система инициализации
Перезапуск сервисов
Таймеры systemd
Диагностика запуска модулей ядра
Диагностика запуска сервисов
Редактирование и переопределение стандартных юнитов и таймеров
Управление порядком запуска служб
материал взят из статьи Шпаргалка по управлению сервисами systemd и дополнен
Система инициализации
Systemd приносит концепцию юнитов systemd. Юниты представлены конфигурационными файлами, размещенными
в одной из директорий:
/usr/lib/systemd/system/ – юниты из установленных пакетов RPM.
/run/systemd/system/ — юниты, созданные в рантайме. Этот каталог приоритетнее каталога с установленными
юнитами из пакетов.
/etc/systemd/system/ — юниты, созданные и управляемые системным администратором. Этот каталог приоритетнее
каталога юнитов, созданных в рантайме.
Типы юнитов systemd:
- Код: выделить все
.service – системный сервис
.target — группа юнитов systemd
.automount – точка автомонтирования файловой системы
.device – файл устройства, распознанного ядром
.mount – точка монтирования файловой системы
.path – файл или директория в файловой системе
.scope – процесс, созданный извне
.slice – группа иерархически организованных юнитов, управляющая системными процессами
.snapshot – сохраненное состояние менеджера systemd
.socket – сокет межпроцессорного взаимодействия
.swap – Swop-устройство или swop-файл (файл подкачки)
.timer – таймер systemd
Runlevel 3 это сейчас multi-user.target и runlevel 5 сейчас graphical.target.
Ниже представлены основные команды systemctl:
- Код: выделить все
systemctl start name.service – запуск сервиса.
systemctl stop name.service — остановка сервиса
systemctl restart name.service — перезапуск сервиса
systemctl try-restart name.service — перезапуск сервиса только, если он запущен
systemctl reload name.service — перезагрузка конфигурации сервиса
systemctl status name.service — проверка, запущен ли сервис с детальным выводом состояния сервиса
systemctl is-active name.service — проверка, запущен ли сервис с простым ответом: active или inactive
systemctl list-units --type service --all – отображение статуса всех сервисов
systemctl enable name.service – активирует сервис (позволяет стартовать во время запуска системы)
systemctl disable name.service – деактивирует сервис
systemctl reenable name.service – деактивирует сервис и сразу активирует его
systemctl is–enabled name.service – проверяет, активирован ли сервис
systemctl list-unit-files --type service – отображает все сервисы и проверяет, какие из них активированы
systemctl mask name.service – заменяет файл сервиса символической ссылкой на /dev/null, делая юнит недоступным для systemd
systemctl unmask name.service – возвращает файл сервиса, делая юнит доступным для systemd
systemctl daemon-reload - Перечитать конфигурацию systemd (после внесения правок в файлы сервисов)
systemctl list-timers --all - Вывести все запланированные задания
systemctl set-default multi-user.target - Установить целевой юнит multi-user
systemctl set-default graphical.target - Установить целевой юнит graphical.target
systemctl isolate multi-user.target - Переключиться с graphical (runlevel5.target) на multi-user (runlevel2-4.target)
systemctl isolate graphical.target - Переключиться с multi-user (runlevel2-4.target) на graphical (runlevel5.target)
systemctl get-default - Узнать какой текущий режим в системе используется (graphical.target или multi-user.target)
systemctl daemon-reexec - Перезапустить systemd и заставит его переварить свою новую конфигурацию в процессе.
systemctl --failed - Вывести всё сервисы которые не запустились
- Код: выделить все
poweroff.target (runlevel0.target) – завершение работы и отключение системы
rescue.target (runlevel1.target) – настройка оболочки восстановления
reboot.target (runlevel6.target) – выключение и перезагрузка системы
Выключение и перезагрузка системы
В systemctl заменяет значительное количество команд управления питанием. Прежние
команды сохранены для совместимости, но рекомендуется использовать systemctl:
- Код: выделить все
systemctl halt – останавливает систему
systemctl poweroff – выключает систему
systemctl reboot – перезагружает систему