Какви са "Runlevels" на Linux?

Съдържание:

Какви са "Runlevels" на Linux?
Какви са "Runlevels" на Linux?

Видео: Какви са "Runlevels" на Linux?

Видео: Какви са
Видео: Hasselblad X2D 100C vs Hasselblad X1D 50C II Subtitles Большой обзор и личный опыт ! - YouTube 2024, Може
Anonim
Когато системата на Linux се зарежда, тя влиза в подразбиращото се ниво на изпълнение и изпълнява стартовите скриптове, свързани с това ниво на изпълнение. Можете също така да превключвате между нива на управление - например има ниво на управление, предназначено за операции по възстановяване и поддръжка.
Когато системата на Linux се зарежда, тя влиза в подразбиращото се ниво на изпълнение и изпълнява стартовите скриптове, свързани с това ниво на изпълнение. Можете също така да превключвате между нива на управление - например има ниво на управление, предназначено за операции по възстановяване и поддръжка.

Традиционно Linux използва скриптове за инициали на System V - докато новите системи за инициалите в крайна сметка ще излязат от традиционните нива на изпълнение, те все още не са. Например системата Upstart на Ubuntu все още използва традиционните скриптове в стил System V.

Какво е Runlevel?

Когато системата на Linux зарежда, тя стартира в него процеси. init е отговорен за стартирането на другите процеси в системата. Например, когато стартирате компютъра си с Linux, ядрото стартира init и init изпълнява стартовите скриптове, за да инициализира вашия хардуер, да създаде мрежа и да стартира вашия графичен работен плот.

Въпреки това, не съществува само един набор от стартиращи скриптове, които се изпълняват. Има няколко нива на изпълнение с техните собствени стартови скриптове - например, едно ниво на изпълнение може да доведе до работа в мрежа и да стартира графичния десктоп, докато друг ниво на изпълнение може да остави мрежата деактивирана и да пропусне графичния десктоп. Това означава, че можете да излезете от "графичен режим на работния плот" на "режим на текстова конзола без работа в мрежа" с една команда, без ръчно стартиране и спиране на различни услуги.

По-конкретно, init изпълнява скриптове, разположени в конкретна директория, която съответства на ниво на изпълнение. Например, когато въведете ниво 3 на Ubuntu, init изпълнява скриптовете, намиращи се в директорията /etc/rc3.d.

Поне така работим с традиционната система System V init - Linux дистрибуциите започват да заменят старата система System V init. Докато Ubuntu's Upstart в момента поддържа съвместимост със скриптовете SysV init, това вероятно ще се промени в бъдеще.
Поне така работим с традиционната система System V init - Linux дистрибуциите започват да заменят старата система System V init. Докато Ubuntu's Upstart в момента поддържа съвместимост със скриптовете SysV init, това вероятно ще се промени в бъдеще.

Районните нива

Някои нива на изпълнение са стандартни между разпределенията на Linux, докато някои нива на изпълнение варират от разпределение до разпространение.

Следните стандартни нива са стандартни:

  • 0 – спиране (Изключва системата.)
  • 1 – Режим за един потребител (Системата се зарежда в режим на суперпотребител, без да се стартира демон или мрежа. Идеален за зареждане в среда за възстановяване или диагностика.)
  • 6 – Рестарт

Настройките 2-5 варират в зависимост от разпределението. Например, на Ubuntu и Debian, runlevels 2-5 са едни и същи и предоставят пълен мулти-потребителски режим с мрежови и графични данни за вход. На Fedora и Red Hat, runlevel 2 осигурява режим за много потребители без работа в мрежа (само за вход в конзолата), ниво на изпълнение 3 осигурява мулти-потребителски режим с мрежа (само за вход в конзолата), ниво на изпълнение 4 не се използва и ниво на изпълнение 5 осигурява режим за много потребители мрежово и графично влизане.

Преминаване към различно ниво на изпълнение

За да превключите на различно ниво на изпълнение, докато системата вече работи, използвайте следната команда:

sudo telinit #

Заменете # с номера на нивото, на което искате да превключите. Изключете sudo и изпълнете командата като root, ако използвате дистрибуция, която не използва sudo.

Image
Image

Зареждане директно до конкретно ниво на изпълнение

Можете да изберете ниво на изпълнение, за да заредите от зареждащото устройство - Grub, например. В началото на процеса на зареждане натиснете клавиш, за да влезете в Grub, изберете записа за зареждане и натиснете e, за да го редактирате.

Image
Image

Можете да добавите единичен до края на Linux за да влезете в ниво на изпълнение на един потребител (ниво на изпълнение 1). (Натиснете Ctrl + x, за да стартирате.) Това е същото като опцията за възстановяване на режима в Grub.

Image
Image

Традиционно бихте могли да зададете номер като параметър на ядрото и бихте заредили на това ниво - например, като използвате 3 вместо единичен за да стартирате до ниво на изпълнение 3. Въпреки това, това не изглежда да работи по най-новите версии на Ubuntu - Upstart изглежда не го позволява. По подобен начин, как ще промените стандартното ниво на изпълнение, ще зависи от разпределението ви.

Докато демонът на Ubuntu's Upstart все още емулира системата SystemV init, голяма част от тази информация ще се промени в бъдеще. Например "Upstart" е базиран на събития - може да спре и да стартира услуги, когато възникнат събития (например, услугата може да започне, когато хардуерно устройство е свързано към системата и да спре, когато устройството бъде премахнато.) Fedora също има собствен наследник до начало, системно.

Препоръчано: