Tradične Linux používal skripty init v systéme System V - zatiaľ čo nové initové systémy nakoniec zastarali tradičné runlevely, ale zatiaľ neboli. Napríklad systém Ubuntu Upstart stále používa tradičné skripty v systéme V.
Čo je to Runlevel?
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 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.
Runlevels
Niektoré runlevely sú štandardné medzi distribúciami Linuxu, zatiaľ čo niektoré úrovne runlevel sa líšia od distribúcie po distribúciu.
Nasledujúce úrovne behu sú štandardné:
- 0 – zastaviť (Vypnutie systému.)
- 1 – Režim jedného používateľa (Systém sa spúšťa do režimu superuser bez spustenia démonov alebo vytvárania sietí. Ideálny pre zavádzanie do obnovovacieho alebo diagnostického prostredia.)
- 6 – Reboot
Úrovne chodu 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ľov vytváranie sietí a grafické prihlasovanie.
Prechod na inú úroveň spustenia
Na prepnutie na inú úroveň spustenia, kým systém už beží, použite nasledujúci príkaz:
sudo telinit #
Nahradiť # 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.
Zavádzanie priamo na špecifickú úroveň spustenia
Môžete vybrať úroveň spustenia, ktorá sa má spustiť z zavádzacieho zariadenia - napríklad Grub. Na začiatku spúšťacieho procesu stlačte kláves 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 úrovne riadenia 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 spustiť na danú úroveň spustenia - napríklad pomocou 3 namiesto jednoposteľová na spustenie na úrovni spustenia 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 sa zastaviť a spustiť služby, keď nastane udalosť (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.