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 und gleichwertige Runlevel-Ziele

Systemstaatliche Ziele

Äquivalente Runlevel-Ziele

Beschreibung

graphical.target

runlevel5.target

Richten Sie ein Mehrbenutzersystem mit Networking- und Display-Manager ein.

multi-user.target

runlevel2.target

runlevel3.target

runlevel4.target

Richten Sie ein nicht grafisches Mehrbenutzersystem mit Netzwerk ein.

poweroff.target

runlevel0.target

Fahren Sie das System herunter, und schalten Sie es aus.

reboot.target

runlevel6.target

Herunterfahren und System neu starten.

rescue.target

runlevel1.target

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
Hinweis

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).