Как изменить уровни выполнения (цели) в SystemD
Systemd — это современная система инициализации для Linux: система и менеджер служб, совместимый с популярной системой инициализации SysV и скриптами инициализации LSB. Она была предназначена для преодоления недостатков SysV init, как объясняется в следующей статье.
- История возникновения ‘init’ и ‘systemd’: почему ‘init’ пришлось заменить на ‘systemd’ в Linux
В системах, подобных Unix, таких как Linux, текущее рабочее состояние операционной системы известно как уровень запуска; оно определяет, какие системные службы запущены. В популярных системах инициализации, таких как SysV init, уровни запуска идентифицируются числами. Однако в systemd уровни запуска называются целями.
Рекомендуем к прочтению: Управление процессом запуска системы и службами (SysVinit, Systemd и Upstart)
В этой статье мы объясним, как изменить уровни запуска (цели) с помощью systemd. Прежде чем двигаться дальше, давайте кратко разберёмся с взаимосвязью между номерами уровней запуска и целей.
- Уровень выполнения 0 соответствует poweroff.target (а runlevel0.target является символической ссылкой на poweroff.target).
- Уровень выполнения 1 соответствует rescue.target (и runlevel1.target является символической ссылкой на rescue.target).
- Уровень запуска 3 эмулируется multi-user.target (и runlevel3.target является символической ссылкой на multi-user.target).
- Уровень запуска 5 эмулируется graphical.target (а runlevel5.target является символической ссылкой на graphical.target).
- Уровень запуска 6 эмулируется reboot.target (и runlevel6.target является символической ссылкой на reboot.target).
- Emergency соответствует emergency.target.
Как просмотреть текущую цель (уровень запуска) в Systemd
Когда система загружается, по умолчанию systemd активирует юнит default.target. Его основная задача — активировать службы и другие юниты, подтягивая их через зависимости.
Чтобы просмотреть целевой объект по умолчанию, введите команду ниже.
#systemctl get-default
graphical.target
Чтобы установить цель по умолчанию, выполните приведенную ниже команду.
# systemctl set-default multi-user.target
Как изменить целевой уровень (runlevel) в Systemd
Пока система работает, вы можете переключить целевой уровень (уровень запуска), что означает, что теперь на системе будут работать только службы и единицы, определённые для этого уровня.
Чтобы переключиться на уровень работы 3, выполните следующую команду.
# systemctl isolate multi-user.target
Чтобы изменить систему на уровень работы 5, введите команду ниже.
# systemctl isolate graphical.target
Для получения дополнительной информации о systemd ознакомьтесь с этими полезными статьями:
- Как управлять сервисами и юнитами ‘Systemd’ с помощью ‘Systemctl’ в Linux
- Как создать и запустить новые сервисные юниты в Systemd с помощью shell-скрипта
- Управление процессом запуска системы и службами (SysVinit, Systemd и Upstart)
- Управление журналами сообщений в Systemd с помощью Journalctl [Полное руководство]
В этом руководстве мы показали, как изменить уровни запуска (цели) с помощью systemd. Используйте форму комментариев ниже, чтобы прислать нам любые вопросы или мысли по поводу этой статьи.