← Retour au portail

🐧 Module L5 – Gestion des services et systemd

📘 Fiche de cours ⏱️ 2h 🐧 Bloc 2 – Linux
Objectifs : comprendre le rôle de systemd, savoir démarrer/arrêter/activer un service, et consulter les journaux avec journalctl.

📖 Introduction

Sur les distributions Linux modernes comme Debian, systemd est le système d'initialisation (init system) : c'est lui qui démarre les services au boot, les surveille, et permet de les gérer manuellement. Savoir maîtriser systemctl et journalctl est indispensable avant d'aborder la sécurisation des serveurs (module L6).

💡 À retenir : Un service (ou « unité » systemd) est un programme qui tourne en arrière-plan, sans interaction directe avec l'utilisateur (ex. serveur web, base de données, SSH).
🎯

À l'issue de ce module, vous serez capable de :

  • Expliquer le rôle de systemd comme système d'initialisation.
  • Démarrer, arrêter et redémarrer un service avec systemctl.
  • Activer un service au démarrage (enable) ou l'en empêcher (disable).
  • Consulter le statut détaillé d'un service.
  • Consulter et filtrer les journaux système avec journalctl.

⚙️ Les commandes de base : systemctl

La commande systemctl est l'outil principal pour piloter les services gérés par systemd.

CommandeEffet
systemctl start apache2Démarre le service immédiatement
systemctl stop apache2Arrête le service immédiatement
systemctl restart apache2Arrête puis redémarre le service
systemctl reload apache2Recharge la configuration sans coupure de service
systemctl status apache2Affiche l'état détaillé (actif, PID, dernières lignes de log)
💡 À retenir : Ces commandes changent l'état immédiat du service, mais pas son comportement au prochain démarrage de la machine — c'est le rôle de enable / disable (voir ci-dessous).

🚀 Activer un service au démarrage

Un service peut être démarré manuellement (start) sans pour autant redémarrer automatiquement après un reboot. Il faut alors l'activer.

CommandeEffet
systemctl enable apache2Le service démarrera automatiquement au prochain boot
systemctl disable apache2Le service ne démarrera plus automatiquement
systemctl enable --now apache2Active ET démarre le service en une seule commande
systemctl is-enabled apache2Vérifie si le service est activé au démarrage
systemctl is-active apache2Vérifie si le service est actuellement démarré
⚠️

Piège classique

start et enable sont deux actions indépendantes. Un service démarré (start) mais non activé (enable) ne redémarrera pas après un reboot — un oubli fréquent en configuration de serveur !


📋 Consulter les journaux avec journalctl

systemd centralise les journaux (logs) de tous les services dans le journal systemd, consultable avec journalctl.

CommandeEffet
journalctl -u apache2Affiche les journaux d'un service précis
journalctl -u apache2 -fSuit les journaux en direct (comme tail -f)
journalctl -u apache2 --since todayFiltre les journaux depuis aujourd'hui
journalctl -p errN'affiche que les erreurs (priorité err)
journalctl -bAffiche les journaux depuis le dernier démarrage (boot)
🔗

Pour aller plus loin

Retrouvez le Mémo – systemd & journalctl (onglet Mémoriser) pour une fiche condensée, et enchaînez avec le module L6 – Sécurisation des serveurs Linux qui s'appuie directement sur ces compétences.