Systemd-Ziele
Beschreibt, wie systemd-Ziele Runlevels zuordnen und wie Sie den Systemstatus prüfen oder ändern.
Wenn Sie Ziele verwenden, können Sie systemd so steuern, dass nur die Services gestartet werden, die für einen bestimmten Zweck erforderlich sind.
Beispiel: Sie setzen das Standardziel auf einem Produktionsserver auf multi-user.target, damit die grafische Benutzeroberfläche beim Booten des Systems nicht verwendet wird. In einem Fall, in dem Sie Fehler beheben oder Diagnosen ausführen müssen, können Sie das Ziel auf rescue.target setzen, wobei sich nur root beim System anmeldet, um die Mindestanzahl an Services auszuführen.
Jede Runlevel definiert die Services, die systemd stoppt oder startet. Beispiel: systemd startet Netzwerkservices für multi-user.target und das X Window-System für graphical.target und stoppt beide Services für rescue.target.
Unter Systemzustandsziele und gleichwertige Runlevel-Ziele werden die häufig verwendeten Systemzustandsziele und die entsprechenden Runlevel-Ziele angezeigt.
|
Systemstaatliche Ziele |
Äquivalente Runlevel-Ziele |
Beschreibung |
|---|---|---|
|
|
|
Richten Sie ein Mehrbenutzersystem mit Networking- und Display-Manager ein. |
|
|
|
Richten Sie ein nicht grafisches Mehrbenutzersystem mit Netzwerk ein. |
|
|
|
Fahren Sie das System herunter, und schalten Sie es aus. |
|
|
|
Herunterfahren und System neu starten. |
|
|
|
Richten Sie eine Rettungsschale ein. |
Beachten Sie, dass runlevel*-Ziele als symbolische Links implementiert werden.
Weitere Informationen finden Sie im Handbuch systemd.target(5).
Standard- und aktive Systemzustandsziele anzeigen
Zeigt, wie Sie das Standardziel des Systems abfragen und alle aktiven Ziele mit systemctl auflisten.
Um das standardmäßige Systemstatusziel anzuzeigen, verwenden Sie den Befehl systemctl get-default:
systemctl get-default
graphical.target
Um die aktiven Ziele auf einem System anzuzeigen, verwenden Sie den Befehl systemctl list-units --type target:
systemctl list-units --type target [--all]
UNIT LOAD ACTIVE SUB DESCRIPTION
basic.target loaded active active Basic System
cryptsetup.target loaded active active Local Encrypted Volumes
getty.target loaded active active Login Prompts
graphical.target loaded active active Graphical Interface
local-fs-pre.target loaded active active Local File Systems (Pre)
local-fs.target loaded active active Local File Systems
multi-user.target loaded active active Multi-User System
network-online.target loaded active active Network is Online
network-pre.target loaded active active Network (Pre)
network.target loaded active active Network
nfs-client.target loaded active active NFS client services
nss-user-lookup.target loaded active active User and Group Name Lookups
paths.target loaded active active Paths
remote-fs-pre.target loaded active active Remote File Systems (Pre)
remote-fs.target loaded active active Remote File Systems
rpc_pipefs.target loaded active active rpc_pipefs.target
rpcbind.target loaded active active RPC Port Mapper
slices.target loaded active active Slices
sockets.target loaded active active Sockets
sound.target loaded active active Sound Card
sshd-keygen.target loaded active active sshd-keygen.target
swap.target loaded active active Swap
sysinit.target loaded active active System Initialization
timers.target loaded active active Timers
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
24 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.
Die Ausgabe für ein System mit aktivem graphical-Ziel zeigt an, dass dieses Ziel von anderen aktiven Zielen abhängig ist, einschließlich network und sound für Networking- und Audiofunktionen.
Verwenden Sie die Option --all, um inaktive Ziele in die Liste aufzunehmen.
Weitere Informationen finden Sie in den Handbuchseiten systemctl(1) und systemd.target(5).
Standard- und aktive Systemzustandsziele ändern
Erläutert, wie Sie das Standard-Boot-Ziel wechseln und ein anderes Ziel isolieren, während das System ausgeführt wird.
Mit dem Befehl systemctl set-default können Sie das standardmäßige Systemstatusziel ändern:
sudo systemctl set-default multi-user.target
Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/multi-user.target
Mit diesem Befehl wird das Ziel geändert, mit dem das Standardziel verknüpft ist. Der Status des Systems wird jedoch nicht geändert.
Um das aktuelle aktive Systemziel zu ändern, verwenden Sie den Befehl systemctl isolate. Beispiel:
sudo systemctl isolate multi-user.target
Weitere Informationen finden Sie im Handbuch systemctl(1).