Hjemmeside » hvordan » Hvad er Runlevels på Linux?

    Hvad er Runlevels på Linux?

    Når et Linux-system starter, går det ind i dets standard runlevel og kører startskripterne forbundet med det pågældende runlevel. Du kan også skifte mellem runleveller - for eksempel er der et runlevel designet til opsving og vedligeholdelsesoperationer.

    Traditionelt anvendte Linux System V-style init-scripts - mens nye init-systemer til sidst vil forældede traditionelle runder, har de endnu ikke. For eksempel bruger Ubuntus Upstart-system stadig traditionelle systemv-stilskripter.

    Hvad er et Runlevel?

    Når et Linux-system starter, lancerer det det i det processer. init er ansvarlig for at lancere de øvrige processer på systemet. Når du starter din Linux-computer, starter kernen f.eks. Init, og init udfører startskripterne for at initialisere din hardware, oprette netværk, starte dit grafiske skrivebord.

    Der er dog ikke kun et enkelt sæt opstartsskripter init udført. Der er flere runde niveauer med deres egne opstartsskripter - for eksempel kan et runlevel oprette netværk og starte det grafiske skrivebord, mens et andet runlevel kan lade netværk være deaktiveret og springe over det grafiske skrivebord. Det betyder, at du kan slippe fra "grafisk desktop-tilstand" til "tekstkonsol-tilstand uden netværk" med en enkelt kommando uden manuelt at starte og stoppe forskellige tjenester.

    Mere specifikt kører init scriptsne i en bestemt mappe, der svarer til runlen. For eksempel, når du indtaster runlevel 3 på Ubuntu, kører init scriptsne i /etc/rc3.d mappen.

    I det mindste er det sådan, det virker med et traditionelt System V init-system - Linux-distributioner begynder at erstatte det gamle System V init-system. Mens Ubuntu's Upstart for tiden opretholder kompatibilitet med SysV init scripts, vil dette sandsynligvis ændre sig i fremtiden.

    The Runlevels

    Nogle runleveller er standard mellem Linux-distributioner, mens nogle runleveller varierer fra distribution til distribution.

    Følgende runder er standard:

    • 0 - Halt (Lukker systemet ned.)
    • 1 - Single User Mode (Systemet starter i superbrugertilstand uden at starte daemoner eller netværk. Ideelt til opstart i et genoprettelses- eller diagnostikmiljø.)
    • 6 - reboot

    Runlevels 2-5 varierer afhængigt af fordelingen. For eksempel er runde 2-5 på Ubuntu og Debian det samme og giver en fuld multi-user-tilstand med netværk og grafisk login. På Fedora og Red Hat giver runlevel 2 multi-user mode uden netværk (kun konsol login), runlevel 3 giver multi-user mode med netværk (kun konsol login), runlevel 4 er ubrugt, og runlevel 5 giver multi-user mode med netværk og grafisk login.

    Skift til et andet runlevel

    For at skifte til et andet runde, mens systemet allerede kører, skal du bruge følgende kommando:

    sudo telinit #

    Erstat # med nummeret på det runlevel, du vil skifte til. Omit sudo og kør kommandoen som root, hvis du kører en distribution, der ikke bruger sudo.

    Opstart direkte til et bestemt Runlevel

    Du kan vælge et runlevel for at starte op fra bootloaderen - Grub, for eksempel. Ved starten af ​​opstartsprocessen skal du trykke på en tast for at få adgang til Grub, vælge din opstartspost og trykke på e for at redigere den.

    Du kan tilføje enkelt til slutningen af linux linje for at komme ind i single-user runlevel (runlevel 1). (Tryk på Ctrl + x for at starte efter.) Dette er det samme som opsætningsmodus i Grub.

    Traditionelt kan du angive et tal som en kernelparameter, og du vil starte til det pågældende runlevel - for eksempel ved at bruge 3 i stedet for enkelt at starte til runlevel 3. Dette ser imidlertid ikke ud til at virke på de nyeste versioner af Ubuntu - Upstart synes ikke at tillade det. På samme måde afhænger det af din distribution, hvordan du ændrer standard runlevel.


    Mens Ubuntus Upstart-dæmon stadig emulerer SystemV init-systemet, vil mange af disse oplysninger ændre sig i fremtiden. Upstart er for eksempel begivenhedsbaseret - det kan stoppe og starte tjenester, når der opstår hændelser (for eksempel kan en tjeneste starte, når en hardwareenhed er tilsluttet systemet og stoppe, når enheden fjernes.) Fedora har også sin egen efterfølger til init, systemd.