Hva er "Runlevels" på Linux?

Innholdsfortegnelse:

Hva er "Runlevels" på Linux?
Hva er "Runlevels" på Linux?

Video: Hva er "Runlevels" på Linux?

Video: Hva er
Video: HVORFOR, HVORDAN og NÅR skal du bruke CLAY ved bilvask - YouTube 2024, April
Anonim
Når et Linux-system starter, går det inn i standard runlevel og kjører oppstartskriptene knyttet til det runlevel. Du kan også bytte mellom runleveller - for eksempel er det et runlevel designet for gjenoppretting og vedlikehold.
Når et Linux-system starter, går det inn i standard runlevel og kjører oppstartskriptene knyttet til det runlevel. Du kan også bytte mellom runleveller - for eksempel er det et runlevel designet for gjenoppretting og vedlikehold.

Tradisjonelt brukte Linux System V-stil init-skript - mens nye init-systemer til slutt vil forfalle tradisjonelle runleveller, har de ennå ikke. Ubuntu's Upstart-system bruker for eksempel tradisjonelle systemv-stilskript.

Hva er en Runlevel?

Når et Linux-system starter, lanserer det i det prosesser. init er ansvarlig for å lansere de andre prosessene på systemet. Når du for eksempel starter din Linux-datamaskin, starter kjernen init, og init kjører oppstartskriptene for å initialisere maskinvaren, opprette nettverk, starte det grafiske skrivebordet.

Det er imidlertid ikke bare et enkelt sett oppstartskript init utfører. Det er flere løpnivåer med egne oppstartsskript - for eksempel kan ett runlevel opprette nettverk og starte det grafiske skrivebordet, mens et annet runlevel kan la nettverk være deaktivert og hoppe over det grafiske skrivebordet. Dette betyr at du kan slippe fra "grafisk skrivebordsmodus" til "tekstkonsollmodus uten nettverk" med en enkelt kommando, uten å starte og stoppe forskjellige tjenester manuelt.

Mer spesifikt kjører init skriptene i en bestemt katalog som tilsvarer runlevel. For eksempel, når du går inn i runlevel 3 på Ubuntu, kjører init skriptene i /etc/rc3.d katalogen.

I hvert fall, slik fungerer det med et tradisjonelt System V init-system - Linux-distribusjoner begynner å erstatte det gamle System V init-systemet. Mens Ubuntus Upstart for tiden opprettholder kompatibilitet med SysV init-skript, vil dette trolig endres i fremtiden.
I hvert fall, slik fungerer det med et tradisjonelt System V init-system - Linux-distribusjoner begynner å erstatte det gamle System V init-systemet. Mens Ubuntus Upstart for tiden opprettholder kompatibilitet med SysV init-skript, vil dette trolig endres i fremtiden.

The Runlevels

Noen runleveller er standard mellom Linux-distribusjoner, mens enkelte runleveler varierer fra distribusjon til distribusjon.

Følgende runleveler er standard:

  • 0 – Halt (Slår av systemet.)
  • 1 – Enkel brukermodus (Systemet starter i superbrukermodus uten å starte daemoner eller nettverk. Ideelt for oppstart i et gjenopprettings- eller diagnostikkmiljø.)
  • 6 – Reboot

Runlevels 2-5 varierer avhengig av distribusjon. For eksempel, på Ubuntu og Debian er runde 2-5 de samme og gir en full multifunksjonsmodus med nettverk og grafisk innlogging. På Fedora og Red Hat, tilbyr runlevel 2 multifunksjonsmodus uten nettverk (kun konsolllogging), runlevel 3 gir flerbrukermodus med nettverk (kun konsolllogging), runlevel 4 er ubrukt og runlevel 5 gir flerbrukermodus med nettverk og grafisk innlogging.

Bytter til en annen runlevel

For å bytte til et annet runlevel mens systemet allerede kjører, bruk følgende kommando:

sudo telinit #

Erstatt # med nummeret på runlevelet du vil bytte til. Omit sudo og kjør kommandoen som root hvis du kjører en distribusjon som ikke bruker sudo.

Image
Image

Oppstart direkte til et bestemt Runlevel

Du kan velge et runlevel for å starte opp fra boot loader - Grub, for eksempel. Ved starten av oppstartsprosessen, trykk på en tast for å få tilgang til Grub, velg oppstartsoppføringen, og trykk på e for å redigere den.

Image
Image

Du kan legge til enkelt til slutten av linux linje for å gå inn i single-user runlevel (runlevel 1). (Trykk Ctrl + x for å starte etter.) Dette er det samme som alternativet for gjenopprettingsmodus i Grub.

Image
Image

Tradisjonelt kan du angi et tall som en kjerneparameter, og du vil starte opp til det runlevelet - for eksempel ved hjelp av 3 i stedet for enkelt å starte opp til runlevel 3. Dette ser imidlertid ikke ut til å fungere på de nyeste versjonene av Ubuntu - Upstart ser ikke ut til å tillate det. På samme måte vil hvordan du endrer standard runlevel, avhenge av distribusjonen din.

Mens Ubuntus Upstart-demon fortsatt emulerer SystemV init-systemet, vil mye av denne informasjonen endres i fremtiden. For eksempel er Upstart event-basert - det kan stoppe og starte tjenester når hendelser oppstår (for eksempel kan en tjeneste starte når en maskinvareenhet er koblet til systemet og stopper når enheten er fjernet.) Fedora har også sin egen etterfølger til init, systemd.

Anbefalt: