Runlevel определяет режим работы системы: что запущено, какие сервисы активны, есть ли графический интерфейс. Это понятие пришло из SysV init и до сих пор встречается, особенно на старых дистрибутивах и серверах, где systemd ещё не везде.
Стандартные уровни
0 — выключение системы. 1 — однопользовательский режим, только root, сеть не поднята. Используется для восстановления. 2 — многопользовательский без NFS (в Debian/Ubuntu — полноценный многопользовательский). 3 — многопользовательский с сетью, без графики. Типичный режим для серверов. 4 — не используется стандартно, резерв. 5 — многопользовательский с графическим интерфейсом.6 — перезагрузка.Как проверить
Команда
runlevel выводит предыдущий и текущий уровень:runlevel
Вывод выглядит так:
N 3
N означает, что предыдущего уровня не было (система только загрузилась). 3 — текущий runlevel.На системах с systemd та же команда работает, но под капотом systemd транслирует уровни в targets. Можно спросить напрямую:
systemctl get-default
Это покажет default target — то, в каком режиме система запускается по умолчанию:
multi-user.target
А текущее активное состояние:
systemctl list-units --type=target --state=active
Когда это нужно
Чаще всего runlevel проверяют при диагностике — когда нужно понять, почему сервис не запустился, или убедиться, что сервер поднялся в правильном режиме после перезагрузки.
На современных системах с systemd
runlevel остаётся для совместимости, но systemctl get-default даёт более точный ответ.📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера