6Jul

Ce sunt "Runlevels" pe Linux?

click fraud protection

Când un sistem Linux se învârte, acesta intră în nivelul de execuție implicit și rulează scripturile de pornire asociate acelei runlevel. De asemenea, puteți comuta între nivelurile de execuție - de exemplu, există un nivel de execuție proiectat pentru operațiunile de recuperare și întreținere.

În mod tradițional, Linux folosea scripturi init de sistem V - în timp ce noile sisteme init vor depăși în cele din urmă rundele tradiționale, acestea nu au fost încă.De exemplu, sistemul Upstart al Ubuntu utilizează în continuare scripturi tradiționale în stilul sistemului V.

Ce este un nivel de execuție?

Când un sistem Linux se încarcă, lansează procesele init .init este responsabil pentru lansarea celorlalte procese din sistem. De exemplu, atunci când porniți computerul Linux, kernelul pornește init și init execută scripturile de pornire pentru a inițializa hardware-ul, pentru a aduce în rețea, pentru a porni desktopul grafic.

Cu toate acestea, nu există doar un singur set de script-uri de pornire executate init. Există mai multe nivele de rulare cu propriile scripturi de pornire - de exemplu, un nivel de execuție poate aduce rețele și poate lansa spațiul grafic, în timp ce un alt nivel de execuție poate lăsa rețelele dezactivate și poate sări peste desktopul grafic. Aceasta înseamnă că puteți să scăpați de la "modul grafic desktop" la "modul de consolă text fără rețea" cu o singură comandă, fără a porni manual și a opri diferite servicii.

instagram viewer

Mai exact, init execută scripturile situate într-un director specific care corespunde nivelului de execuție. De exemplu, atunci când intri pe runlevel 3 pe Ubuntu, init rulează scripturile din directorul /etc/ rc3.d.

Cel puțin, așa funcționează sistemul tradițional System V init - distribuțiile Linux încep să înlocuiască vechiul sistem System V init.În timp ce Ubuntu's Upstart păstrează în prezent compatibilitatea cu scripturile init SysV, este posibil ca aceasta să se schimbe în viitor.

Runlevels

Unele runlevels sunt standard între distribuțiile Linux, în timp ce unele runlevels variază de la distribuție la distribuție.

Următoarele runlevels sunt standard:

  • 0 - Oprire ( oprește sistemul.)
  • 1 - Modul unic de utilizator ( Sistemul se încadrează în modul superuser fără a porni daemoane sau rețele.) Ideal pentru bootarea într-un mediu de recuperare sau diagnosticare.)
  • 6 - Reportare

Nivelurile de execuție 2-5 variază în funcție de distribuție. De exemplu, pe Ubuntu și Debian, runlelele 2-5 sunt aceleași și oferă un mod multiplu cu utilizatori în rețea și conectare grafică.În cazul Fedora și Red Hat, runlevel 2 oferă un mod de utilizare multiplu fără rețea( consola numai pentru conectare), runlevel 3 oferă moduri multi-utilizator cu rețea( consola numai login), runlevel 4 este neutilizată și runlevel 5 oferă modul multi-user cucrearea de rețele și conectarea grafică.

Trecerea la un alt nivel de execuție

Pentru a comuta la un alt nivel de execuție în timp ce sistemul este deja rulat, utilizați următoarea comandă:

sudo telinit #

Înlocuiți # cu numărul runlevelului la care doriți să comutați. Omiteți sudo și executați comanda ca root dacă executați o distribuție care nu utilizează sudo.

Începerea directă la un nivel specific de rulare

Puteți selecta un nivel de execuție pentru a porni din încărcătorul de încărcare - Grub, de exemplu. La începutul procesului de încărcare, apăsați o tastă pentru a accesa Grub, selectați intrarea de boot și apăsați e pentru ao edita.

Puteți adăuga singur la sfârșitul liniei linux pentru a intra în nivelul de execuție pentru un singur utilizator( nivelul de execuție 1).(Apăsați Ctrl + x pentru a porni după.) Aceasta este aceeași cu opțiunea de recuperare din Grub.

În mod tradițional, ați putea specifica un număr ca parametru de kernel și ați porni la acel nivel de execuție - de exemplu, folosind 3 în loc de singur pentru a porni la nivelul runlevel 3. Cu toate acestea, acest lucru nu pare să funcționeze la cele mai recente versiunidin Ubuntu - Upstart nu pare să permită acest lucru.În mod similar, modul în care modificați nivelul de execuție implicit va depinde de distribuția dvs.

În timp ce daemonul Upstart de la Ubuntu încă emite sistemul SystemV init, o mare parte din aceste informații se vor schimba în viitor. De exemplu, Upstart se bazează pe evenimente - se poate opri și poate porni serviciile atunci când apar evenimente( de exemplu, un serviciu ar putea să înceapă atunci când un dispozitiv hardware este conectat la sistem și oprește când dispozitivul este eliminat.) Fedora are, de asemenea, propriul succesorla init, sistem.