Уровни выполнения (run levels) — это предопределенные состояния операционной системы Linux, которые определяют, какие сервисы и демоны должны быть запущены в конкретный момент времени. Эта концепция используется в системах инициализации SysVinit и частично в systemd (для совместимости).
В традиционных системах с SysVinit существуют 7 основных уровней выполнения (от 0 до 6):
0 — Остановка системы (halt)
1 — Однопользовательский режим (single-user mode, rescue mode)
2 — Многопользовательский режим без сетевых сервисов (NFS)
3 — Многопользовательский режим с сетью (обычно используется для серверов)
4 — Не используется (пользовательский уровень, может быть настроен)
5 — Многопользовательский режим с графическим интерфейсом (GUI)
6 — Перезагрузка системы (reboot)
Уровень 0 (Halt)
Уровень 1 (Single-User Mode / Rescue Mode)
/etc/fstab
.Уровень 2 (Multi-User без сети)
Уровень 3 (Multi-User с сетью)
Уровень 4 (Пользовательский)
Уровень 5 (Graphical Mode)
Уровень 6 (Reboot)
В SysVinit:
$ who -r
run-level 5 2024-06-14 10:00
В systemd (для совместимости):
$ runlevel
N 5
В systemd концепция run levels заменена на targets, но для совместимости поддерживается:
# Аналоги run levels в systemd:
0 — poweroff.target
1 — rescue.target
3 — multi-user.target
5 — graphical.target
6 — reboot.target
В SysVinit:
$ init 3 # Переключение в уровень 3
В systemd:
$ systemctl isolate multi-user.target # Аналог уровня 3
targets
, но команды вроде init
и runlevel
работают для совместимости.