Accueil🇫🇷Chercher

systemd

systemd est une suite logicielle qui fournit une gamme de composants système pour les systèmes d'exploitation Linux.

systemd
Description de l'image Systemd-logo.svg.
Description de cette image, également commentée ci-après
DĂ©marrage de Fedora avec systemd.

Chronologie des versions

Composants de systemd
Unified hierarchy cgroups sera accessible exclusivement par systemd.

Le premier composant de systemd est le système d’initialisation, il a pour but d'offrir un meilleur cadre pour la gestion des dépendances entre services, de permettre le chargement en parallèle des services au démarrage et de réduire les appels aux scripts shell. C'est une alternative à SysV init. Il fournit également des remplacements pour divers daemons et utilitaires, notamment pour la gestion des périphériques, la gestion des connexions des utilisateurs, la gestion des connexions réseau et la journalisation des événements.

Le projet a été lancé par Lennart Poettering en 2010 et publié sous licence GNU LGPL version 2.1[2]. Le nom de ce programme vient de « system daemon » : le daemon du système.

Ce projet a suscité de vives controverses chez les développeurs de GNU/Linux.

En 2015, la plupart des distributions GNU/Linux ont adopté ce système d’initialisation.

Concept

Systemd est basé sur quelques dizaines de binaires gérant l'ensemble du système de boot, et quittant ainsi la philosophie UNIX du KISS[3].

Systemd adopte un nouveau système de log appelé « The Journal », permettant de loguer plus rapidement et plus efficacement les différentes phases de démarrage. Les logs sont authentifiés afin de réduire les chances de corruptions lors d'un piratage, ils sont portables, et l'outil comporte une gestion de saturation de l'espace disque afin de mieux gérer les traces. Tout service géré par systemd est automatiquement logué, sauf si celui-ci demande à ne pas l'être. Il est par défaut compatible avec un environnement réseau et peut passer par les protocoles standard tels que syslog[4].

Systemd comporte un outil nommé « systemd-analyze », permettant d'analyser le temps de démarrage, de tracer les différentes étapes et de sortir les analyses sous forme de simples graphiques (format SVG), permettant de comprendre simplement les goulets d'étranglement de la séquence de démarrage.

Systemd diffère de l'init de System V en :

  • Utilisant des sockets et des bus pour dĂ©marrer et gĂ©rer les services. Il est ainsi plus facile de parallĂ©liser des services interdĂ©pendants ;
  • Utilisant les cgroups pour suivre les processus des services en plus des PID. Cela permet de maintenir la trace des dĂ©mons mĂŞme s'ils se dupliquent ;
  • Permettant sauvegardes et restaurations de l'Ă©tat du système (XDG Desktop Entry) ;
  • ParallĂ©lisant mieux, avec donc un temps de dĂ©marrage bien plus court.
  • Permet de monter ou dĂ©monter les points de montage ;
  • Élabore un système de gestion transactionnel des dĂ©pendances des services ;
  • Les services sont configurĂ©s dans des fichiers de type XDG « Desktop Entry »[5], Ă©galement utilisĂ©es par des environnements de bureau tel que Xorg et diffĂ©rents bureaux utilisant X11, tels que KDE, GNOME, XFCE, LXDE ou Unity.
  • La documentation de systemd comporte Ă  elle seule actuellement 579 entrĂ©es, rĂ©fĂ©rençant 216 pages de manuel, soit 72 % de toutes les pages de manuel d'Unix v7 pour un seul logiciel.

En , le code source d'udev a été intégré dans systemd[6]. systemd remplace donc System V et udev dans leurs fonctions respectives[7].

Adoption par les différentes distributions

Distribution Red Hat et ses dérivés

Distribution Debian et ses dérivés

  • Debian propose systemd dans ses dĂ©pĂ´ts (stable, testing, unstable) oĂą il est possible de le mettre comme système d'initialisation par dĂ©faut[10]; il est activĂ© par dĂ©faut dans la version 8 surnommĂ©e Jessie, sortie en 2015[11];
  • Ubuntu inclut systemd depuis la version 15.04 Vivid Vervet, sortie en 2015[12].

Il existe un fork de Debian, nommé Devuan, qui permet d'éviter d'utiliser systemd.

Distribution SUSE

  • La version 12.1 d'openSUSE inclut systemd (sortie le )[13] ;

Distribution Gentoo

  • Gentoo propose systemd dans portage comme alternative Ă  OpenRC (en)[14].

Le fork eudev

Gentoo développe eudev depuis 2013. Celui-ci est un fork d'udev dont le but est d'obtenir un meilleur support des systèmes qui n'utilisent pas systemd[15]. Pour les distributions binaires, leur choix, en , se résume à savoir si elles veulent supporter GNOME et dans ce cas si elles préfèrent utiliser systemd ou si, dans l'autre cas, elles préfèrent gérer la complexité supplémentaire d'une installation de GNOME sans systemd.

Autres distributions

Développement et polémique

Le projet a essuyé de nombreuses critiques et suscité de fiévreux débats[20].

Pour certains développeurs, systemd est devenu un plus grand problème que celui qu'il est censé résoudre car au lieu de fournir à l'administrateur les moyens de créer des politiques de gestion du système, il fournit directement ses politiques[21], au point qu'on compare parfois systemd au Service Host de Windows. Certains de ces détracteurs, utilisateurs de Debian, menacent même de faire un fork de leur distribution si celle-ci impose de fait l'utilisation de systemd en lieu et place de sysvinit[22]. Un fork nommé Devuan a été créé par les opposants qui n'obtenaient pas satisfaction, et la première version de Devuan est sortie fin [23].

Voici quelques critiques :

  • KISS : la philosophie UNIX "Keep It Simple, Stupid", n'est plus respectĂ©e. De fait, le classique et simple fichier /etc/mtab devient mĂ©connaissable dans les distributions systemd. Voici par exemple celui d'Ubuntu 16.04 (ici, alpha 2 version MATE):
  • Le changement est profond puisqu'il touche Ă  l'initialisation du système d’exploitation (dit PID 1) de GNU/Linux. Les habitudes des administrateurs systèmes sont bouleversĂ©es et ils doivent mettre Ă  jour leurs connaissances.
  • systemd implĂ©mente tellement de fonctionnalitĂ©s que la distribution peut (voire doit) se passer d'autres outils. En consĂ©quence les applications utilisant les fonctionnalitĂ©s systemd ne peuvent plus fonctionner sans. Cela a conduit Ă  la crĂ©ation d'une bibliothèque spĂ©ciale (systembsd) pour implĂ©menter les fonctions systemd Ă  part (pour les distributions GNU/Linux utilisant « Init »).
  • Lennart Poettering, le dĂ©veloppeur principal a Ă©tĂ© critiquĂ© pour son dĂ©veloppement mal gĂ©rĂ© de PulseAudio qu'il a par la suite abandonnĂ©.

Notes et références

  1. « systemd 253 released », (consulté le )
  2. « systemd », sur Wiki, Free desktop
  3. (en) « The Biggest Myths », (consulté le )
  4. (en) « Introducing the Journal » (consulté le )
  5. (en) « Desktop Entry Specification v 1.4 », (consulté le )
  6. « Commit », sur systemd, Free desktop
  7. « Linux weekly news »
  8. « ed-hat-enterprise-linux-7 », sur http://linuxfr.org,
  9. « Fedora 15’s Lovelock released », H online
  10. « systemd », sur Wiki, Debian
  11. L'annonce officielle via la liste de diffusion debian-devel-announce https://lists.debian.org/debian-devel-announce/2014/02/msg00005.html
  12. Release notes Ubuntu Vivid Vervet
  13. « OpenSuse 12.1 arrives with systemd & BtrFS », H online
  14. « Gentoo systemd project », Gentoo
  15. Gentoo eudev project « Copie archivée » (version du 22 juillet 2018 sur Internet Archive)
  16. « Mandriva 2011 arrives with Systemd [sic] », H online
  17. « Mageia 2 arrives with Gnome 3 and systemd », H online
  18. « SystemD », sur Wiki, Arch GNU/Linux
  19. « Arch dev public », sur Mailman, Arch GNU/Linux,
  20. « systemd : l’init martyrisé, l’init bafoué, mais l’init libéré ! - LinuxFr.org », sur Linuxfr (consulté le )
  21. « Linux Audio Development, JACK, cgroups and systemd »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?) (consulté le )
  22. Louis Adam, « Systemd sur Debian : la guerre de clochers tourne aux menaces », sur ZDNet, (consulté le )
  23. (en) « Devuan Jessie 1.0.0 stable release (LTS) », sur devuan.org, (consulté le )

Annexes

Articles connexes

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.