Čo sú Runlevels na Linuxe?
Keď systém Linux spustí, zadá svoju predvolenú úroveň spustenia a spustí spúšťacie skripty spojené s touto úrovňou úloh. Môžete tiež prepínať medzi úrovňami spustenia - napríklad existuje ú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, ale ešte neboli. Napríklad, systém Ubuntu Upstart stále používa tradičné skripty v systéme V.
Čo je úroveň spustenia?
Keď systém Linux zavádza, spustí init procesy. 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 siete, spustenie grafickej plochy.
Neexistuje však iba jedna sada spustených skriptov init. Existujú viaceré úrovne 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. Znamená to, že môžete prepadnúť 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. Ak napríklad zadáte úroveň Ubuntu na úrovni 3, init spustí skripty umiestnené v adresári /etc/rc3.d.
Prinajmenšom funguje to 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 skripty SysV init, pravdepodobne sa to v budúcnosti zmení.
Riadiace úrovne
Niektoré runlevely sú štandardné medzi distribúciami Linuxu, zatiaľ čo niektoré runlevely sa líšia od distribúcie po distribúciu.
Nasledujúce runlevels sú štandardné:
- 0 - zastaviť (Vypnutie systému.)
- 1 - Režim jedného používateľa (Systém sa zavádza do režimu superuser bez spustenia démonov alebo vytvárania sietí. Ideálny pre zavedenie do prostredia na obnovu alebo diagnostiku.)
- 6 - Reboot
Riadiace úrovne 2-5 sa líšia v závislosti od distribúcie. Napríklad v Ubuntu a Debian, runlevels 2-5 sú rovnaké a poskytujú plný multiuživatelský mód so sieťami a grafickým prihlásením. V prípade Fedora a Red Hat poskytuje runlevel 2 režim pre 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), úroveň spustenia 4 je nepoužívaná a úroveň chodu 5 poskytuje režim viacerých používateľov vytváranie sietí a grafické prihlasovanie.
Prechod na inú úroveň spustenia
Prepnutie na inú úroveň spustenia, kým systém už beží, použite nasledujúci príkaz:
sudo telinit #
Nahraďte číslo # s číslom úrovne, na ktorú chcete prejsť. Vynechajte sudo a spustite príkaz ako root, ak používate distribúciu, ktorá nepoužíva sudo.
Zavádzanie priamo na konkrétnu úroveň spustenia
Môžete vybrať úroveň spustenia, ktorá sa má zavádzať z zavádzacieho systému - napríklad Grub. Na začiatku spúšťacieho procesu stlačte kláves pre prístup k Grub, vyberte spúšťací záznam a stlačením e ho upravte.
Môžete pridať jednoposteľová do konca roka linux line pre vstup do jednej úrovne spustenia pre jedného používateľa (úroveň 1). (Stlačte Ctrl + x na zavedenie po.) Toto je rovnaké ako v režime 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 jednoposteľová na zavedenie do úrovne runlevel 3. Zdá sa však, že to nefunguje na najnovších verziách Ubuntu - zdá sa, že to nie je možné. Podobne, ako zmeniť predvolenú úroveň spustenia, bude závisieť od vašej distribúcie.
Kým démon Upstart 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 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ástupca na init, systemd.