% Systemd - target
Die grundlegenden und einführenden Informationen zu Systemd enthält die Handbuchseite Systemd-Start Die alle Unit-Dateien betreffenden Sektionen [Unit] und [Install] behandelt unsere Handbuchseite Systemd Unit-Datei.
Jetzt erklären wir die Funktion der Unit systemd.target, die den allgemein bekannten Runleveln ähneln, etwas ausführlicher.
Die verschiedenen Runlevel, in die gebootet oder gewechselt wird, beschreibt systemd als Ziel-Unit. Sie besitzen die Erweiterung ".target".
Die alten sysvinit-Befehle werden weiterhin unterstützt. (Hierzu ein Zitat aus man systemd
: "... wird aus Kompatibilitätsgründen und da es leichter zu tippen ist, bereitgestellt.")
Ziel-Unit | Beschreibung |
---|---|
emergency.target | Startet in eine Notfall-Shell auf der Hauptkonsole. Es ist die minimalste Version eines Systemstarts, um eine interaktive Shell zu erlangen. Mit dieser Unit kann der Bootvorgang Schritt für Schritt begleitet werden. |
rescue.target | Startet das Basissystem (einschließlich Systemeinhängungen) und eine Notfall-Shell. Im Vergleich zu multi-user.target könnte dieses Ziel als single-user.target betrachtet werden. |
multi-user.target | Mehrbenutzersystem mit funktionierendem Netzwerk, ohne Grafikserver X. Diese Unit wird verwendet, wenn man X stoppen bzw. nicht in X booten möchte. Auf dieser Unit wird in besonderen Fällen (wenn X selbst oder die Desktop-Umgebung aktualisiert werden) eine Systemaktualisierung (dist-upgrade) durchgeführt . |
graphical.target | Die Unit für den Mehrbenutzermodus mit Netzwerkfähigkeit und einem laufenden X-Window-System. |
default.target | Die Vorgabe-Unit, die Systemd beim Systemstart startet. In siduction ist dies ein Symlink auf graphical.target (außer bei der Variante noX). |
Ein Blick in die Dokumentation man SYSTEMD.SPECIAL(7)
ist obligatorisch um die Zusammenhänge der verschiedenen target-Unit zu verstehen.
Bei den Ziel-Units sind drei Besonderheiten zu beachten:
-
Die Verwendung auf der Kernel-Befehszeile beim Bootvorgang.
Um im Bootmanager Grub in den Editiermodus zu gelangen, muss man beim Erscheinen der Bootauswahl die Tastee
drücken. Anschließend hängt man an die Kernel-Befehszeile das gewünschte Ziel mit der folgenden Syntax: "systemd.unit=xxxxxxx.target" an. Die Tabelle listet die Kernel-Befehle und ihre noch gültigen numerischen Entsprechungen auf.Ziel-Unit Kernel-Befehl Kernel-Befehl alt emergency.target systemd.unit=emergency.target - rescue.target systemd.unit=rescue.target 1 multi-user.target systemd.unit=multi-user.target 3 graphical.target systemd.unit=graphical.target 5 Die alten Runlevel 2 und 4 verweisen auf multi-user.target
-
Die Verwendung im Terminal während einer laufenden Sitzung. Vorausgesetzt man befindet sich in einer laufenden graphischen Sitzung, kann man mit der Tastenkombination
CTRL
+ALT
+F3
zum virtuellen Terminal tty3 wechseln. Hier meldet man sich als User root an. Die folgende Tabelle listet die Terminal-Befehle auf, wobei der Ausdruck "isolate" dafür sorgt, dass alle Dienste die die Ziel-Unit nicht anfordert, beendet werden.Ziel-Unit Terminal-Befehl init-Befehl alt emergency.target systemctl isolate emergency.target - rescue.target systemctl isolate rescue.target init 1 multi-user.target systemctl isolate multi-user.target init 3 graphical.target systemctl isolate graphical.target init 5 -
Ziel-Units, die nicht direkt aufgerufen werden sollen.
Eine ganze Reihe von Ziel-Units sind dazu da während des Bootvorgangs oder des .target-Wechsels Zwischenschritte mit Abhängigkeiten zu gruppieren. Die folgende Liste zeigt drei häufig verwendete Kommandos die nicht mit der Syntax "isolate xxxxxxx.target" aufgerufen werden sollen.Ziel Terminal-Befehl init-Befehl alt halt systemctl halt - poweroff systemctl poweroff init 0 reboot systemctl reboot init 6 "halt", "poweroff" und "reboot" holen mehrere Units in der richtigen Reihenfolge herein, um das System geordnet zu beenden und ggf. einen Neustart auszuführen.