6Jul

Čo sú to "Runlevels" na Linuxe?

Keď systém Linux spustí, vstúpi do svojej predvolenej úrovne spustenia a spustí spúšťacie skripty spojené s touto úrovňou spustenia. Môžete tiež prepínať medzi úrovňami spustenia - napríklad je to úroveň spustenia určená pre operácie obnovy a údržby.

Tradične používa Linux init skripty v štýle System V - zatiaľ čo nové initové systémy nakoniec zastarali tradičné runlevely, ktoré ešte neboli. Napríklad systém Ubuntu Upstart stále používa tradičné skripty v systéme V.

Čo je to Runlevel?

Pri zavádzaní systému Linux spúšťa procesy init .init je zodpovedný za spustenie ďalších procesov v systéme. Napríklad, keď spustíte počítač s operačným systémom Linux, jadro začne init a init vykoná spúšťacie skripty na inicializáciu hardvéru, vyvolanie sieťovania a spustenie grafickej plochy.

Neexistuje však iba jedna sada spustených skriptov init. Existuje niekoľko úrovní spustenia so svojimi vlastnými spúšťacími skripty - napríklad jedna úroveň spustenia môže priniesť sieť a spustiť grafickú plochu, zatiaľ čo iný runlevel môže nechať sieť zakázané a preskočiť grafickú plochu. To znamená, že môžete prepnúť z "grafického desktopového režimu" na "textový konzolový režim bez vytvárania sietí" s jedným príkazom bez ručného spustenia a zastavenia rôznych služieb.

Konkrétnejšie, init spúšťa skripty umiestnené v konkrétnom adresári, ktoré zodpovedajú úrovni spustenia. Napríklad, keď zadáte úroveň 3 na Ubuntu, init spustí skripty umiestnené v adresári /etc/ rc3.d.

Aspoň to funguje s tradičným systémom System V init - Linuxové distribúcie začínajú nahradiť starý systém System V init. Zatiaľ čo Ubuntu's Upstart v súčasnosti zachováva kompatibilitu so skriptami SysV init, pravdepodobne sa to v budúcnosti zmení.

Runlevels

Niektoré runlevely sú štandardné medzi distribuciami Linuxu, zatiaľ čo niektoré runlevely sa líšia od distribúcie až po distribúciu.

Nasledujúce bežecké úrovne sú štandardné:

  • 0 - zastavenie
  • 1 -
  • Jednoduchý režim ( systém sa spúšťa do superuserového režimu bez spustenia démonov alebo vytvárania sietí.) Ideálne pre zavedenie do prostredia na obnovu alebo diagnostiku.)
  • 6 - Reštart

Rozjazdové úrovne 2-5 sa líšia v závislosti od distribúcie. Napríklad na Ubuntu a Debian, runlevels 2-5 sú rovnaké a poskytujú plný multiuživatelský režim so sieťami a grafickým prihlásením. Vo Fedore a Red Hat je runlevel 2 režimom viacerých používateľov bez sieťového pripojenia( len prihlásenie do konzoly), runlevel 3 poskytuje režim viacerých používateľov so sieťami( len prihlásenie do konzoly), runlevel 4 je nepoužívaný a runlevel 5 poskytuje režim viacerých používateľovvytváranie sietí a grafické prihlasovanie.

Prechod na inú úroveň spustenia

Prepnutie na inú úroveň spustenia, kým systém už beží, použite nasledovný príkaz:

sudo telinit #

Nahraďte # s číslom úrovne spustenia, na ktorú chcete prepnúť.Vynechajte sudo a spustite príkaz ako root, ak používate distribúciu, ktorá nepoužíva sudo.

Nasadenie priamo na špecifickú úroveň spustenia

Môžete si vybrať úroveň spustenia, ktorá sa má spustiť z načítavacieho systému - napríklad Grub. Na začiatku spúšťacieho procesu stlačte kláves Grub, vyberte bootovací záznam a stlačením e ho upravte.

môžete pridať na koniec linky linuxovej , aby ste vstúpili do úrovne runlevel pre jedného používateľa( úroveň 1).(Stlačte klávesy Ctrl + x na zavedenie po.) Toto je rovnaké ako voľba režimu obnovenia v Grub.

Tradične by ste mohli určiť číslo ako parameter jadra a spustili by ste na danú úroveň spustenia - napríklad pomocou 3 namiesto jediného na zavedenie do runlevel 3. Zdá sa však, že to nefunguje na najnovších verziáchUbuntu - Upstart to zrejme neumožňuje. Podobne, ako zmeniť predvolenú úroveň spustenia, bude závisieť od vašej distribúcie.

Zatiaľ čo démon Upstart od Ubuntu stále emuluje systém SystemV init, veľa z týchto informácií sa v budúcnosti zmení.Napríklad služba Upstart je založená na udalostiach - môže sa zastaviť a spustiť služby, keď sa vyskytnú udalosti( napríklad služba sa môže spustiť, keď je hardvérové ​​zariadenie pripojené k systému a zastaví sa po odstránení zariadenia.) Fedora má tiež vlastný nástupcana init, systemd.