6Jul

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 genopretning og vedligeholdelsesoperationer.

Traditionelt brugte Linux System V-style init-scripts - mens nye init-systemer til sidst vil forældede traditionelle runder, har de endnu ikke. For eksempel bruger Ubuntu's Upstart-system stadig traditionelle System V-stil scripts.

Hvad er et Runlevel?

Når et Linux-system starter, starter det init -processerne.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 opstartsskript init udført. Der er flere runde niveauer med deres egne opstartsskripter - for eksempel kan et runlevel bringe netværk op 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 runlevel. For eksempel, når du indtaster runlevel 3 på Ubuntu, kører init scriptsne i /etc/ rc3.d-mappen.

Det er i det mindste 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 det sandsynligvis ændre sig i fremtiden.

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.)
  • 1 - Enkelt brugertilstand ( Systemet starter i superbrugerstilstand uden at starte daemoner eller netværk. Ideelt til opstart i et genoprettelses- eller diagnostikmiljø.)
  • 6 - Reboot

Runlevels 2-5 varierer afhængigt af distribution. For eksempel er runde 2-5 på Ubuntu og Debian det samme og giver en fuld multi-bruger tilstand med netværk og grafisk login. På Fedora og Red Hat leverer 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 mednetværk og grafisk login.

Skift til et andet runlevel

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

sudo telinit #

Udskift # 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.

Booting direkte til et bestemt rundevel

Du kan vælge et runlevel for at starte op fra bootloaderen - Grub, for eksempel. I 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 single 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ætningsindstillingen 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 single til at starte til runlevel 3. Dette ser imidlertid ikke ud til at virke på de nyeste versioneraf Ubuntu - Upstart ser ikke ud til 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ølgertil init, systemd.