Chapitre 2.6 - Processus Init et systemd
Objectifs d'Apprentissage
À la fin de ce chapitre, vous serez capable de:
- Comprendre le rôle du processus init (PID 1)
- Expliquer comment systemd gère les services
- Comprendre les unit files systemd
- Gérer les services avec systemctl
Qu'est-ce que systemd?
systemd est le système d'initialisation et de gestion des services dans la plupart des distributions Linux modernes. Il remplace les anciens systèmes init (SysV init).
Rôles de systemd
1. Premier Processus (PID 1)
systemd est toujours le processus avec PID 1:
- Parent de tous les processus
- Gère les processus orphelins
- Ne peut pas être tué normalement
2. Gestion des Services
systemd démarre, arrête et surveille les services:
- Démarrage automatique au boot
- Redémarrage en cas d'échec
- Dépendances entre services
- Monitoring de l'état
3. Gestion des Niveaux d'Exécution
systemd utilise des targets (équivalents aux runlevels):
multi-user.target: Mode consolegraphical.target: Mode graphiquerescue.target: Mode de secourspoweroff.target: Arrêt
Unit Files
Les services systemd sont définis par des unit files:
[Unit]
Description=Service Web Apache
After=network.target
[Service]
Type=simple
ExecStart=/usr/sbin/apache2 -D FOREGROUND
Restart=always
[Install]
WantedBy=multi-user.target
Types d'unit files:
.service: Services.target: Niveaux d'exécution.timer: Tâches planifiées (alternative à cron).mount: Points de montage.socket: Sockets réseau
Commandes systemctl
Gestion des services avec systemctl:
# Voir l'état d'un service
systemctl status apache2
# Démarrer un service
systemctl start apache2
# Arrêter un service
systemctl stop apache2
# Redémarrer un service
systemctl restart apache2
# Activer au démarrage
systemctl enable apache2
# Désactiver au démarrage
systemctl disable apache2
# Voir tous les services
systemctl list-units --type=service
Journal systemd
systemd gère les logs avec journalctl:
# Voir les logs d'un service
journalctl -u apache2
# Logs en temps réel
journalctl -f
# Logs depuis aujourd'hui
journalctl --since today
# Logs avec priorité
journalctl -p err
Résumé
Dans ce chapitre, vous avez appris:
systemd: Système d'initialisation moderne, PID 1
Rôles: Gestion services, processus, niveaux d'exécution
Unit files: Configuration des services
systemctl: Commandes de gestion
journalctl: Visualisation des logs
Prochaines Étapes
Chapitre 2.7: Services et Démon
Chapitre 2.8: Niveaux d'Exécution (Runlevels)
Chapitre créé le: Décembre 2024