Что такое «уровни запуска» в Linux?
Когда система Linux загружается, она вводит уровень запуска по умолчанию и запускает сценарии запуска, связанные с этим уровнем запуска. Вы также можете переключаться между уровнями выполнения - например, есть уровень запуска, предназначенный для операций восстановления и обслуживания.
Традиционно в Linux использовались сценарии инициализации в стиле System V - в то время как новые системы инициализации в конечном итоге устареют на традиционных уровнях выполнения, они еще этого не сделали. Например, система Upstart в Ubuntu по-прежнему использует традиционные сценарии в стиле System V.
Что такое уровень запуска?
Когда система Linux загружается, она запускает в этом процессы. init отвечает за запуск других процессов в системе. Например, когда вы запускаете компьютер с Linux, ядро запускает init, а init выполняет сценарии запуска, чтобы инициализировать ваше оборудование, запустить сеть, запустить графический рабочий стол..
Однако не существует только одного набора сценариев запуска, которые выполняет init. Существует несколько уровней запуска со своими собственными сценариями запуска - например, один уровень запуска может запустить сеть и запустить графический рабочий стол, в то время как другой уровень запуска может оставить сеть отключенной и пропустить графический рабочий стол. Это означает, что вы можете перейти из «режима графического рабочего стола» в «режим текстовой консоли без подключения к сети» с помощью одной команды, без ручного запуска и остановки различных служб..
В частности, init запускает сценарии, расположенные в определенном каталоге, соответствующем уровню выполнения. Например, когда вы вводите уровень запуска 3 в Ubuntu, init запускает сценарии, расположенные в каталоге /etc/rc3.d.
По крайней мере, так работает традиционная система инициализации System V - дистрибутивы Linux начинают заменять старую систему инициализации System V. В то время как Ubuntu Upstart в настоящее время поддерживает совместимость со сценариями инициализации SysV, это, вероятно, изменится в будущем..
Уровни запуска
Некоторые уровни выполнения являются стандартными между дистрибутивами Linux, в то время как некоторые уровни выполнения варьируются от распределения к распределению.
Следующие уровни выполнения являются стандартными:
- 0 - стой (Выключение системы.)
- 1 - Однопользовательский режим (Система загружается в режиме суперпользователя без запуска демонов или работы в сети. Идеально подходит для загрузки в среду восстановления или диагностики.)
- 6 - перезагружать
Уровни выполнения 2-5 варьируются в зависимости от распределения. Например, в Ubuntu и Debian уровни выполнения 2-5 одинаковы и предоставляют полный многопользовательский режим с сетевым подключением и графическим входом в систему. В Fedora и Red Hat уровень запуска 2 обеспечивает многопользовательский режим без сетевого подключения (только для входа в консоль), уровень запуска 3 обеспечивает многопользовательский режим с сетевым подключением (только для входа в консоль), уровень запуска 4 не используется, а уровень запуска 5 обеспечивает многопользовательский режим с сетевой и графический вход.
Переключение на другой уровень выполнения
Чтобы переключиться на другой уровень выполнения, когда система уже работает, используйте следующую команду:
sudo telinit #
Замените # на номер уровня запуска, на который вы хотите переключиться. Опустите sudo и выполните команду от имени пользователя root, если вы используете дистрибутив, который не использует sudo.
Загрузка непосредственно на определенный уровень запуска
Вы можете выбрать уровень запуска для загрузки из загрузчика - например, Grub. В начале процесса загрузки нажмите клавишу для доступа к Grub, выберите загрузочную запись и нажмите e, чтобы отредактировать ее..
Можете добавить не замужем до конца линукс строка для ввода однопользовательского уровня запуска (уровень запуска 1). (Нажмите Ctrl + x для загрузки после.) Это то же самое, что опция режима восстановления в Grub..
Традиционно, вы можете указать число в качестве параметра ядра и загрузиться с этим уровнем запуска - например, используя 3 вместо не замужем чтобы загрузиться до уровня запуска 3. Однако, это, похоже, не работает в последних версиях Ubuntu - Upstart не позволяет этого. Точно так же, как вы измените уровень запуска по умолчанию, будет зависеть от вашего дистрибутива.
Хотя демон Upstart Ubuntu по-прежнему эмулирует систему инициализации SystemV, большая часть этой информации изменится в будущем. Например, Upstart основан на событиях - он может останавливать и запускать службы при возникновении событий (например, служба может запускаться, когда к системе подключено аппаратное устройство, и останавливаться при удалении устройства.) У Fedora также есть собственный преемник. инициировать, systemd.