Сколько уровней выполнения используется в Linux

Обновлено: 21.11.2024

В этом кратком руководстве объясняется, что такое уровень выполнения, сколько уровней выполнения существует в Linux и как проверить уровень выполнения в операционных системах Linux.

Что такое уровень выполнения?

Уровень запуска — это один из режимов, в котором будет работать операционная система на основе Unix. Другими словами, уровень выполнения — это состояние инициализации и всей системы, которое определяет, какие системные службы работают.

В ядре Linux существует 7 уровней выполнения, начиная с 0 и заканчивая 6. Система может быть загружена только на одном уровне выполнения за раз.

По умолчанию система загружается либо до уровня запуска 3, либо до уровня запуска 5. Уровень запуска 3 – это интерфейс командной строки, а уровень 5 – графический интерфейс. Уровень выполнения по умолчанию указан в файле /etc/inittab в большинстве операционных систем Linux.

Используя уровень запуска, мы можем легко узнать, работает ли X, работает ли сеть и т. д.

1. Проверьте уровень выполнения в Linux (инициализация SysV)

Вот список уровней выполнения в дистрибутивах Linux, которые распространялись с SysV init в качестве диспетчера служб по умолчанию.

  • 0 – Остановить
  • 1 – однопользовательский текстовый режим
  • 2 – не используется (определяется пользователем)
  • 3 – Полный многопользовательский текстовый режим.
  • 4 – не используется (определяется пользователем)
  • 5 – Полный многопользовательский графический режим (с экраном входа в систему на базе X)
  • 6 – Перезагрузить

Теперь давайте посмотрим, как найти уровни выполнения.

Чтобы узнать уровень запуска системы, откройте терминал и выполните следующую команду:

Пример вывода:

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

В новых версиях init сведения о текущем и предыдущем уровнях выполнения можно найти с помощью переменных среды RUNLEVEL и PREVLEVEL.

Например, чтобы узнать текущий уровень запуска, вам нужно выполнить:

Чтобы найти предыдущий уровень выполнения:

Если вы хотите изменить RunLevel на что-то другое, отредактируйте файл /etc/inittab:

Найдите и измените запись initdefault на выбранный вами уровень выполнения. Скажем, например, чтобы установить уровень запуска в многопользовательский графический режим (уровень запуска 5), измените его, как показано ниже.

Сохраните и закройте файл. Перезагрузите систему, чтобы войти на новый уровень запуска.

Подробнее об уровнях запуска см. справочные страницы.

2. Проверьте уровень выполнения в Linux (Systemd)

В последних версиях систем Linux (начиная с RHEL 7, Ubuntu 16.04 LTS) концепция уровней выполнения была заменена на цели systemd.

Вот список целей Systemd в дистрибутивах Linux, которые распространялись с Systemd в качестве диспетчера служб по умолчанию.

  1. runlevel0.target, poweroff.target — остановить
  2. runlevel1.target, Rescue.target — однопользовательский текстовый режим
  3. runlevel2.target, multi-user.target — не используется (определяется пользователем)
  4. runlevel3.target, multi-user.target — полный многопользовательский текстовый режим
  5. runlevel4.target, multi-user.target — не используется (определяется пользователем)
  6. runlevel5.target,graphical.target — полный многопользовательский графический режим (с экраном входа в систему на основе X)
  7. runlevel6.target,reboot.target — перезагрузка

В системах Linux, использующих Systemd в качестве диспетчера служб по умолчанию, вы можете найти текущую цель с помощью команды:

Пример вывода:

Как видно из приведенного выше вывода, мой текущий уровень выполнения (иными словами, цель) равен 5 , что соответствует графическому режиму.

Чтобы просмотреть все загруженные цели, запустите:

Пример вывода:

Проверьте уровень выполнения в Linux (Systemd)

Приведенная выше команда покажет только активные цели.

Чтобы просмотреть все загруженные цели (активные и неактивные), выполните:

Если вы хотите изменить RunLevel на что-то другое, например runlevel3.target , установите его, как показано ниже:

Чтобы перейти к другому целевому объекту только в текущем сеансе, выполните следующую команду:

Подробнее см. справочные страницы Systemd.

Проверка уровня запуска Linux с помощью команды who

Как предложил один из читателей в разделе комментариев ниже, мы также можем найти уровень запуска с помощью команды who, как показано ниже:

Уровень запуска — это один из режимов, в котором будет работать выделенный сервер на базе Unix или ОС сервера VPS. Каждый уровень выполнения имеет определенное количество остановленных или запущенных служб, что дает пользователю контроль над поведением машины. Обычно существует семь уровней запуска, пронумерованных от нуля до шести.

После загрузки ядра Linux программа инициализации считывает файл /etc/inittab, чтобы определить поведение для каждого уровня выполнения. Если пользователь не укажет другое значение в качестве параметра загрузки ядра, система попытается перейти (запустить) на уровень выполнения по умолчанию.

Стандартные уровни запуска для дистрибутивов на основе RedHat < /tr>
Уровень запуска Режим Действие
0 Остановить Завершить работу системы
1 Однопользовательский режим Не настраивает сетевые интерфейсы, не запускает демоны и не разрешает вход без полномочий root
2 Многопользовательский Пользовательский режим Не настраивает сетевые интерфейсы и не запускает демонов.
3 Многопользовательский режим с поддержкой сети Запускает систему в обычном режиме.
4 Не определено Не используется/Определяется пользователем
5 X11 Как уровень выполнения 3 + диспетчер отображения(X)
6 Reboot Перезагружает систему

Большинство серверов Linux не имеют графического пользовательского интерфейса и поэтому запускаются на уровне запуска 3. Серверы с графическим интерфейсом и настольные системы Unix запускаются на уровне запуска 5. Когда сервер получает команду перезагрузки, он переходит на уровень выполнения 6.

Сценарии инициализации

Init (сокращение от инициализации) — это программа в Unix и Unix-подобных системах, которая запускает все остальные процессы. Он работает как демон и обычно имеет PID 1.

Файл /etc/inittab используется для установки уровня запуска по умолчанию для системы. Это уровень запуска, на котором система запустится после перезагрузки. Приложения, запускаемые init, находятся в папке /etc/rc.d. В этом каталоге есть отдельная папка для каждого уровня выполнения, например, rc0.d, rc1.d и т. д.

chkconfig

Инструмент chkconfig используется в системах на основе RedHat (таких как CentOS) для контроля того, какие службы запускаются и на каких уровнях выполнения. Выполнение команды chkconfig –list отобразит список служб, независимо от того, включены они или отключены для каждого уровня выполнения.

Однопользовательский режим — это режим, в котором многопользовательская система (например, сервер Linux) может быть загружена в операционную систему как суперпользователь. Загрузка системы в этом режиме не запускает сеть, но может использоваться для внесения изменений в любые файлы конфигурации на сервере. Одним из наиболее распространенных способов использования однопользовательского режима является изменение пароля root для сервера, на котором неизвестен текущий пароль.

Уровни выполнения — важная часть ядра операционной системы Linux. Хотя средний администратор не будет работать ежедневно, понимание уровней выполнения дает администратору еще один уровень контроля и гибкости над серверами, которыми он управляет.

Когда стандартного облачного VPS недостаточно, выделенные серверы Liquid Web — это воплощение мечты. Сервер Liquid Web превосходит конкурентов по производительности и поддержке. Узнайте, как наши выделенные серверы могут резко повысить производительность вашего сайта.

Бывают случаи, когда система Linux загружается либо в графическом интерфейсе пользователя (GUI), либо в командной строке. Система Linux также может загружаться как однопользовательская система, что означает, что она доступна только одному пользователю, суперпользователю, используемому для обслуживания системы.

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

Цели

В этом руководстве мы узнаем о различных уровнях выполнения, существующих в системе Linux.

Содержание

Предпосылки

  • Доступ к компьютеру с Linux. В этом руководстве мы будем использовать виртуальную машину Ubuntu с графическим интерфейсом.
  • Действие от имени пользователя sudo без полномочий root для обеспечения безопасной среды

Обзор уровня запуска

Когда мы загружаем систему Linux, она загружается с предопределенными условиями, которые определяют ее состояние. Например, мы можем загрузить систему Linux, такую ​​как Ubuntu, в командную строку и работать оттуда. Обычно это делают опытные пользователи Linux. С другой стороны, мы можем захотеть загрузиться в GUI. Это разные состояния, которые мы называем уровнями выполнения.

Есть две основные причины для определения уровня выполнения в системе Linux:

  • Определяет программы или приложения, которые должны выполняться при загрузке системы.
  • Определяет состояние системы при загрузке, например, доступен ли графический интерфейс

Прежде чем двигаться дальше, мы можем быстро найти уровень выполнения установки Ubuntu с помощью следующей команды:

Обратите внимание, что в выходных данных отображается число, в данном случае 5. Это уровень выполнения по умолчанию в большинстве дистрибутивов Linux. Однако мы можем изменить его на другой уровень выполнения.

Еще один метод, который мы можем использовать для определения уровня выполнения, — это использование команды who с параметром -r:

Здесь мы получаем два разных уровня выполнения. Мы получаем текущий уровень запуска вместе с другим уровнем запуска, который был последним уровнем запуска.Если бы мы когда-либо изменили уровень выполнения по умолчанию, он был бы указан с последним параметром в выводе. В нашем сценарии последний уровень запуска был 3, а текущий — 5.

Мы также можем использовать команду systemctl, которую мы рассмотрим позже в этом руководстве.

Перед использованием любой команды всегда рекомендуется прочитать справку, чтобы понять ее параметры. Мы можем получить справку по уровням выполнения с помощью следующей команды:

Обратите внимание, что справка также содержит ссылку на справочные страницы. Мы должны получить более подробную информацию об уровнях выполнения.

Давайте быстро посмотрим, что содержат справочные страницы, выполнив следующую команду:

Справочные страницы отображают в общей сложности 7 уровней выполнения, которые варьируются от 0 до 6. Каждый уровень выполнения предназначен для выполнения определенной задачи.

< td> Запускает однопользовательский режим и используется суперпользователем, то есть корнем. Входы без полномочий root запрещены для входа в систему. Демоны не запущены.
Уровень выполнения Цели Описание
0 poweroff.target Завершает работу системы Linux
1 rescue.target
2 Работает в многопользовательском режиме, но не запускает демоны или сетевые интерфейсы
3 multi-user.target Запускает систему в многопользовательском режиме, но без графического пользовательского интерфейса. Используется только интерфейс командной строки
4 Не определено, что может быть определено пользователем. Этот уровень выполнения обычно не используется.
5 graphical.target Запускает систему в многопользовательском режиме, но с графический пользовательский интерфейс. Этот уровень запуска используется в большинстве систем Linux.
6 reboot.target Перезагружает систему, как только команда уровня запуска выполняется.

Расположение файлов уровня выполнения

Теперь, когда мы знаем, что такое уровни выполнения, мы должны понимать, что каждый уровень выполнения — это определенная среда, выполняемая с помощью определенного набора сценариев. Итак, где хранятся эти скрипты? Давайте выясним это.

В системе Linux у нас есть каталог /etc, который содержит общесистемные файлы конфигурации. Каталог /etc содержит несколько подкаталогов, а также файлы конфигурации. файлы уровня запуска хранятся в соответствующих каталогах, которые называются так:

Каждый из подкаталогов предназначен для хранения файлов конфигурации для определенного уровня выполнения. Давайте сначала просмотрим эти подкаталоги, выполнив следующую команду:

Теперь отображается вывод команды ls. Нам нужно прокрутить назад, чтобы просмотреть набор подкаталогов rc.

Давайте посмотрим на файлы в подкаталоге /etc/rc0.d, который используется для уровня выполнения 0:

Теперь отображается вывод команды ls. В этом подкаталоге хранится набор сценариев и файлов конфигурации.

Изменение уровня запуска

Вкратце, теперь мы знаем, что такое уровень выполнения, а также каталог и подкаталог, в которых хранятся его файлы конфигурации. Теперь нам нужно двигаться вперед и изменить уровень выполнения.

Есть два способа изменить уровень запуска. Первый способ — изменить его с помощью команд init или telinit. Сначала мы воспользуемся командой инициализации:

Эта команда перезагружает систему. Мы получим тот же результат, если выполним команду telinit:

Теперь давайте посмотрим на команду systemctl, которая помогает нам найти текущий уровень запуска, а также помогает нам изменить его. Давайте выполним эту команду, чтобы сначала найти уровень выполнения:

Обратите внимание, что в выходных данных отображается graphical.target, который соответствует уровню выполнения 5, как показано в таблице выше.

Теперь пришло время изменить уровень запуска с помощью команды systemctl. Для этого выполните следующую команду:

В тот момент, когда мы нажимаем Enter, мы попадаем в командную строку для ввода учетных данных пользователя. После успешной аутентификации мы находимся в командной строке.

Давайте еще раз проверим уровень выполнения. Мы просто воспользуемся командой уровня запуска:

Обратите внимание, что отображаются два уровня запуска. Первый, который равен 5, является последним использованным уровнем запуска. Следующее число, равное 3, является текущим уровнем запуска.

Давайте вернемся к графическому интерфейсу с помощью следующей команды:

Нам предлагается пройти аутентификацию для пользователя edxd, поскольку мы используем sudo. После успешной аутентификации система загружается в среду с графическим интерфейсом, где нам нужно выбрать соответствующего пользователя и войти в систему. После успешной аутентификации мы возвращаемся в режим графического интерфейса.

Заключение

Молодец. Надеемся, что это руководство помогло нам понять уровни запуска Linux. Если вы столкнулись с какими-либо проблемами или у вас есть какие-либо вопросы, оставьте комментарий или свяжитесь с нами, и мы свяжемся с вами, как только сможем.

сообщить об этом объявлении

сообщить об этом объявлении

Описание различных уровней выполнения Linux

Linux предоставляет 6 различных уровней запуска. Для получения информации о том, как изменить уровень запуска по умолчанию при запуске системы, прочитайте Linuxtopia. Как изменить уровень запуска по умолчанию в моей системе Linux? Руководство или для переключения уровня запуска во время работы системы прочитайте Linuxtopia - Как мне динамически изменить мой уровень запуска Linux без перезагрузки? Руководство.

Шесть уровней запуска Linux описаны в таблице 1 ниже. Имейте в виду, что вы не хотите, чтобы ваша система по умолчанию начинала с некоторых из этих уровней:

Таблица 1. Описания уровней запуска Linux

Уровень запуска
Описание уровня запуска
Уровень запуска 0
Уровень запуска остановки — это уровень запуска, на котором система выключается. По очевидным причинам маловероятно, что вы захотите использовать этот уровень запуска по умолчанию.
Уровень выполнения 1
Один уровень выполнения. Это приводит к тому, что система запускается в однопользовательском режиме, в котором только пользователь root может войти в систему. В этом режиме система не запускает никаких сетевых или X оконных, X или многопользовательских служб. Этот уровень выполнения идеально подходит системным администраторам для выполнения работ по обслуживанию или ремонту системы.
Уровень выполнения 2
Загружает систему в многопользовательском режиме с возможностью входа в текстовую консоль. Однако этот уровень запуска не запускает сеть.
Уровень запуска 3
Аналогичен уровню выполнения 2, за исключением того, что запускаются сетевые службы. Это наиболее распространенный уровень запуска для серверных систем, которым не требуется графическая среда рабочего стола.
Уровень выполнения 4
Неопределенный уровень запуска. Этот уровень запуска можно настроить для обеспечения пользовательского состояния загрузки.
Уровень выполнения 5
Загружает систему в сетевое многопользовательское состояние с возможностью X Window System. По умолчанию графическая среда рабочего стола запускается в конце процесса загрузки. Это наиболее распространенный уровень выполнения для настольных компьютеров или рабочих станций.
Уровень выполнения 6
Перезагружает систему. Еще один уровень выполнения, который вам вряд ли понадобится по умолчанию.

сообщить об этом объявлении

Читайте также: