Коротко о systemd – взгляд простого пользователя

systemd менеджер служб linux

Systemd – современный менеджер системы и служб для дистрибутивов GNU/Linux. В последнее время он используется практически везде, включая, Ubuntu, Archlinux и Debian, CentOS, Fedora которым я пользуюсь. Он запускается первым при загрузке системы (как процесс с PID 1), управляет службами, отвечает за их распараллеленный запуск для ускорения загрузки, а также предоставляет функции для мониторинга процессов, управления точками монтирования и ведения журналов с помощью инструмента systemctl. Он достаточно сложен для восприятия, но мне не требуется пока писать собственные юниты для запуска. Поэтому для своих целей достаточно простой шпаргалки.

Управление юнитами systemd

Передо мной стояла простая задача – убрать apache и mysql из загрузки и запускать их когда необходимо. Нет смысла для этого лезть в глубокие дебри.

Главная команда для управления systemd – systemctl:

Позволяет запускать, останавливать, перезапускать и получать статус фоновых служб (демонов) с помощью команды systemctl.

Просмотр юнитов systemd

Просмотреть список запущенных юнитов можно просто:
$ systemctl

Список неудачных запусков или ошибок:
$ systemctl --failed

Ну а все доступные юниты:
$ systemctl list-unit-files

 

Запуск и остановка юнита systemd

Запускаем командой:
# systemctl start юнит

Остановка:
# systemctl stop юнит

Перезагрузка:
# systemctl restart юнит

Добавление и удаления юнита systemd из загрузки

Добавить в загрузку systemd:
# systemctl enable юнит

Убрать:
# systemctl disable юнит

Осталось убрать из загрузки apache и mysql:
# systemctl stop apache2 # systemctl stop mysql # systemctl disable apache2 # systemctl disable mysql