| Distribution | Système d’init | Commande pour lister les services |
|---|---|---|
| Ubuntu/Debian/Fedora | systemd | systemctl list-units |
| Alpine Linux | OpenRC | rc-status ou rc-update show |
OpenRC et systemd sont deux systèmes d’initialisation (init) différents utilisés sous Linux. La principale différence est que systemd est un système intégré et tout-en-un, alors qu’OpenRC est plus modulaire et traditionnel, restant plus proche de l’esprit Unix.
Voici un tableau comparatif de leurs principales caractéristiques :
| Caractéristique | OpenRC | systemd |
|---|---|---|
| Philosophie | Unix : « Faire une chose et la faire bien ». Simple, modulaire. | Intégré : « Tout-en-un » pour contrôler tout le système. |
| PID 1 | Léger. Souvent utilisé avec un autre init (comme sysvinit). | C’est le PID 1. Il prend le contrôle total du système. |
| Langage des scripts | Scripts shell (classiques, très flexibles). | Fichiers .service (format déclaratif, similaire à du INI). |
| Dépendances | Gérées via des mots-clés dans les scripts (need, use, after). | Gérées via des relations explicites dans les fichiers .service. |
| Démarrage parallèle | Oui, mais parfois moins agressif pour éviter les conflits. | Oui, très agressif et optimisé (extrêmement rapide). |
| Gestion des logs | Non intégrée. Utilise syslog (ex: rsyslog, syslog-ng). | Intégré avec journald (stockage binaire, requêtes avancées). |
| Gestion des périph. | Non intégrée. Utilise udev (ou mdev). | Intégrée via udev (mais fait partie de systemd). |
| Gestion utilisateur | Non. Ne gère que les services système. | Oui, peut gérer les services pour chaque utilisateur (user mode). |
| Commandes principales | rc-service, rc-update, rc-status. | systemctl, journalctl, hostnamectl, timedatectl. |
| Distribution typique | Gentoo, Alpine Linux, Artix Linux (variante OpenRC). | Ubuntu, Debian, Fedora, Arch Linux, Red Hat. |
Résumé des avantages et inconvénients
Systemd (le standard moderne)
- Avantages : Très rapide, unifié (tous les outils sont en place), excellente documentation, standard sur les grandes distribs.
- Inconvénients : Complexe, considéré par certains comme « trop gros », moins modulaire (difficile de remplacer une partie).
OpenRC (l’approche traditionnelle)
- Avantages : Simple, léger, très modulaire (vous pouvez remplacer udev ou syslog facilement), scripts shell faciles à comprendre et déboguer.
- Inconvénients : Plus lent au démarrage que systemd, moins de distributions l’utilisent, moins d’outils intégrés (il faut ajouter des briques).
En pratique :
- Vous aurez systemd si vous utilisez Ubuntu, Debian (récent), Fedora, Arch Linux, Red Hat.
- Vous aurez OpenRC principalement sur Gentoo Linux (son berceau), Alpine Linux (léger pour conteneurs/embarqué), ou Artix Linux (si vous prenez la variante OpenRC).
Note historique : Le passage de nombreux systèmes de sysvinit (l’ancien init) vers systemd a été un grand débat dans le monde Linux. OpenRC est né comme une amélioration de sysvinit, sans adopter la philosophie de systemd.
