Systemctl
Systemd — система инициализации служб.
Systemctl — утилита для управления службами.
Состояния службы
- loaded - файл конфигурации юнита был обработан;
- active (running) - служба запущена с одним или несколькими выполняющимися процессами;
- active (exited) - единовременная настройка завершена успешно;
- active (waiting) - служба запущена, но ожидает событие;
- inactive - служба не запущена;
- enabled - служба будет запускаться во время начальной загрузки системы;
- disabled - служба не будет запускаться во время начальной загрузки системы;
- static - служба не может быть включена, но может быть автоматически запущен включенным юнитом.
Управление службами
- systemctl
-
- status <service-name> отображение состояния службы
- status rsyslog.service -l <service-name> отображение подробного состояния службы
- stop <service-name> остановка службы
- start <service-name> запуск службы
- restart <service-name> перезапуск службы
- reload <service-name> перезагрузка конфигурации службы
- daemon-reload перезагрузка конфигурации всех служб
- enable <service-name> включение автозапуска
- disable <service-name> выключение автозапуска
- mask <service-name> отключение возможности запуска службы
- unmask <service-name> включение возможности запуска службы
- enable --now <service-name> запуск службы и включение автозапуска
- disable --now <service-name> остановка службы и включение автозапуска
Список служб
- systemctl без параметров выводит состояние всех юнитов
-
- --type=service вывод состояния юнитов указанного типа
- list-units список юнитов, которые добавлены в systemd
- list-units --type=service вывод списка всех загружаемых служб
- list-units --type=service --all вывод списка всех служб
- list-unit-files --type=service вывод списка служб и их состояние (кратко)
- is-active <service-name> проверка, активна ли служба
- is-enabled <service-name> проверка, включен ли автозапуск
- --failed --type=service вывод списка только отказавших служб
- list-dependencies <service-name> вывод списка зависимостей службы
- list-dependencies <service-name> --reverse вывод списка служб, которые зависят от указанной
Target
Target группирует другие юниты и может запускать и останавливать их все вместе.
При запуске системы используется graphical.target (для загрузки системы с графическим интерфейсом) или multi-user.target (для загрузки системы без графического интерфейса). Символическая ссылка /etc/systemd/system/default.target указывает на нужный target.
Для проверки текущего default.target используется команда
systemctl list-dependencies default.target
Вывод таргета по умолчанию
systemctl get-defaultэта команда читает символическую ссылку, расположенную в /etc/systemd/system/default.target, и отображает результат.
Смена текущего target
systemctl isolate <target-name>.target
Создание юнита
Файлы юнитов содержатся в каталоге
/etc/systemd/system
Для создания юнита нужно создать файл, например
touch test.service
Записать в файл следующее
[Unit] Description=1c-server [Service] ExecStart=/etc/init.d/srv1cv83 [Install] WantedBy=multi-user.target