Sommaire
🐧 Module L5 – Gestion des services et systemd
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).
À 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.
| Commande | Effet |
|---|---|
systemctl start apache2 | Démarre le service immédiatement |
systemctl stop apache2 | Arrête le service immédiatement |
systemctl restart apache2 | Arrête puis redémarre le service |
systemctl reload apache2 | Recharge la configuration sans coupure de service |
systemctl status apache2 | Affiche l'état détaillé (actif, PID, dernières lignes de log) |
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.
| Commande | Effet |
|---|---|
systemctl enable apache2 | Le service démarrera automatiquement au prochain boot |
systemctl disable apache2 | Le service ne démarrera plus automatiquement |
systemctl enable --now apache2 | Active ET démarre le service en une seule commande |
systemctl is-enabled apache2 | Vérifie si le service est activé au démarrage |
systemctl is-active apache2 | Vé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.
| Commande | Effet |
|---|---|
journalctl -u apache2 | Affiche les journaux d'un service précis |
journalctl -u apache2 -f | Suit les journaux en direct (comme tail -f) |
journalctl -u apache2 --since today | Filtre les journaux depuis aujourd'hui |
journalctl -p err | N'affiche que les erreurs (priorité err) |
journalctl -b | Affiche 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.