Website-Suche

So ändern Sie Runlevels (Ziele) in SystemD


Systemd ist ein modernes Init-System für Linux: ein System- und Dienstmanager, der mit dem beliebten SysV-Init-System und LSB-Init-Skripten kompatibel ist. Ziel war es, die im folgenden Artikel erläuterten Mängel von SysV init zu beheben.

  1. Die Geschichte hinter „init“ und „systemd“: Warum „init“ unter Linux durch „systemd“ ersetzt werden musste

Auf Unix-ähnlichen Systemen wie Linux wird der aktuelle Betriebszustand des Betriebssystems als Runlevell bezeichnet; Es definiert, welche Systemdienste ausgeführt werden. Bei gängigen Init-Systemen wie SysV-Init werden Runlevel durch Nummern identifiziert. In systemd werden Runlevel jedoch als Ziele bezeichnet.

Empfohlene Lektüre: Verwalten des Systemstartprozesses und der Dienste (SysVinit, Systemd und Upstart)

In diesem Artikel erklären wir, wie man Runlevel (Ziele) mit systemd ändert. Bevor wir weitermachen, werfen wir einen kurzen Blick auf die Beziehung zwischen Runlevel-Nummern und Zielen.

  • Run Level 0 entspricht poweroff.target (und runlevel0.target ist ein symbolischer Link zu poweroff.target). ).
  • Run Level 1 entspricht rescue.target (und runlevel1.target ist ein symbolischer Link zu rescue.target). ).
  • Run Level 3 wird von multi-user.target emuliert (und runlevel3.target ist ein symbolischer Link zu multi-user.target). ).
  • Run Level 5 wird von graphical.target emuliert (und runlevel5.target ist ein symbolischer Link zu graphical.target). ).
  • Run Level 6 wird durch reboot.target emuliert (und runlevel6.target ist ein symbolischer Link zu reboot.target). ).
  • Emergency entspricht emergency.target.

So zeigen Sie das aktuelle Ziel (Runlevel) in Systemd an

Beim Systemstart aktiviert systemd standardmäßig die Unit default.target. Seine Hauptaufgabe besteht darin, Dienste und andere Einheiten zu aktivieren, indem sie über Abhängigkeiten eingebunden werden.

Um das Standardziel anzuzeigen, geben Sie den folgenden Befehl ein.

#systemctl get-default 

graphical.target

Um das Standardziel festzulegen, führen Sie den folgenden Befehl aus.

systemctl set-default multi-user.target  

So ändern Sie das Ziel (Runlevel) in Systemd

Während das System läuft, können Sie das Ziel (Runlevel) wechseln, was bedeutet, dass jetzt nur Dienste und Einheiten, die unter diesem Ziel definiert sind, auf dem System ausgeführt werden.

Um zu Runlevel 3 zu wechseln, führen Sie den folgenden Befehl aus.

systemctl isolate multi-user.target 

Um das System auf Runlevel 5 zu ändern, geben Sie den folgenden Befehl ein.

systemctl isolate graphical.target

Weitere Informationen zu systemd finden Sie in diesen nützlichen Artikeln:

  1. So verwalten Sie „Systemd“-Dienste und -Einheiten mit „Systemctl“ unter Linux
  2. So erstellen und führen Sie neue Serviceeinheiten in Systemd mithilfe eines Shell-Skripts aus
  3. Verwalten des Systemstartprozesses und der Dienste (SysVinit, Systemd und Upstart)
  4. Protokollnachrichten unter Systemd mit Journalctl verwalten [Umfassende Anleitung]

In dieser Anleitung haben wir gezeigt, wie man Runlevel (Ziele) mit systemd ändert. Verwenden Sie das Kommentarformular unten, um uns Fragen oder Gedanken zu diesem Artikel zu senden.