Hemsida » hur » Vad är Runlevels på Linux?

    Vad är Runlevels på Linux?

    När ett Linux-system startar, går det in i sitt standardlöpnivå och kör startskrivningsskript som är associerade med det här runlevelet. Du kan också växla mellan körlängder - till exempel, finns det ett runlevel utformat för återvinning och underhåll.

    Traditionellt använde Linux System V-style init-skript - medan nya init-system slutligen kommer att föråldras traditionella runder, har de ännu inte. Till exempel använder Ubuntus Upstart-system fortfarande traditionella systemv-skript.

    Vad är en Runlevel?

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

    Det är emellertid inte bara en enda uppsättning uppstartskript init utför. Det finns flera körnivåer med egna startskript - till exempel kan ett runlevel föra upp nätverk och starta det grafiska skrivbordet, medan ett annat runlevel kan lämna nätverksfunktionen inaktiverad och hoppa över det grafiska skrivbordet. Det betyder att du kan släppa från "grafiskt skrivbordsläge" till "textkonsolsläge utan nätverk" med ett enda kommando utan att manuellt starta och stoppa olika tjänster.

    Närmare bestämt kör init skript som finns i en specifik katalog som motsvarar runlevel. När du till exempel anger Runlevel 3 på Ubuntu kör init skript som finns i katalogen /etc/rc3.d.

    Åtminstone så fungerar det med ett traditionellt system V init-system - Linux-distributionerna börjar ersätta det gamla System V init-systemet. Medan Ubuntus Upstart för närvarande upprätthåller kompatibilitet med SysV init-skript, kommer detta sannolikt att förändras i framtiden.

    The Runlevels

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

    Följande runder är standard:

    • 0 - Stanna (Stänger av systemet.)
    • 1 - Enkelt användarläge (Systemet startar i superbrukerläge utan att starta daemoner eller nätverk. Perfekt för uppstart i en återställnings- eller diagnostikmiljö.)
    • 6 - reboot

    Runlevels 2-5 varierar beroende på fördelningen. På Ubuntu och Debian är runnlarna 2-5 desamma och ger ett fullständigt multi-användarläge med nätverk och grafisk inloggning. På Fedora och Red Hat tillhandahåller runlevel 2 flera användarlägen utan nätverk (endast konsollogg), runlevel 3 tillhandahåller fleranvändarläge med nätverk (endast konsollogg), runlevel 4 är oanvänd och runlevel 5 tillhandahåller fleranvändarläge med nätverk och grafisk inloggning.

    Växlar till ett annat Runlevel

    För att växla till ett annat körnivå medan systemet redan körs, använd följande kommando:

    sudo telinit #

    Ersätt # med numret på det runlevel du vill byta till. Omit sudo och kör kommandot som root om du kör en distribution som inte använder sudo.

    Uppstart direkt till ett specifikt runlevel

    Du kan välja ett runlevel för att starta från startlocket - Grub, till exempel. 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.

    Du kan lägga till enda till slutet av linux linje för att komma in i single-user runlevel (runlevel 1). (Tryck Ctrl + x för att starta efter.) Det här är detsamma som alternativet för återställningsläge i Grub.

    Traditionellt kan du ange ett tal som en kärnparameter, och du skulle starta upp till det här kriteriet - till exempel med 3 istället för enda för att starta till runlevel 3. Det verkar dock inte som att arbeta på de senaste versionerna av Ubuntu - Upstart verkar inte tillåta det. På samma sätt, hur du ändrar standard runlevel beror på din distribution.


    Medan Ubuntus Upstart-demon emulerar SystemV init-systemet, kommer mycket av denna information att förändras i framtiden. Upstart är till exempel 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årdvarubutik är ansluten till systemet och slutar när enheten tas bort.) Fedora har också en egen efterträdare till init, systemd.