
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