Runlevels & systemd-Targets unter Linux

Inhaltsverzeichnis

Ein Linux-System kann in verschiedenen Betriebszuständen laufen. Diese Zustände regeln, welche Dienste aktiv sind und ob eine grafische Oberfläche gestartet wird. Historisch geschah dies mit Runlevels (SysVinit), moderne Systeme nutzen systemd-Targets. Wer die Unterschiede und Befehle kennt, kann Systeme gezielt steuern und Bootprobleme schneller beheben.

Runlevels (SysVinit)

Die klassischen Runlevels reichen von 0 bis 6:

  • 0 – Halt (System aus)
  • 1 – Single-User/Rescue
  • 2 – Multi-User (ohne Netzwerk, je nach Distro variabel)
  • 3 – Multi-User mit Netzwerk, Textmodus
  • 5 – Multi-User mit Netzwerk + grafische Oberfläche
  • 6 – Reboot
runlevel         
# zeigt aktuellen und vorherigen Runlevel

who -r           
# zeigt Runlevel und Startzeit

init 3           
# wechselt in Runlevel 3 (Textmodus mit Netzwerk)

systemd-Targets

systemd ersetzt Runlevels durch Targets. Diese sind flexibler, modular und können Abhängigkeiten abbilden.

Runlevelsystemd-Target
0poweroff.target
1rescue.target
3multi-user.target
5graphical.target
6reboot.target
systemctl get-default                 
# zeigt aktuelles Standard-Target

systemctl set-default graphical.target 
# Standard-Target setzen

systemctl isolate multi-user.target   
# sofort in Multi-User wechseln

Lerneinheit – Übungsfragen im LPIC-Stil

Frage 1 (Einzelauswahl)
Welcher Runlevel entspricht dem Mehrbenutzermodus mit Netzwerk (ohne GUI)?
A) 1
B) 3
C) 5
D) 6

Frage 2 (Mehrfachauswahl)
Welche systemd-Targets sind korrekt zugeordnet?
A) Runlevel 3 = multi-user.target
B) Runlevel 5 = graphical.target
C) Runlevel 0 = reboot.target
D) Runlevel 1 = rescue.target

Frage 3 (Befehlseingabe)
Wechsle sofort ins Multi-User-Target auf einem systemd-System.

Frage 4 (Einzelauswahl)
Mit welchem Befehl lässt sich das Standard-Target dauerhaft ändern?
A) runlevel
B) systemctl set-default
C) init 5
D) shutdown -h now

Frage 5 (Mehrfachauswahl)
Welche Befehle zeigen Informationen zum aktuellen Runlevel/Target?
A) runlevel
B) who -r
C) systemctl get-default
D) dmesg

Lösungen & Begründungen

Frage 1: B) Runlevel 3. Multi-User mit Netzwerk, ohne grafische Oberfläche.

Frage 2: A), B), D). Runlevel 0 entspricht poweroff.target, nicht reboot.target.

Frage 3 (Musterlösung):

sudo systemctl isolate multi-user.target<h1></h1>

Frage 4: B) systemctl set-default. Damit wird das Standard-Target gesetzt.

Frage 5: A), B), C). dmesg zeigt Kernel-Logs, keine Runlevel/Target-Infos.

Mini-Lernkarte

  • Runlevels: 0 Halt, 1 Single, 3 Multi-User, 5 Graphical, 6 Reboot
  • Targets: poweroff, rescue, multi-user, graphical, reboot
  • Befehle: runlevel, who -r, systemctl get-default/set-default/isolate

Fazit

Runlevels und systemd-Targets beschreiben den Betriebszustand eines Linux-Systems. Das Verständnis dieser Zustände ist zentral für Administration und Fehlersuche. Mit den richtigen Befehlen können Admins Systeme in den gewünschten Modus bringen – sei es Textmodus, grafische Oberfläche oder Rescue-Umgebung.

Andreas Moor
Andreas Moor
@blog@andreas-moor.de

Hallo Fediverse, ich bin Andy!

Hier und auf meiner Website findest du mein akkumuliertes Linux-Sysadmin-Wissen, meine kleinen und größeren Projekte und die Tools, die ich nutze.

Viel Spaß beim stöbern, lesen und lernen! 🧑‍💻

236 Beiträge
16 Folgende