Recherche de site Web

Comment modifier les niveaux d'exécution (cibles) dans SystemD


Systemd est un système d'initialisation moderne pour Linux : un gestionnaire de système et de services compatible avec le système d'initialisation SysV et les scripts d'initialisation LSB populaires. Il visait à combler les lacunes de l'initialisation SysV, comme expliqué dans l'article suivant.

  1. L'histoire derrière « init » et « systemd » : pourquoi « init » devait être remplacé par « systemd » sous Linux

Sur les systèmes de type Unix tels que Linux, l'état de fonctionnement actuel du système d'exploitation est appelé niveau d'exécution ; il définit quels services système sont en cours d'exécution. Sous les systèmes d'initialisation populaires comme SysV init, les niveaux d'exécution sont identifiés par des numéros. Cependant, dans Systemd, les niveaux d'exécution sont appelés cibles.

Lecture suggérée : Gestion du processus et des services de démarrage du système (SysVinit, Systemd et Upstart)

Dans cet article, nous expliquerons comment modifier les niveaux d'exécution (cibles) avec systemd. Avant d'aller plus loin, examinons brièvement la relation entre les nombres de niveaux d'exécution et les cibles.

  • Le niveau d'exécution 0 correspond à poweroff.target (et runlevel0.target est un lien symbolique vers poweroff.target ).
  • Le niveau d'exécution 1 correspond à rescue.target (et runlevel1.target est un lien symbolique vers rescue.target ).
  • Le niveau d'exécution 3 est émulé par multi-user.target (et runlevel3.target est un lien symbolique vers multi-user.target ).
  • Le niveau d'exécution 5 est émulé par graphical.target (et runlevel5.target est un lien symbolique vers graphical.target ).
  • Le niveau d'exécution 6 est émulé par reboot.target (et runlevel6.target est un lien symbolique vers reboot.target ).
  • Emergency correspond à emergency.target.

Comment afficher la cible actuelle (niveau d'exécution) dans Systemd

Lorsque le système démarre, systemd active par défaut l'unité default.target. Son travail principal consiste à activer les services et autres unités en les intégrant via des dépendances.

Pour afficher la cible par défaut, tapez la commande ci-dessous.

#systemctl get-default 

graphical.target

Pour définir la cible par défaut, exécutez la commande ci-dessous.

systemctl set-default multi-user.target  

Comment changer la cible (niveau d'exécution) dans Systemd

Pendant que le système est en cours d'exécution, vous pouvez changer de cible (niveau d'exécution), ce qui signifie que seuls les services ainsi que les unités définies sous cette cible s'exécuteront désormais sur le système.

Pour passer au niveau d'exécution 3, exécutez la commande suivante.

systemctl isolate multi-user.target 

Pour changer le système en niveau d'exécution 5, tapez la commande ci-dessous.

systemctl isolate graphical.target

Pour plus d'informations sur systemd, lisez ces articles utiles :

  1. Comment gérer les services et les unités « Systemd » à l'aide de « Systemctl » sous Linux
  2. Comment créer et exécuter de nouvelles unités de service dans Systemd à l'aide d'un script Shell
  3. Gestion du processus et des services de démarrage du système (SysVinit, Systemd et Upstart)
  4. Gérer les messages de journal sous Systemd à l'aide de Journalctl [Guide complet]

Dans ce guide, nous avons montré comment modifier les niveaux d'exécution (cibles) avec systemd. Utilisez le formulaire de commentaires ci-dessous pour nous envoyer vos questions ou réflexions concernant cet article.