6Jul
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.