Objectifs
- Comprendre systemd, les unités et les services.
- Démarrer, arrêter et redémarrer un service avec systemctl.
- Distinguer l’état courant du démarrage automatique.
- Associer systemctl et journalctl dans un diagnostic.
Administrer les services avec systemd
systemd est le gestionnaire de système et de services utilisé par de nombreuses distributions modernes. Il gère des unités : services, sockets, montages, timers et autres ressources.
Une unité de type service décrit comment lancer et surveiller un processus de fond. systemctl envoie les demandes à systemd et affiche l’état connu de l’unité.
Consulter l’état courant
status fournit un résumé détaillé. is-active répond sur l’exécution actuelle ; is-enabled indique si l’unité est configurée pour démarrer automatiquement selon ses dépendances d’activation.
systemctl status nginx
systemctl is-active nginx
systemctl is-enabled nginxDémarrer, arrêter et redémarrer
start lance le service maintenant, stop l’arrête et restart effectue un arrêt suivi d’un démarrage. Ces opérations système nécessitent généralement sudo.
sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginxDifférence entre start et enable
start agit sur la session en cours mais ne configure pas le prochain démarrage. enable crée la configuration d’activation pour les prochains boots, sans garantir que le service démarre immédiatement.
sudo systemctl enable nginx
sudo systemctl disable nginxSi vous voulez à la fois activer et démarrer une unité, vérifiez les options documentées de votre version de systemctl ; garder les deux concepts séparés aide à comprendre le résultat.
Exemple pratique : un service ne démarre pas
Commencez par l’état, puis consultez le journal de l’unité. Le message d’erreur peut révéler une configuration invalide, un port déjà occupé, un fichier absent ou des permissions insuffisantes.
systemctl status nginx
journalctl -u nginx
systemctl is-enabled nginxsystemd n’est pas forcément le processus d’initialisation dans un conteneur, une distribution WSL ou un système minimal. Dans ce cas, systemctl peut être indisponible même si le logiciel existe.
Bonnes pratiques
Lisez l’erreur avant de relancer en boucle. Après une correction, vérifiez à nouveau status et les dernières lignes du journal, puis confirmez que le service écoute réellement sur le port attendu.
- Utiliser le nom exact de l’unité, par exemple nginx.service si nécessaire.
- Valider la configuration de l’application avant un restart lorsque l’outil le permet.
- Ne pas confondre service actif et service activé au démarrage.
Erreur fréquente : croire que enable démarre immédiatement le service
Mini résumé
- systemd gère des unités, dont les unités de type service.
- start, stop et restart agissent sur l’état courant.
- enable et disable configurent le démarrage automatique.
- systemctl status et journalctl -u forment la base du diagnostic.
Mini quiz
Trois questions pour vérifier les notions essentielles de la leçon.