Početna » kako da » Što su “Runlevels” na Linuxu?

    Što su “Runlevels” na Linuxu?

    Kada se sustav Linux pokrene, unosi svoj zadani runlevel i pokreće skripte za pokretanje povezane s tim runlevelom. Također možete prebacivati ​​između runlevel-ova - na primjer, postoji runlevel dizajniran za operacije oporavka i održavanja.

    Tradicionalno, Linux je koristio init skripte u stilu System V - dok će novi init sustavi vremenom zastarjeti tradicionalnim runlevel-ovima, ali još nisu. Na primjer, Ubuntuov Upstart sustav i dalje koristi tradicionalne System V skripte.

    Što je Runlevel?

    Kada se sustav Linux pokrene, pokreće ga u tome procesi. init je odgovoran za pokretanje ostalih procesa u sustavu. Na primjer, kada pokrenete vaše Linux računalo, kernel počinje init, a init izvršava skripte za pokretanje kako bi inicijalizirao vaš hardver, doveo do umrežavanja, pokrenuo vašu grafičku radnu površinu..

    Međutim, ne postoji samo jedan skup pokretačkih skripti. Postoji više razina pokretanja s vlastitim pokretačkim skriptama - na primjer, jedan runlevel može dovesti do umrežavanja i pokretanja grafičke radne površine, dok drugi runlevel može ostaviti onemogućenu mrežu i preskočiti grafičku radnu površinu. To znači da možete ispustiti iz "grafičkog načina rada radne površine" u "tekstualni način rada konzole bez umrežavanja" s jednom naredbom, bez ručnog pokretanja i zaustavljanja različitih usluga.

    Konkretnije, init pokreće skripte smještene u određenom direktoriju koji odgovara runlevelu. Na primjer, kada unesete runlevel 3 na Ubuntuu, init pokreće skripte smještene u direktoriju /etc/rc3.d.

    Barem, to je način na koji radi s tradicionalnim System V init sustavom - Linux distribucije počinju zamjenjivati ​​stari System V init sustav. Dok Ubuntu Upstart trenutno održava kompatibilnost sa SysV init skriptama, to će se vjerojatno promijeniti u budućnosti.

    Razina rada

    Neki runlevel-ovi su standardni među Linux distribucijama, dok se neki runlevel-ovi razlikuju od distribucije do distribucije.

    Sljedeći nivoi su standardni:

    • 0 - Zaustaviti (Isključuje sustav.)
    • 1 - Jedan korisnički način (Sustav se pokreće u načinu rada superkorisnika bez pokretanja demona ili umrežavanja. Idealno za pokretanje sustava za oporavak ili dijagnostiku.)
    • 6 - Ponovno podizanje sustava

    Ravni 2-5 variraju ovisno o distribuciji. Na primjer, na Ubuntuu i Debianu, runlevels 2-5 su isti i pružaju potpuni višekorisnički način rada s umrežavanjem i grafičkom prijavom. Na Fedori i Red Hatu, runlevel 2 osigurava višekorisnički način rada bez umrežavanja (samo za prijavu na konzolu), runlevel 3 osigurava višekorisnički način rada s mrežom (samo za prijavu na konzolu), runlevel 4 je neiskorišten, a runlevel 5 omogućuje višekorisnički način rada umrežavanje i grafičko prijavljivanje.

    Prebacivanje na drugu razinu pogona

    Da biste se prebacili na drugi runlevel dok je sustav već pokrenut, koristite sljedeću naredbu:

    sudo telinit #

    Zamijenite # brojem na kojem se želite prebaciti. Izostavite sudo i pokrenite naredbu kao root ako imate distribuciju koja ne koristi sudo.

    Dizanje izravno na određeni runlevel

    Možete odabrati runlevel za dizanje s boot loader - Grub, na primjer. Na početku postupka podizanja pritisnite tipku da biste pristupili grubu, odaberite unos za pokretanje i pritisnite e da biste ga uredili.

    Možete dodati singl do kraja Linux za unos jednog korisnika runlevel (runlevel 1). (Za pokretanje sustava pritisnite Ctrl + x.) Ovo je isto što i opcija oporavka u Grub.

    Tradicionalno, možete navesti broj kao parametar kernela i pokrenuti se s tog runlevela - na primjer, pomoću 3 umjesto singl da se pokrene na runlevel 3. Međutim, čini se da to ne radi na najnovijim verzijama Ubuntua - čini se da to ne dopušta Upstart. Slično tome, način na koji mijenjate zadani runlevel ovisit će o vašoj distribuciji.


    Dok Ubuntuov Upstart demon još uvijek emulira SystemV init sustav, veći dio tih informacija će se promijeniti u budućnosti. Na primjer, Upstart je zasnovan na događajima - može zaustaviti i pokrenuti usluge kada se dogode događaji (na primjer, usluga može početi kada je hardverski uređaj povezan s sustavom i zaustavlja se kada se uređaj ukloni.) Fedora također ima svog nasljednika init, systemd.