Linux:Рецепты/Управление уровнями запуска с помощью systemd

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Проверка/Оформление/Редактирование: Мякишев Е.А.


Управление уровнями запуска с помощью systemd

Проблема

Выполнить перезагрузку системы с состоянием по выбору.

Решение

Проверим, работает ли система, и узнаем её состояние:

systemctl is-system-running
Примечание

Команда systemctl is-system-running сообщает текущее состояние системы, которое может быть одним из следующих:

  • initializing — система еще не завершила запуск;
  • starting — система на заключительном этапе запуска;
  • running — система полностью работоспособна и все процессы запущены;
  • degraded — система работоспособна, но один или несколько модулей systemd потерпели неудачу. Выполните systemctl | grep failed, чтобы увидеть, какие это модули;
  • maintenance — система загружена в аварийном (emergency) или восстановительном (rescue) режиме;
  • stopping — systemd останавливается;
  • offline — systemd не запущена;
  • unknown — существует проблема, не позволяющая systemd определить текущее состояние.

Текущую цель по умолчанию:

systemctl get-default

Текущий уровень запуска:

runlevel

Перезагрузить систему в режиме восстановления:

sudo systemctl rescue

Перезагрузить систему в аварийном режиме:

sudo systemctl emergency
Примечание

Команда systemctl emergency — это особая аварийная цель, более ограниченная,чем режим восстановления rescue: в этом режиме не запускаются службы, не монтируются файловые системы, кроме корневой, нет сети и вход может выполнить только пользователь root. Это самая минимальная работающая конфигурация системы, предназначенная для устранения проблем. Варианты загрузки в аварийном и восстановительном режимах доступны в меню загрузчика GRUB2.

Перезагрузить систему в режиме по умолчанию:

sudo systemctl reboot

Перезагрузить в другом режиме без изменения режима по умолчанию:

sudo systemctl isolate multi-user.target

Установить уровень запуска по умолчанию:

sudo systemctl set-default multi-user.target

Список имеющихся файлов, определяющих уровни запуска:

ls -l /lib/systemd/system/runlevel*

Список зависимостей для выбранного уровня запуска:

systemctl list-dependencies graphical.target

См.также

Внешние ссылки