Cibles systématiques

Décrit comment les cibles système sont mappées aux niveaux d'exécution et comment inspecter ou modifier l'état du système.

En utilisant des cibles, vous pouvez contrôler systemd afin qu'il démarre uniquement les services requis à une fin spécifique.

Par exemple, vous réglez la cible par défaut à multi-user.target sur un serveur de production afin que l'interface utilisateur graphique ne soit pas utilisée lors du démarrage du système. Dans un cas où vous devez dépanner ou effectuer des diagnostics, vous pouvez envisager de régler la cible à rescue.target, où seul root se connecte au système pour exécuter le nombre minimal de services.

Chaque niveau d'exécution définit les services que systemd arrête ou démarre. Par exemple, systemd démarre les services réseau pour multi-user.target et le système X Window pour graphical.target, et arrête les deux services pour rescue.target.

Cibles système-état et cibles de niveau d'exécution équivalentes affiche les cibles système-état couramment utilisées et les cibles de niveau d'exécution équivalentes.

Cibles de l'état du système et cibles de niveau d'exécution équivalentes

Cibles de l'état du système

Cibles de niveau d'exécution équivalentes

Description

graphical.target

runlevel5.target

Configurez un système multiutilisateur avec un gestionnaire de réseau et d'affichage.

multi-user.target

runlevel2.target

runlevel3.target

runlevel4.target

Configurer un système multiutilisateur non graphique avec réseau.

poweroff.target

runlevel0.target

Arrêtez et mettez le système hors tension.

reboot.target

runlevel6.target

Arrêtez et redémarrez le système.

rescue.target

runlevel1.target

Mettre en place une coquille de sauvetage.

Notez que les cibles runlevel* sont mises en oeuvre en tant que liens symboliques.

Pour plus d'informations, consultez la page de manuel systemd.target(5).

Affichage des cibles par défaut et actives de l'état du système

Affiche comment interroger la cible par défaut du système et répertorier toutes les cibles actives avec systemctl.

Pour afficher la cible d'état de système par défaut, utilisez la commande systemctl get-default :

systemctl get-default
graphical.target

Pour afficher les cibles actives sur un système, utilisez la commande 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'.

La sortie d'un système avec la cible graphical active montre que cette cible dépend d'autres cibles actives, notamment network et sound pour la fonctionnalité de réseau et de son.

Utilisez l'option --all pour inclure des cibles inactives dans la liste.

Pour plus d'informations, consultez les pages de manuel systemctl(1) et systemd.target(5).

Modification des cibles par défaut et actives de l'état du système

Explique comment changer la cible d'initialisation par défaut et isoler une autre cible pendant l'exécution du système.

Utilisez la commande systemctl set-default pour modifier la cible système-état par défaut :

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
Note

Cette commande modifie la cible à laquelle la cible par défaut est liée, mais ne modifie pas l'état du système.

Pour modifier la cible de système active courante, utilisez la commande systemctl isolate, par exemple :

sudo systemctl isolate multi-user.target

Pour plus d'informations, consultez la page de manuel systemctl(1).