[[A8R.ru]]
...
Управление сервисами systemd через systemctl

Используем команду systemctl для управления сервисами (демонами) в systemd

11.03.2025
Linux

Управление сервисами systemd через systemctl

1. Основные команды для управления сервисами

Используем команду systemctl для управления сервисами (демонами) в systemd.


Запуск, остановка и перезапуск сервиса

  • sudo systemctl start <service> — Запуск сервиса
  • sudo systemctl stop <service> — Остановка сервиса
  • sudo systemctl restart <service> — Перезапуск сервиса
  • sudo systemctl reload <service> — Перезагрузка конфигурации (без остановки)

Включение и отключение автозапуска

  • sudo systemctl enable <service> — Включить автозапуск сервиса
  • sudo systemctl disable <service> — Отключить автозапуск сервиса
  • sudo systemctl is-enabled <service> — Проверить статус автозапуска

Проверка состояния сервиса

  • systemctl status <service> — Проверить текущее состояние сервиса
  • journalctl -u <service> — Просмотреть логи сервиса

Проверка запущенных сервисов

  • systemctl list-units --type=service --state=running — Вывести запущенные сервисы
  • systemctl list-units --type=service — Все загруженные сервисы

2. Работа с юнитами systemd

Каждый сервис в systemd представлен в виде юнита (.service).


Перезапуск systemd и перечитывание конфигурации

  • sudo systemctl daemon-reexec — Перезапуск systemd без перезапуска сервисов
  • sudo systemctl daemon-reload — Обновить конфигурацию systemd после изменения юнитов

Редактирование юнитов сервисов

  • sudo systemctl edit <service> — Изменить конфигурацию юнита (создает override)
  • sudo systemctl cat <service> — Просмотреть конфигурацию юнита

Удаление override-конфигурации

  • sudo systemctl revert <service> — Удалить override-конфигурацию

3. Дополнительные команды


Маскировка и размаскировка сервиса

  • sudo systemctl mask <service> — Полностью отключить сервис (даже если включен)
  • sudo systemctl unmask <service> — Разрешить сервис (после mask)

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

  • sudo systemctl reboot — Перезагрузка системы
  • sudo systemctl poweroff — Выключение системы
  • sudo systemctl suspend — Усыпление системы
  • sudo systemctl halt — Остановка системы без выключения питания

4. Примеры работы


Запуск и настройка сервиса Nginx

  • sudo systemctl start nginx — Запускаем сервис
  • sudo systemctl enable nginx — Включаем автозапуск
  • systemctl status nginx — Проверяем статус
  • journalctl -u nginx --no-pager — Просматриваем логи

Остановка и отключение сервиса Apache

  • sudo systemctl stop apache2 — Остановка сервиса
  • sudo systemctl disable apache2 — Отключение автозапуска
  • sudo systemctl mask apache2 — Полностью блокируем его запуск

5. Полезные флаги systemctl

Флаг — Описание:

  • --no-pager — Вывод без постраничного просмотра
  • --failed — Показывает только сбойные юниты
  • --type=service — Фильтр по типу "service"
  • --all — Показывает все юниты, включая неактивные