Wat zijn “Runlevels” op Linux?

beeld

Wanneer een Linux-systeem opstart, gaat het naar het standaard runlevel en voert het de opstartscripts uit die bij dat runlevel horen. U kunt ook schakelen tussen runlevels – er is bijvoorbeeld een runlevel ontworpen voor herstel- en onderhoudsactiviteiten.

Traditioneel gebruikte Linux init-scripts in System V-stijl – terwijl nieuwe init-systemen uiteindelijk traditionele runlevels zullen verouderen, maar dat hebben ze nog niet gedaan. Het Upstart-systeem van Ubuntu gebruikt bijvoorbeeld nog steeds traditionele System V-stijlscripts.

Wat is een runlevel?

Wanneer een Linux-systeem opstart, start het het in het processen. init is verantwoordelijk voor het starten van de andere processen op het systeem. Als u bijvoorbeeld uw Linux-computer start, start de kernel init, en voert init de opstartscripts uit om uw hardware te initialiseren, netwerken op te starten, uw grafische bureaublad te starten.

Er is echter niet slechts één set opstartscripts die init uitvoert. Er zijn meerdere run-niveaus met hun eigen opstartscripts – het ene runlevel kan bijvoorbeeld netwerken oproepen en het grafische bureaublad starten, terwijl een ander runlevel het netwerken uitgeschakeld laat en het grafische bureaublad overslaat. Dit betekent dat u met een enkele opdracht kunt overgaan van “grafische bureaubladmodus” naar “tekstconsolemodus zonder netwerken”, zonder handmatig verschillende services te starten en te stoppen.

Specifieker, init voert de scripts uit die zich in een specifieke map bevinden die overeenkomt met het runlevel. Als u bijvoorbeeld runlevel 3 op Ubuntu invoert, voert init de scripts uit die zich in de map /etc/rc3.d bevinden.

beeld

Dit is tenminste hoe het werkt met een traditioneel System V init-systeem – Linux-distributies beginnen het oude System V init-systeem te vervangen. Hoewel Ubuntu’s Upstart momenteel compatibel is met SysV init-scripts, zal dit in de toekomst waarschijnlijk veranderen.

De Runlevels

Sommige runlevels zijn standaard tussen Linux-distributies, terwijl sommige runlevels variëren van distributie tot distributie.

De volgende runlevels zijn standaard:

  • 0 – Stop (Schakelt het systeem uit.)
  • 1 – Enkele gebruikersmodus (Het systeem start op in superuser-modus zonder daemons of netwerken te starten. Ideaal voor opstarten in een herstel- of diagnoseomgeving.)
  • 6 – Start opnieuw op

Runlevels 2-5 variëren afhankelijk van de distributie. Op Ubuntu en Debian zijn runlevels 2-5 bijvoorbeeld hetzelfde en bieden ze een volledige multi-user modus met netwerkmogelijkheden en grafische login. Op Fedora en Red Hat biedt runlevel 2 multi-user modus zonder netwerk (alleen console login), runlevel 3 biedt multi-user modus met netwerk (enkel console login), runlevel 4 is ongebruikt, en runlevel 5 biedt multi-user modus met netwerken en grafische login.

Overschakelen naar een ander runlevel

Om naar een ander runlevel te gaan terwijl het systeem al draait, gebruik je het volgende commando:

sudo telinit #

Vervang # door het nummer van het runlevel waarnaar u wilt overschakelen. Laat sudo weg en voer het commando uit als root als je een distributie draait die geen sudo gebruikt.

beeld

Direct opstarten naar een specifiek runlevel

Je kunt een runlevel selecteren om op te starten vanaf de bootloader – Grub, bijvoorbeeld. Druk aan het begin van het opstartproces op een toets om toegang te krijgen tot Grub, selecteer je opstartitem en druk op e om het te bewerken.

sshot-1

Je kan toevoegen single tot het einde van de linux regel om het runlevel voor één gebruiker (runlevel 1) in te voeren. (Druk op Ctrl + x om daarna op te starten.) Dit is hetzelfde als de herstelmodusoptie in Grub.

beeld

Traditioneel zou je een getal kunnen specificeren als een kernelparameter en je zou booten op dat runlevel – bijvoorbeeld met 3 in plaats van single opstarten naar runlevel 3. Dit lijkt echter niet te werken op de laatste versies van Ubuntu – Upstart lijkt het niet toe te staan. Op dezelfde manier is het afhankelijk van uw distributie hoe u het standaard runlevel wijzigt.


Hoewel Ubuntu’s Upstart-daemon nog steeds het SystemV-init-systeem emuleert, zal veel van deze informatie in de toekomst veranderen. Upstart is bijvoorbeeld op gebeurtenissen gebaseerd – het kan services stoppen en starten wanneer zich gebeurtenissen voordoen (een service kan bijvoorbeeld starten wanneer een hardwareapparaat op het systeem is aangesloten en stoppen wanneer het apparaat wordt verwijderd.) Fedora heeft ook zijn eigen opvolger to init, systemd.

Nieuwste artikelen

spot_img

Related Stories

Leave A Reply

Vul alstublieft uw commentaar in!
Vul hier uw naam in