Domača » kako » Kaj so “Runlevels” na Linuxu?

    Kaj so “Runlevels” na Linuxu?

    Ko se sistem Linux zažene, vnese svoj privzeti runlevel in zažene zagonske skripte, povezane z njim. Prav tako lahko preklapljate med stopnjami zagona - na primer, obstaja stopnja za načrtovanje, ki je namenjena za obnovitev in vzdrževanje.

    Linux je tradicionalno uporabljal init skripte System V, medtem ko bodo novi init sistemi sčasoma zastareli tradicionalni runlevel-i, še niso. Na primer, sistem za zagon v Ubuntuju še vedno uporablja tradicionalne skripte sistema V.

    Kaj je Runlevel?

    Ko se sistem Linux zažene, zažene v procesov. init je odgovoren za zagon drugih procesov v sistemu. Na primer, ko zaženete računalnik z Linuxom, se jedro zažene init in init izvede zagonske skripte za inicializacijo strojne opreme, vzpostavitev omrežja, zagon grafičnega namizja.

    Vendar pa ni izveden samo en niz zagonskih skriptov. Obstaja več stopenj zagona z lastnimi zagonskimi skripti - na primer, ena stopnja zagona lahko prikaže omrežje in zažene grafično namizje, medtem ko lahko druga stopnja zagona onemogoči omrežje in preskoči grafično namizje. To pomeni, da lahko z enim ukazom pustite iz »grafičnega namiznega načina« v »način besedilne konzole brez mreženja«, brez ročnega zagona in ustavljanja različnih storitev..

    Natančneje, init zažene skripte, ki se nahajajo v določenem imeniku, ki ustreza ravni izvajanja. Na primer, ko vnesete runlevel 3 v Ubuntu, init zažene skripte v imeniku /etc/rc3.d.

    Vsaj tako deluje s tradicionalnim sistemom V init - distribucija Linuxa je začela zamenjati stari sistem V init sistema. Čeprav Ubuntu Upstart trenutno vzdržuje združljivost z init skripti SysV, se bo to v prihodnosti verjetno spremenilo.

    Runlevels

    Nekateri nivoji so standardni med distribucijami Linuxa, medtem ko se nekateri nivoji razlikujejo od distribucije do distribucije.

    Naslednji nivoji so standardni:

    • 0 - Stoj (Izklopi sistem.)
    • 1 - Način enega uporabnika (Sistem se zažene v načinu superuporabnika, ne da bi zagnal demone ali omrežje. Idealno za zagon v obnovitveno ali diagnostično okolje.)
    • 6 - Ponovni zagon

    Ravni 2-5 se razlikujejo glede na distribucijo. Na primer, na Ubuntu in Debian so ravni 2 do 5 enake in zagotavljajo poln večuporabniški način z omrežnim povezovanjem in grafično prijavo. V Fedori in Red Hatu runlevel 2 zagotavlja večuporabniški način brez mreženja (samo prijava konzole), runlevel 3 zagotavlja večuporabniški način z mreženjem (samo prijava konzole), runlevel 4 je neizkoriščen in runlevel 5 zagotavlja večuporabniški način mreženje in grafično prijavo.

    Preklapljanje na drugačno raven

    Če želite preklopiti na drugo raven zagona, ko je sistem že zagnan, uporabite ta ukaz:

    sudo telinit #

    Zamenjajte # s številko začetnega nivoja, na katerega želite preklopiti. Izpustite sudo in zaženite ukaz kot root, če izvajate distribucijo, ki ne uporablja sudo.

    Zagon neposredno na določen runlevel

    Iz zagonskega nalagalnika - Grub, lahko na primer izberete runlevel. Na začetku postopka zagona pritisnite tipko za dostop do Grub, izberite svoj zagonski vnos in pritisnite e, da ga uredite.

    Dodate lahko samski do konca. \ t linux vrstico za vstop v enouporabniški runlevel (runlevel 1). (Za zagon pritisnite Ctrl + x.) To je enako kot možnost obnovitvenega načina v Grub.

    Tradicionalno lahko podate številko kot parameter jedra in zaganjate se boste na ta runlevel - na primer z uporabo 3 namesto samski za zagon na runlevel 3. Vendar pa to ne deluje na najnovejših različicah Ubuntuja. Podobno, kako boste spreminjali privzeti runlevel, bo odvisno od vaše distribucije.


    Čeprav Ubuntuov zagonski demon še vedno posnema sistem SystemV init, se bo velik del teh informacij v prihodnosti spremenil. Na primer, Upstart je na osnovi dogodkov - lahko ustavi in ​​zažene storitve, ko pride do dogodkov (na primer, storitev se lahko začne, ko je strojna naprava povezana s sistemom in se ustavi, ko je naprava odstranjena.) Fedora ima tudi svojega naslednika init, systemd.