В этом кратком руководстве объясняется, что такое уровень выполнения, сколько уровней выполнения существует в системах Linux и как проверить уровень выполнения в операционных системах Linux.
Что такое уровень выполнения?
Уровень выполнения – это один из режимов, в котором будет работать операционная система на основе Unix.
Другими словами, уровень выполнения – это состояние init и всей системы, которое определяет, какие системные службы работают.
В ядре Linux существует 7 уровней запуска, начиная с 0 до 6. Система может быть загружена только на один уровень запуска за раз.
По умолчанию система загружается либо до уровня запуска 3, либо до уровня запуска 5.
Уровень запуска 3 – это интерфейс командной строки, а уровень 5 – это графический интерфейс.
Уровень запуска по умолчанию указан в файле /etc/inittab в большинстве операционных систем Linux.
Используя уровень запуска, мы можем легко узнать, работает ли X, работает ли сеть и так далее.
1. Проверим уровень выполнения в системе Linux (SysV init)
Вот список уровней запуска в дистрибутивах Linux, которые распространялись с SysV init в качестве диспетчера служб по умолчанию.
0 – Остановка
1 – Однопользовательский текстовый режим
2 – Не используется (определяется пользователем)
3 – Полный многопользовательский текстовый режим
4 – Не используется (определяется пользователем)
5 – Полноценный многопользовательский графический режим (с экраном входа на основе X)
6 – перезагрузка
Теперь давайте посмотрим, как найти уровни выполнения.
Чтобы узнать уровень запуска системы, откройте Терминал и выполните следующую команду:
$ runlevel
Пример вывода:
N 3
В приведенных выше выходных данных буква «N» указывает, что уровень выполнения не был изменен с момента загрузки системы.
N 3 – это текущий уровень запуска, то есть система находится в режиме CLI.
В более новых версиях init вы можете найти информацию о текущем и предыдущем уровне выполнения, используя переменные среды, называемые RUNLEVEL и PREVLEVEL.
Скажем, например, чтобы узнать текущий уровень запуска, вам нужно запустить:
$ echo $RUNLEVEL
Чтобы найти предыдущий уровень выполнения:
$ echo $PREVLEVEL
Если вы хотите изменить RunLevel на что-то другое, отредактируйте файл /etc/inittab:
$ sudo vi /etc/inittab
Найдите и отредактируйте запись initdefault до уровня запуска по вашему выбору.
Скажем, например, чтобы установить уровень запуска в многопользовательский графический режим (уровень выполнения 5), измените его, как показано ниже.
id:5:initdefault:
Сохраните и закройте файл.
Перезагрузите систему, чтобы войти на новый уровень выполнения.
Для получения дополнительных сведений об уровнях выполнения обратитесь к страницам руководства.
$ man runlevel
Также можно выполнить команду:
who -r
Пример вывода:
run-level 3 2021-02-12 14:26
2. Проверьте уровень выполнения в Linux (Systemd).
В последних версиях систем Linux (начиная с RHEL 7, Ubuntu 16.04 LTS) концепция уровней запуска была заменена целями systemd.
Вот список целей Systemd в дистрибутивах Linux, которые распространялись с Systemd в качестве диспетчера служб по умолчанию.
- runlevel0.target, poweroff.target – Остановить
- runlevel1.target, rescue.target – однопользовательский текстовый режим
- runlevel2.target, multi-user.target – не используется (определяется пользователем)
- runlevel3.target, multi-user.target – Полный многопользовательский текстовый режим
- runlevel4.target, multi-user.target – не используется (определяется пользователем)
- runlevel5.target, graphical.target – Полноценный многопользовательский графический режим (с экраном входа на основе X)
- runlevel6.target, reboot.target – перезагрузка
В системах Linux, которые используют Systemd в качестве диспетчера служб по умолчанию, вы можете найти текущую цель с помощью команды:
$ systemctl get-default
Пример вывода:
multi-user.target