6Jul

Mitkä ovat "Runlevels" Linuxissa?

click fraud protection

Kun Linux-järjestelmä käynnistyy, se siirtyy oletusarvoiseen runleveliin ja ajaa käynnistyskomentot, jotka liittyvät tähän runleveliin. Voit myös vaihtaa runleveltojen välillä - esimerkiksi palautus- ja huoltotoiminnolla suunniteltu runlevel.

Perinteisesti Linux käytti System V -tyylisiä init-skriptejä - kun taas uudet init-järjestelmät lopulta vanhentuivat perinteisiä runleveltoja, ne eivät ole vielä olleet. Esimerkiksi Ubuntun Upstart-järjestelmä käyttää yhä perinteisiä V-tyyppisiä komentosarjoja.

Mikä on Runlevel?

Kun Linux-järjestelmä käynnistyy, se käynnistää init -prosessit.init vastaa muiden prosessien käynnistämisestä järjestelmässä.Esimerkiksi kun käynnistät Linux-tietokoneesi, ytimessä alkaa init, ja init suorittaa käynnistyskomentosarjat laitteiston alustukseen, verkostoitumisen käynnistämiseen ja graafisen työpöydän käynnistämiseen.

Kuitenkin ei ole vain yksi ainoa aloituskäsikirjoitusten sarja, joka toteutetaan. Useita suoritustasoja on omilla käynnistyskomentosarjoilla. Esimerkiksi yksi runlevel saattaa tuoda verkon ja käynnistää graafisen työpöydän, kun taas toinen runlevel saattaa jättää verkkoyhteyden pois päältä ja ohittaa graafisen työpöydän. Tämä tarkoittaa, että voit pudota "graafisesta työpöytäympäristöstä" tekstikonsolityyppiin ilman verkkoyhteyttä yhdellä komennolla ilman eri palveluiden manuaalista käynnistämistä ja lopettamista.

instagram viewer

Tarkemmin sanottuna init suorittaa komentosarjat, jotka sijaitsevat tietyssä hakemistossa, joka vastaa runlevel-arvoa. Esimerkiksi kun kirjoitat runlevel 3: n Ubuntussa, init suorittaa /etc/ rc3.d-hakemistossa olevat komentosarjat.

Ainakin tämä toimii perinteisen System V init -järjestelmän kanssa - Linux-jakelut alkavat korvata vanhan System V init -järjestelmän. Vaikka Ubuntu Upstart ylläpitää tällä hetkellä yhteensopivuutta SysV init -komentojen kanssa, tämä muuttuu todennäköisesti tulevaisuudessa.

Runlevels

Jotkin runlevelit ovat tavallisia Linux-jakelujen välillä, kun taas jotkut runlevelit vaihtelevat jakelusta jakeluun.

Seuraavat runlevelit ovat standardia:

  • 0 - Pysäytä ( Sammuta järjestelmä)
  • 1 - Yksittäiskäyttäjä ( Järjestelmä käynnistyy superautotilaan ilman käynnistyksiä tai verkottumista.) Ihanteellinen käynnistyksen tai diagnoosiympäristön käynnistämiseen.)
  • 6 - Käynnistä

Runlevels 2-5 vaihtelee jakelun mukaan. Esimerkiksi Ubuntu ja Debian, runlevels 2-5 ovat samat ja tarjoavat täyden monikäyttäjätilan, jossa verkot ja graafinen sisäänkirjautuminen. Runlevel 2 tarjoaa monen käyttäjän tilan ilman verkottumista( vain konsolin sisäänkirjautuminen), runlevel 3 tarjoaa monikäyttäjätilan, jossa on verkkoyhteys( vain konsolin kirjautuminen), runlevel 4 ei ole käytössä ja runlevel 5 tarjoaa monikäyttäjätilanverkostoituminen ja graafinen sisäänkirjautuminen.

Siirtyminen eri suoritustasolle

Jos haluat siirtyä eri runlevel-järjestelmään, kun järjestelmä on jo käynnissä, käytä seuraavaa komentoa:

sudo telinit #

Vaihda # runlevelin numerolla, jonka haluat vaihtaa. Poista sudo ja suorita komento rootiksi, jos suoritat jakelua, joka ei käytä sudoa.

Käynnistäminen suoraan tiettyyn suoritustasoon

Voit valita käynnistyslatauksen boot-latauslaitteesta - esimerkiksi Grubista. Käynnistysprosessin alussa paina näppäintä, kun haluat käyttää Grubia, valitse käynnistysluettelo ja muokkaa sitä painamalla e.

Voit lisätä yhden : n linux -rivin loppuun yksittäisen käyttäjän runlevelin( runlevel 1) syöttämiseen.(Paina Ctrl + x käynnistääksesi sen jälkeen.) Tämä on sama kuin Grubin talteenottotila.

Perinteisesti voit määrittää numeron ytimen parametriksi ja käynnistää sen runlevel - esimerkiksi käyttämällä 3 : tä : n yksittäisen : n sijaan käynnistääksesi runlevel 3: n. Tämä ei kuitenkaan näytä toimivan uusimmissa versioissaUbuntu - Upstart ei näytä hyväksyvän sitä.Samoin, miten oletusarvoinen suoritusaika muutetaan, riippuu jakelusta.

Vaikka Ubuntun Upstart-diemoni edelleen jäljittelee SystemV init -järjestelmää, suuri osa näistä tiedoista muuttuu tulevaisuudessa. Esimerkiksi Upstart on tapahtumapohjainen - se voi pysäyttää ja käynnistää palveluita tapahtumien sattuessa( esimerkiksi palvelu voi alkaa, kun laitteisto on liitetty järjestelmään ja pysähtyy, kun laite poistetaan.) Fedoralla on myös oma seuraajainit, systemd.