В менеджере инициализации systemd вместо уровней запуска (runlevels), которые Linux унаследовал от SysV первозданного UNIX’а, используются так называемые цели (targets). Подобно уровням запуска, они объединяют в себе наборы стартовых служб некоторого назначения. Однако, в отличие от runlevels, которых, как известно, существует всего семь, целей в systemd определено великое множество — полный их список можно просмотреть командой

$ ls /lib/systemd/system/*.target

Из всего этого богачества в openSUSE по умолчанию задействованы следующие цели:

poweroff.target — выключение системы (аналог runlevel 0);
reboot.target — перезагрузка системы (аналог runlevel 6);
rescue.target — спасательный режим (аналог single user mode, runlevel 1);
multi-user.target — консольный многопользовательский режим с поддержкой сети (аналог runlevel 3);
graphical.target — запуск в графическом режиме (аналог runlevel 5).

Переключаться между целями (то есть соответствующими режимами) можно с помощью всё той же команды systemctl с указанием субкоманды isolate и аргумента — имени цели. Например, команда

# systemctl isolate rescue.target

переведёт систему в однопользовательский режим с автоматическим закрытием Иксового сеанас и всех запущенных в нём приложений. Вернуться к нормальной работе можно, как легко догадаться, командой

# systemctl isolate graphical.target

Впрочем, пока не возбраняется и использование команды telinit с указанием уровня запуска как аргумента. Например, того же результата — перехода в однопользовательский режим — можно добиться и так:

# telinit 1

А для возврата взад можно использовать и

# telinit 5

Здесь нужно только помнить, что по умолчанию аналог runlevel 2 (многопользовательский режим без поддержки сети) в openSUSE не задействован. Это можно изменить, переопределив символическую ссылку /lib/systemd/system/runlevel2.target — как именно, оставляю для изучения заинтересованным лицам.


К содержанию | Шпаргалки по systemd