/ / Vad är "Runlevels" på Linux?

Vad är "Runlevels" på Linux?

bild

När ett Linux-system startar, anger det sitt standardrunlevel och kör startskript som är associerade med det runlevel. Du kan också växla mellan körningsnivåer - till exempel finns det en nivå som är utformad för återställnings- och underhållsoperationer.

Traditionellt använde Linux System V-stil initskript - medan nya init-system så småningom föråter traditionella körnivåer, har de ännu inte gjort det. Till exempel använder Ubuntu Upstart-system fortfarande traditionella system V-stilskript.

Vad är en runlevel?

När ett Linux-system startar startar det i det processer. init ansvarar för att starta andra processer i systemet. När du till exempel startar din Linux-dator startar kärnan init, och init kör startskript för att initialisera din hårdvara, starta nätverk, starta det grafiska skrivbordet.

Det finns dock inte bara en enda uppsättningstartskript init körs. Det finns flera körnivåer med sina egna startskript - till exempel kan ett körningsnivå få upp nätverk och starta det grafiska skrivbordet, medan ett annat körnivå kan lämna nätverkande inaktiverat och hoppa över det grafiska skrivbordet. Detta betyder att du kan släppa från "grafiskt skrivbordsläge" till "textkonsolläge utan nätverk" med ett enda kommando, utan att manuellt startar och stoppar olika tjänster.

Mer specifikt kör init skript som finnsi en specifik katalog som motsvarar körnivån. När du till exempel startar runlevel 3 på Ubuntu kör init skript som finns i katalogen /etc/rc3.d.

bild

Åtminstone är det så det fungerar med en traditionellSystem V init-system - Linux-distributioner börjar ersätta det gamla System V init-systemet. Medan Ubuntu Upstart för närvarande bibehåller kompatibilitet med SysV-init-skript, kommer det troligen att förändras i framtiden.

Runlevels

Vissa runlevels är standard mellan Linux-distributioner, medan vissa runlevels varierar från distribution till distribution.

Följande runlevels är standard:

  • 0 - Stanna (Stänger av systemet.)
  • 1 - Enkelanvändarläge (Systemet startar upp i superanvändarläge utan att starta demoner eller nätverk. Perfekt för start i en återhämtnings- eller diagnostikmiljö.)
  • 6 - reboot

Runlevels 2-5 varierar beroende på distribution. Till exempel, på Ubuntu och Debian, körnivåer 2-5 är desamma och ger ett fullt användarläge med nätverk och grafisk inloggning. På Fedora och Red Hat ger runlevel 2 flera användarlägen utan nätverk (endast konsolinloggning), runlevel 3 tillhandahåller fleranvändarläge med nätverk (endast konsolinloggning), körnivå 4 är oanvänd och runlevel 5 ger fleranvändarläge med nätverk nätverk och grafisk inloggning.

Växla till en annan nivå

Om du vill växla till ett annat körnivå medan systemet redan körs använder du följande kommando:

sudo telinit #

Byt ut # med numret på den nivå som du vill växla till. Uteläm sudo och kör kommandot som root om du kör en distribution som inte använder sudo.

bild

Starta direkt till en specifik körnivå

Du kan välja ett körnivå som du vill starta in från startläsaren - till exempel Grub. I början av startprocessen, tryck på en knapp för att komma åt Grub, välj din startpost och tryck på e för att redigera den.

sshot-1

Du kan lägga till enda till slutet av linux rad för att ange enkelanvändarnivå (körnivå 1). (Tryck på Ctrl + x för att starta efter.) Detta är samma som alternativet återställningsläge i Grub.

bild

Traditionellt kan du ange ett nummer som en kärnparameter och du kan starta om det körnivån - till exempel med 3 istället för enda att starta till runlevel 3. Detta verkar dock inte fungera på de senaste versionerna av Ubuntu - Upstart verkar inte tillåta det. På samma sätt beror hur du ändrar standardnivån på din distribution.


Medan Ubuntu Upstart-demon fortfarande emulerarSystemV init system, mycket av denna information kommer att förändras i framtiden. Exempelvis är Upstart händelsebaserat - det kan stoppa och starta tjänster när händelser inträffar (till exempel kan en tjänst starta när en hårdvara ansluts till systemet och stoppa när enheten tas bort.) Fedora har också sin egen efterföljare to init, systemd.