Table des matières
- Introduction
- Qu'est-ce qu'un service Linux ?
- Qu'est-ce que systemctl ?
- Vérifier l'état d'un service
- Afficher tous les services
- Démarrer un service
- Arrêter un service
- Redémarrer un service
- Recharger la configuration
- Vérifier rapidement si un service est actif
- Activer un service au démarrage
- Désactiver le démarrage automatique
- Consulter les journaux d'un service
- Recharger la configuration de systemd
- Conclusion
Introduction
Sous Linux, de nombreux programmes fonctionnent en permanence en arrière-plan afin d'assurer le bon fonctionnement du système. Ces programmes sont appelés des services. Ils permettent notamment de gérer le réseau, les connexions à distance, les serveurs Web ou encore les bases de données. Grâce à l'outil systemctl, il est possible de contrôler facilement ces services : les démarrer, les arrêter, les redémarrer ou encore vérifier leur état. Dans ce tutoriel, nous allons découvrir les principales commandes pour administrer les services sous Linux.
Qu'est-ce qu'un service Linux ?
Un service Linux est un programme qui s'exécute en arrière-plan afin d'assurer une tâche spécifique sur le système, sans intervention directe de l'utilisateur. Contrairement à une application classique que vous ouvrez et fermez manuellement, un service démarre généralement automatiquement au lancement de l'ordinateur ou du serveur et reste actif tant qu'il est nécessaire. Les services permettent notamment de gérer le réseau, les connexions à distance, les serveurs Web, les bases de données ou encore l'impression.
Quelques exemples de services courants :
- ssh : permet les connexions à distance.
- apache2 ou nginx : héberge un site Web.
- docker : gère les conteneurs Docker.
- NetworkManager : gère les connexions réseau.
- cron : exécute des tâches planifiées.
Qu'est-ce que systemctl ?
systemctl est la commande utilisée pour communiquer avec systemd, le gestionnaire de services présent sur la majorité des distributions Linux modernes comme Ubuntu, Debian, Fedora ou Rocky Linux.
Grâce à cette commande, vous pouvez :
- afficher l'état d'un service ;
- démarrer ou arrêter un service ;
- redémarrer un service ;
- activer ou désactiver son démarrage automatique ;
- consulter les journaux d'exécution.
Vérifier l'état d'un service
Avant de modifier un service, il est conseillé de vérifier son état.
systemctl status ssh
Résultat

Explication :
- Loaded indique que le service est installé.
- Active indique si le service fonctionne.
- Main PID correspond au processus principal du service.
Afficher tous les services
Pour afficher tous les services connus par le système :
systemctl list-units --type=service
Résultat - Une liste de services apparaît :

Démarrer un service
Pour lancer un service immédiatement :
sudo systemctl start apache2

Cette commande démarre le service Apache sans redémarrer l'ordinateur.
Apache2 est un service Web qui permet d'héberger et de diffuser des sites Web ou des applications aux utilisateurs via un navigateur Internet.
Vous pouvez vérifier son état :
systemctl status apache2
Résultat :

Arrêter un service
Pour arrêter un service :
sudo systemctl stop apache2
Résultat :

Le service est arrêté jusqu'à son prochain démarrage manuel ou automatique.
Redémarrer un service
Après une modification de configuration, il est souvent nécessaire de redémarrer le service.
sudo systemctl restart apache2
Le service est arrêté puis relancé immédiatement afin d'appliquer les nouvelles modifications.

Recharger la configuration
Certains services permettent de relire leur configuration sans être complètement redémarrés.
sudo systemctl reload apache2
Contrairement à restart, cette commande ne coupe pas le service et recharge uniquement son fichier de configuration.

Vérifier rapidement si un service est actif
Pour connaître uniquement l'état d'un service :
systemctl is-active apache2
Résultat
Si le service fonctionne :

Sinon :

Activer un service au démarrage
Pour que le service démarre automatiquement au lancement du système :
sudo systemctl enable apache2
Résultat
Created symlink...
Le service sera désormais lancé automatiquement à chaque démarrage de Linux.

Désactiver le démarrage automatique
Pour empêcher un service de se lancer automatiquement :
sudo systemctl disable apache2
Le service restera installé mais devra être démarré manuellement.

Consulter les journaux d'un service
Lorsque vous rencontrez un problème, il est souvent utile de consulter les journaux du service.
journalctl -u apache2
Résultat

Pour afficher uniquement les 20 dernières lignes :
journalctl -u apache2 -n 20

Pour suivre les nouveaux événements en temps réel :
journalctl -u apache2 -f

Cette dernière commande est très pratique pour surveiller un service pendant un dépannage.
Recharger la configuration de systemd
Si vous créez ou modifiez un fichier de service, demandez à systemd de recharger sa configuration.
sudo systemctl daemon-reload
Cette commande permet à systemd de prendre en compte les nouvelles modifications sans redémarrer le système.
Conclusion
La commande systemctl est un outil indispensable pour administrer un système Linux. Elle permet de gérer facilement les services, qu'il s'agisse de les démarrer, de les arrêter, de vérifier leur état ou de les configurer pour qu'ils se lancent automatiquement au démarrage. En maîtrisant ces commandes, vous disposerez des bases nécessaires pour administrer efficacement un poste Linux ou un serveur et diagnostiquer rapidement les problèmes liés aux services.
Commentaires
Laisser un commentaire
Soyez le premier à commenter cet article !