À moins que vous n’ayez vécu sous un rocher, ou pire – vous ne vous souciez pas beaucoup du fonctionnement de Linux, vous devez avoir entendu parler de systemd, le (relativement) nouveau système d’initialisation remplaçant l’ancien et obsolète init SysV récemment adopté par la plupart des principaux Linux distributions.
Contenu
Qu’est-ce qu’un système d’initialisation ?
Lorsque votre machine Linux démarre, elle exécute d’abord un code « intégré », chargé d’abord à partir du BIOS ou de l’UEFI, suivi du chargeur de démarrage, qui, selon sa configuration, charge un noyau Linux. Le noyau charge les pilotes et, lors de sa toute première tâche, démarre le processus d’initialisation, qui est le premier à recevoir le PID (ID de processus) 1 qui lui est attribué.
Du point de vue de l’utilisateur, cela ressemble au démarrage d’un réseau et de bases de données, etc., mais en réalité, un processus assez complexe se déroule sous le capot. Les services sont démarrés, arrêtés et redémarrés, souvent parallèles les uns aux autres. Certains sont exécutés sous des privilèges différents des autres, les états de service sont signalés et consignés, et de nombreuses autres tâches sont exécutées qui feront fonctionner les différentes parties de votre système et pourront interagir avec ses utilisateurs et son environnement.
Cependant, la façon dont cela est mis en œuvre est loin d’être uniforme, et c’est vraiment là que tout s’arrête d’être commun et bien défini.
L’ancien système d’initialisation
Le système d’initialisation utilisé par la plupart des distributions Linux traditionnelles jusqu’à récemment était System V init (ou SysV init en abrégé), qui tire son nom de UNIX System V (prononcé « System Five »), le premier système UNIX disponible dans le commerce. System V OS a eu une manière spécifique d’exécuter son processus d’initialisation, et SysV init est resté fidèle à cela au fil des ans.
Et cela fait de nombreuses années. UNIX System V a été initialement publié en 1983, faisant d’init SysV init une approche vieille de plus de 30 ans pour le démarrage de machines Linux.
Le besoin de changement
Comme il a été noté, SysV init est obsolète et doit être remplacé depuis longtemps. Certaines des raisons à cela incluent:
Tout ce qui précède, et bien d’autres défauts de conception, ou plutôt la conception obsolète du système de SysV, a rendu la création d’un système d’initialisation moderne attendue depuis longtemps.
Entrez systemd
Il y a eu de nombreuses tentatives pour créer un système d’initialisation alternatif, dont systemd n’est que l’un d’entre eux. Ubuntu exécutait son propre système d’initialisation appelé upstart. Gentoo utilise toujours OpenRC. Les autres systèmes d’initialisation incluent initng, busybox-init, runit, Mudur et autres.
La raison pour laquelle systemd est clairement gagnant est qu’il a été adopté par la plupart des distributions majeures. RHL et CentOS ont naturellement suivi le chemin de systemd, car Fedora a été la première distribution à adopter officiellement systemd en 2011. Mais systemd est vraiment devenu le seul système d’initialisation à les gouverner tous, lorsque Debian 8 est officiellement passé à systemd, apportant Ubuntu et ses dérivés avec lui , dépassant l’opposition initiale de Canonical (ou plus précisément de Mark Shuttleworth) à l’égard de systemd.
En quoi systemd est-il différent ?
Bien sûr, ce ne sont que quelques-uns des principaux avantages. Pour une discussion complète sur les avantages de systemd, vous devriez lire la « Déclaration de position de Systemd » de Debian 8
Controverse
Bien sûr, systemd n’a pas été bien accueilli par tous. En fait, beaucoup l’ont désapprouvé et le désapprouvent toujours, le qualifiant de monolithique et encombrant, certains l’accusant même de suivre le « chemin des fenêtres » en centralisant tout. Beaucoup soutiennent que ce n’est pas « la manière Linux », et certainement systemd ne semble pas être conforme aux normes POSIX, et si nous considérons systemd comme une boîte à outils (au-delà du binaire), c’est définitivement hugae.
Néanmoins, systemd est clairement un pas en avant, et bien qu’il ne soit pas parfait, la plupart des critiques qu’il a reçues ont été adressées par son auteur et développeur d’origine, Lennart Poettering. C’est certainement une avancée indispensable et une amélioration par rapport à l’ancien système d’initialisation. Linus Torvalds, le créateur de Linux, ne semble pas trop se soucier de systemd, et qui sommes-nous pour discuter avec « The Creator ».
Conclusion
Ayant été adopté par toutes les principales distributions Linux, systemd est là pour rester. Quoi que disent certains administrateurs système pour une raison quelconque, systemd est l’avenir de Linux grand public, que les utilisateurs individuels le veuillent ou non, ce qui, compte tenu de ses avantages distincts, n’est pas nécessairement une mauvaise chose.
Pour l’utilisateur moyen, il apporte des temps de démarrage plus rapides et des systèmes probablement plus fiables, tandis qu’à l’avenir, les distributions qui l’adopteront pourront devenir plus « compatibles » les unes avec les autres. Du côté des utilisateurs, nous bénéficierons certainement de la conception de système plus à jour et plus contemporaine qu’il apporte à nos ordinateurs de bureau.
Cet article est-il utile ? Oui Non