Comment vérifier si une unité systemd est activée sous Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à vérifier l'état des unités systemd sous Linux. Vous utiliserez la commande systemctl is-enabled pour déterminer si une unité est configurée pour démarrer automatiquement au démarrage, et la commande systemctl list-units pour lister les unités actives. Enfin, vous explorerez l'emplacement des fichiers d'unités systemd dans le répertoire /etc/systemd. Ce laboratoire vous fournira les compétences essentielles pour gérer les services et comprendre le processus d'initialisation de systemd.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/SystemInformationandMonitoringGroup -.-> linux/ps("Process Displaying") linux/SystemInformationandMonitoringGroup -.-> linux/service("Service Managing") subgraph Lab Skills linux/ls -.-> lab-558771{{"Comment vérifier si une unité systemd est activée sous Linux"}} linux/cat -.-> lab-558771{{"Comment vérifier si une unité systemd est activée sous Linux"}} linux/cd -.-> lab-558771{{"Comment vérifier si une unité systemd est activée sous Linux"}} linux/grep -.-> lab-558771{{"Comment vérifier si une unité systemd est activée sous Linux"}} linux/ps -.-> lab-558771{{"Comment vérifier si une unité systemd est activée sous Linux"}} linux/service -.-> lab-558771{{"Comment vérifier si une unité systemd est activée sous Linux"}} end

Vérifier l'état d'une unité avec systemctl is-enabled

Dans cette étape, vous apprendrez à vérifier l'état des unités systemd en utilisant la commande systemctl is-enabled.

Systemd est un gestionnaire de systèmes et de services pour Linux. Il gère les processus après le démarrage initial du système. Une "unité" dans systemd fait référence à un fichier de configuration qui décrit comment un service, un périphérique, un point de montage ou une autre ressource système doit être gérée.

La commande systemctl is-enabled vérifie si une unité est configurée pour démarrer automatiquement au démarrage. Cela est important pour les services que vous souhaitez exécuter chaque fois que le système démarre.

Vérifions l'état du service ssh. Le service SSH (Secure Shell) vous permet de vous connecter à votre serveur à distance.

Ouvrez votre terminal s'il n'est pas déjà ouvert. Vous pouvez trouver l'icône Xfce Terminal sur le côté gauche de votre bureau.

Tapez la commande suivante et appuyez sur Entrée :

systemctl is-enabled ssh

Vous devriez voir une sortie similaire à celle-ci :

enabled

Cette sortie indique que le service ssh est configuré pour démarrer automatiquement lorsque le système démarre.

Maintenant, vérifions l'état d'un service qui n'est peut-être pas activé par défaut, comme apache2 (un serveur web).

Tapez la commande suivante et appuyez sur Entrée :

systemctl is-enabled apache2

Vous pourriez voir une sortie comme celle-ci :

disabled

Cela signifie que le service apache2 n'est pas configuré pour démarrer automatiquement au démarrage.

Comprendre si un service est activé ou désactivé est crucial pour gérer votre système et vous assurer que les services nécessaires sont en cours d'exécution après un redémarrage.

N'oubliez pas que la commande systemctl is-enabled ne vous indique que si un service est configuré pour démarrer au démarrage, pas s'il est actuellement en cours d'exécution. Vous apprendrez à vérifier si un service est en cours d'exécution dans une étape ultérieure.

Cliquez sur Continuer pour passer à l'étape suivante.

Lister les unités avec systemctl list-units

Dans cette étape, vous apprendrez à lister les unités systemd actives en utilisant la commande systemctl list-units.

Alors que systemctl is-enabled vous indique si une unité est configurée pour démarrer au démarrage, systemctl list-units vous montre quelles unités sont actuellement chargées et actives dans la mémoire du système. Cela est utile pour voir quels services, périphériques et autres ressources sont actuellement gérés par systemd.

Ouvrez votre terminal s'il n'est pas déjà ouvert.

Tapez la commande suivante et appuyez sur Entrée :

systemctl list-units

Vous verrez une longue liste d'unités. La sortie inclut généralement des colonnes telles que :

  • UNIT : Le nom de l'unité.
  • LOAD : Indique si la configuration de l'unité a été chargée en mémoire.
  • ACTIVE : L'état d'activation de haut niveau de l'unité (par exemple, active, inactive, failed).
  • SUB : L'état d'activation de bas niveau de l'unité (par exemple, running, exited, waiting).
  • DESCRIPTION : Une brève description de l'unité.

La liste peut être assez longue. Pour la rendre plus gérable, vous pouvez filtrer la sortie. Par exemple, pour voir uniquement les unités de service (les unités se terminant par .service), vous pouvez utiliser :

systemctl list-units --type service

Cette commande vous montrera une liste de tous les services actuellement actifs.

Vous pouvez également utiliser grep pour rechercher des unités spécifiques dans la sortie. Par exemple, pour trouver le service ssh :

systemctl list-units | grep ssh

Cela vous montrera la ligne correspondant à l'unité ssh.service si elle est active.

La commande systemctl list-units est un outil puissant pour comprendre l'état actuel de votre système et les processus gérés par systemd. Expérimentez avec différentes options et grep pour trouver les informations dont vous avez besoin.

Cliquez sur Continuer pour passer à l'étape suivante.

Inspecter les fichiers d'unité dans /etc/systemd

Dans cette étape, vous allez explorer où systemd stocke ses fichiers de configuration d'unités et comment afficher leur contenu.

Les fichiers d'unités systemd, qui définissent la gestion des services et autres ressources, sont généralement situés dans le répertoire /etc/systemd/system/. Ce répertoire contient les fichiers d'unités installés par l'administrateur système ou les paquets.

Naviguons jusqu'à ce répertoire et listons son contenu.

Ouvrez votre terminal s'il n'est pas déjà ouvert.

Tout d'abord, changez votre répertoire actuel pour /etc/systemd/system/ en utilisant la commande cd :

cd /etc/systemd/system/

Maintenant, listez les fichiers de ce répertoire en utilisant la commande ls :

ls

Vous verrez une liste de fichiers .service, .target et d'autres fichiers d'unités. Ces fichiers contiennent les instructions pour systemd sur la façon de gérer chaque unité.

Inspectons le contenu du fichier ssh.service en utilisant la commande cat. N'oubliez pas que vous êtes actuellement dans le répertoire /etc/systemd/system/, vous pouvez donc faire référence au fichier directement par son nom.

cat ssh.service

Vous verrez le contenu du fichier ssh.service. Ce fichier est un fichier texte brut avec différentes sections et directives qui indiquent à systemd comment démarrer, arrêter et gérer le service SSH.

Par exemple, vous pourriez voir des sections telles que [Unit], [Service] et [Install].

  • La section [Unit] contient des informations générales sur l'unité et ses dépendances.
  • La section [Service] définit les commandes à exécuter pour démarrer et arrêter le service.
  • La section [Install] contient des informations sur la façon dont l'unité doit être installée et activée.

Comprendre la structure et le contenu de ces fichiers d'unités est essentiel pour une administration système avancée avec systemd. Bien que les détails puissent être complexes, simplement savoir où les trouver et comment les afficher est un excellent point de départ.

Vous pouvez utiliser less au lieu de cat pour afficher le contenu du fichier page par page, ce qui est utile pour les fichiers plus volumineux :

less ssh.service

Appuyez sur q pour quitter less.

Cliquez sur Continuer pour terminer ce laboratoire.

Résumé

Dans ce laboratoire, vous avez appris à vérifier si une unité systemd est configurée pour démarrer automatiquement au démarrage en utilisant la commande systemctl is-enabled. Vous avez pratiqué cela en vérifiant l'état des services ssh et apache2, en comprenant que "enabled" signifie que l'unité démarrera au démarrage, tandis que "disabled" signifie qu'elle ne démarrera pas.

Vous avez également appris à lister les unités systemd actives en utilisant la commande systemctl list-units, qui offre une vue plus large des unités actuellement en cours d'exécution ou chargées sur le système. Enfin, vous avez exploré comment inspecter les fichiers de configuration des unités systemd situés dans le répertoire /etc/systemd, en acquérant des informations sur la façon dont les unités sont définies et configurées.