Runlevel wechseln unter Debian Linux

Runlevel wechseln und das System anhalten oder neu starten unter Debian Linux

Debian Linux ist bekannt für seine Stabilität und Flexibilität. Einer der grundlegenden Aspekte der Systemverwaltung in Debian (und vielen anderen Linux-Distributionen) ist das Konzept der Runlevel, die Systemzustände definieren. In diesem Blogbeitrag werfen wir einen genaueren Blick darauf, wie man Runlevel wechselt und das System entweder herunterfährt oder neu startet. Dies sind essenzielle Fähigkeiten für Systemadministratoren, um die Kontrolle über das System zu behalten und geplante Wartungsarbeiten durchzuführen.

Was sind Runlevel?

Runlevel sind vordefinierte Zustände, die das Verhalten eines Linux-Systems steuern. Jeder Runlevel bestimmt, welche Dienste und Prozesse gestartet oder gestoppt werden. Traditionell gibt es sieben Runlevel, die von 0 bis 6 nummeriert sind:

  • Runlevel 0: System wird heruntergefahren.
  • Runlevel 1: Einzelbenutzermodus (Rettungsmodus), keine Netzwerkdienste, nur Root kann sich anmelden.
  • Runlevel 2-5: Verschiedene Mehrbenutzermodi, in Debian sind Runlevel 2 bis 5 oft identisch und bieten den Mehrbenutzerbetrieb mit grafischer Oberfläche (wenn installiert).
  • Runlevel 6: System wird neu gestartet.

Systemd vs. SysVinit

In älteren Versionen von Debian wurde das SysVinit-System verwendet, das stark auf die Runlevel-Struktur setzt. Seit Debian 8 (Jessie) ist jedoch systemd der Standard-Init-Dienst. systemd verwendet keine klassischen Runlevel, sondern sogenannte „Targets“, die ähnliche Funktionen wie Runlevel erfüllen. Einige Targets entsprechen den traditionellen Runleveln:

  • poweroff.target: Runlevel 0 (System herunterfahren)
  • rescue.target: Runlevel 1 (Einzelbenutzermodus)
  • multi-user.target: Runlevel 2-5 (Mehrbenutzermodus)
  • reboot.target: Runlevel 6 (Neustart)

Auch wenn systemd verwendet wird, unterstützen viele Debian-Installationen weiterhin die Verwendung der traditionellen Runlevel-Befehle für Abwärtskompatibilität.

Runlevel wechseln unter Debian

Wenn du das Runlevel oder systemd-Target auf deinem Debian-System ändern möchtest, kannst du dies mit den folgenden Befehlen tun. Beachte, dass du Root-Rechte benötigst.

Überprüfung des aktuellen Runlevels

Unter einem klassischen SysVinit-System kannst du das aktuelle Runlevel mit folgendem Befehl anzeigen:

runlevel

In systemd kannst du den aktuellen Systemzustand (Target) so überprüfen:

systemctl get-default

Das zeigt dir das Standard-Target, welches beim Systemstart geladen wird (z. B. multi-user.target).

Wechsel zu einem anderen Runlevel/Target

Unter SysVinit

Um das Runlevel zu wechseln, kannst du den Befehl telinit oder init verwenden:

sudo init 1

Dieser Befehl wechselt in den Einzelbenutzermodus (Runlevel 1). Möchtest du beispielsweise ins Runlevel 3 (Mehrbenutzermodus ohne grafische Oberfläche) wechseln, würde der Befehl lauten:

sudo init 3

Unter systemd

Mit systemd läuft dies etwas anders. Du wechselst zu einem bestimmten Target mit dem systemctl-Befehl:

sudo systemctl isolate multi-user.target

Dieser Befehl wechselt in den Mehrbenutzermodus. Um in den Rettungsmodus zu wechseln, kannst du Folgendes verwenden:

sudo systemctl isolate rescue.target

System anhalten oder neu starten

Manchmal musst du dein System herunterfahren oder neu starten, z. B. nach einem Kernel-Update oder einer längeren Laufzeit ohne Neustart.

System herunterfahren

SysVinit

Um dein Debian-System unter einem SysVinit-System herunterzufahren, kannst du den folgenden Befehl verwenden:

sudo shutdown -h now

Alternativ kannst du auch das Runlevel 0 explizit angeben:

sudo init 0

systemd

Mit systemd verwendest du den systemctl-Befehl, um das System herunterzufahren:

sudo systemctl poweroff

System neu starten

SysVinit

Um das System unter SysVinit neu zu starten, kannst du einen der folgenden Befehle verwenden:

sudo reboot

Oder explizit ins Runlevel 6 wechseln:

sudo init 6

systemd

Unter systemd lautet der Befehl zum Neustart:

sudo systemctl reboot

Zeitgesteuertes Herunterfahren oder Neustart

Du kannst das Herunterfahren oder den Neustart deines Systems auch zeitlich verzögern. Hier ein Beispiel, wie man das System in 10 Minuten herunterfährt:

sudo shutdown -h +10

Für einen geplanten Neustart in einer bestimmten Zeit kannst du stattdessen den Parameter -r verwenden:

sudo shutdown -r +10

Abbrechen eines geplanten Shutdowns

Falls du das geplante Herunterfahren abbrechen möchtest, kannst du den folgenden Befehl verwenden:

sudo shutdown -c

Fazit

Das Wechseln von Runleveln (oder Targets unter systemd) und das Anhalten oder Neustarten des Systems sind grundlegende Aufgaben der Systemverwaltung unter Debian Linux. Während SysVinit auf klassische Runlevel setzt, verwendet systemd modernere Targets, bietet aber eine ähnliche Funktionalität. Beide Systeme bieten die Flexibilität, das Verhalten deines Systems an unterschiedliche Anforderungen anzupassen, sei es für Wartungszwecke, den Einzelbenutzermodus oder geplante Neustarts. Mit diesen Befehlen hast du die Werkzeuge zur Hand, um dein Debian-System optimal zu verwalten und zu steuern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert