systemctl : Contrôle total sous Linux en 12 étapes

12 commandes systemctl qui maîtrisent Linux

systemctl : 12 commandes qui maîtrisent Linux 🚀

La commande systemctl possède plusieurs fonctionnalités qui sont souvent négligées. En plus de démarrer et d'arrêter les services sous Linux, vous pouvez également répertorier les services installés et vérifier leur état. Faisons un petit tour d'horizon ! 🚀

Qu'est-ce que la commande Systemctl ?

La commande systemctl est l'outil de gestion central du système d'initialisation systemd, principalement connu comme l'outil utilisé pour démarrer et arrêter les services. Mais il y a bien plus encore, comme en témoigne son page de manuel qui compte plus de 1600 lignes. 📖

Étant donné que systemctl est un outil de gestion et non pas seulement un lanceur de services, vous pouvez l'utiliser pour accéder à des informations utiles sur votre système et ses services systemd. 💻

La plupart des distributions Linux ont adopté systemd, mais certaines ont choisi de conserver le système d'initialisation traditionnel SystemV. Si vous n'êtes pas sûr de celui utilisé par votre distribution, il est facile de le savoir. Nous utiliserons la commande stat pour consulter le fichier init.

statistique /sbin/init 
Utilisation de la commande stat pour voir si une installation Linux utilise SystemV ou systemd.

Le fichier exécutable /sbin/init est le premier processus lancé dans les distributions basées sur SystemV. Dans les distributions basées sur systemd, un lien symbolique portant ce nom pointe vers systemd.

La première ligne de sortie nous montre que sur cette machine de test Ubuntu, /sbin/init est un lien symbolique vers le fichier /lib/systemd/systemd. De toute évidence, cette installation Linux utilise systemd. S'il s'agissait d'une distribution basée sur SystemV, la ligne ne contiendrait que « Fichier : /sbin/init ».

Interrogation des services avec systemctl

Les services sont définis dans des fichiers d'unité, et vous verrez le mot unité dispersé dans les options systemctl. À titre d’exemple, nous pouvons obtenir une liste de services avec la commande list-units en utilisant l’option –type.

systemctl liste-unités --type=service
La sortie de la commande systemctl list-units, affichant les services en cours d'exécution et arrêtés.

La sortie est affichée dans la visionneuse de fichiers less, vous permettant de naviguer et d'utiliser la touche / pour rechercher.

  • Unité: Le nom du fichier d'unité.
  • Porter: Si le fichier d'unité de service a été lu en mémoire sans erreurs de syntaxe, cette colonne contiendra « chargé ». Cela ne signifie pas que le service est actif.
  • Actif:Un aperçu indiquant si un service est actif. Il se peut qu'un service actif ne soit pas en cours d'exécution.
  • Sous:Une vue plus détaillée indiquant si un service est en cours d'exécution. Par exemple, un service actif peut être planifié pour une minuterie et peut avoir quitté sa dernière exécution.
  • Description:Une ligne de texte destinée à identifier ou à décrire le service.

L'affichage inclut uniquement les services actifs. Pour voir tous les services, nous devons inclure l’option –all.

systemctl liste-unités --toutes --type=service
La sortie de la commande systemctl list-units, affichant tous les services.

Si la visualisation de tout est écrasante, nous pouvons filtrer la sortie avec l’option –state.

systemctl liste-unités --type=service --état=en cours d'exécution
La sortie de la commande systemctl list-units, filtrée pour afficher uniquement les services en cours d'exécution.

L'option d'état acceptera les options en cours d'exécution, arrêtées, activées, désactivées et en échec.

Pour vous concentrer sur les services défaillants, utilisez l’option –failed.

systemctl liste-unités --échec
La sortie de la commande systemctl list-units, filtrée pour afficher uniquement les services ayant échoué. Il n'y a pas de services défaillants.

Il n'y a aucun lecteur défectueux sur cet ordinateur.

Si vous voyez des services défaillants, utilisez l’option list-dependencies pour vérifier les dépendances non satisfaites.

systemctl liste-dépendances sshd.service
La sortie de la commande systemctl list-dependencies affichant les dépendances du service sshd.

Les dépendances ont un cercle à code couleur représentant leur statut. Cela pourrait être :

  • Cercle blanc: Inactif ou en maintenance
  • Point vert: Actif.
  • Pointe Blanche: Désactivation.
  • Point rouge:Échec ou erreur.

Pour vérifier si un seul service est activé, utilisez la commande is-enabled et indiquez le nom du fichier d'unité du service.

systemctl es-activé htg-example.service
Utilisation de systemctl is-enabled pour déterminer si un service spécifique est activé.

Contrôle des services avec systemctl

L'utilisation de systemctl pour gérer les services est très simple et suit le format des commandes que nous avons vues jusqu'à présent. La plus grande différence est que vous devrez utiliser sudo pour apporter des modifications aux états de service. Nous ne l’avons pas fait jusqu’à présent, car nous n’avons fait que rendre compte de l’état des services.

Pour démarrer un service, utilisez la commande start suivie du nom du service.

transpirer systemctl commencer exemple htg.service
Démarrage d'un service avec la commande systemctl start.

Si tout se passe bien, vous serez renvoyé silencieusement à l’invite de commande. Si vous préférez avoir une confirmation positive, vous pouvez la vérifier avec la commande status.

transpirer systemctl statut exemple htg.service
Vérification de l'état d'un service avec la commande systemctl status.

Arrêter un service est aussi simple que le démarrer.

transpirer systemctl arrêt exemple htg.service
Arrêt d'un service avec la commande systemctl stop.

Vous pouvez redémarrer un service sans avoir à passer par le processus en deux étapes consistant à l'arrêter puis à le redémarrer. Il commande de redémarrage fait tout pour vous.

transpirer systemctl redémarrage exemple htg.service
Redémarrage d'un service avec la commande systemctl restart.

Si vous souhaitez qu'un service démarre au démarrage, vous devez l'activer.

transpirer systemctl activer exemple htg.service
Activation d'un service avec la commande systemctl enable.

Notez que cela marque uniquement le service à démarrer au démarrage, il ne le démarre pas immédiatement. Si c'est ce que vous voulez, j'ai ajouté l'option –now.

transpirer systemctl activer --maintenant exemple htg.service
Activation et démarrage d'un service en même temps avec la commande systemctl enable --now.

Lorsque vous n’avez plus besoin qu’un service démarre au démarrage, désactivez-le.

transpirer systemctl désactiver exemple htg.service
Désactivation d'un service avec la commande systemctl disable.

Vous pouvez utiliser la commande journalctl, une autre partie de systemd, pour rechercher des entrées liées à votre service. L'option -u (unité) vous permet de spécifier le service qui vous intéresse. Avec l'option -S (depuis), vous pouvez afficher les entrées qui se sont produites depuis le moment que vous fournissez.

journalctl -S "08:00:00" -ou exemple htg.service
Utilisation de la commande journalctl pour afficher les entrées du journal système liées à un service spécifique.

Tout outil qui vous aide obtenir des informations sur l'opération Les composants internes de votre distribution Linux seront d'une valeur inestimable, à la fois pour la gestion quotidienne et pour le dépannage et le diagnostic des problèmes. La commande systemctl n’est pas un outil unique. Il s’agit plutôt d’un coffre à outils spécialisé, et il vaut la peine de se familiariser avec. 🔧🛠️

5 2 voix
Évaluation de l'article
S'abonner
Notifier de
invité

0 Commentaires
le plus ancien
Le plus récent Les plus votés
Commentaires en ligne
Voir tous les commentaires