6Jul
Når et Linux-system støtter, går det inn i standard runlevel og kjører oppstartsskriptene 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 støtter, lanserer det init prosessene.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 med oppstartskript init utført. 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.
Runlevels
Noen runder er standard mellom Linux-distribusjoner, mens enkelte runleveler varierer fra distribusjon til distribusjon.
Følgende runder er standard:
- 0 - Halt ( Slår av systemet.)
- 1 - Enkel brukermodus ( Systemet starter opp 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 mednettverk og grafisk innlogging.
Bytte til et annet runlevel
Hvis du vil bytte til et annet runlevel mens systemet allerede kjører, bruker du 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.
Oppstart direkte til et bestemt kjøreflate
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.
Du kan legge til single til slutten av Linux -linjen 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.
Tradisjonelt kan du angi et tall som en kjerneparameter, og du vil starte opp på det runlevelet - for eksempel ved å bruke 3 i stedet for single for å starte opp til runlevel 3. Dette ser imidlertid ikke ut til å fungere på de nyeste versjoneneav 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ølgertil init, systemd.