systemd

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
systemd
Développeur Lennart Poettering
Dernière version 215 (3 juillet 2014) [+/-]
Écrit en C
Environnement GNU/Linux
Type daemon
Licence GNU LGPL
Site web freedesktop.org/wiki/Software/systemd
Composants de systemd
Unified hierarchy cgroups sera accessible exclusivement par systemd.

systemd est une alternative au démon init de System V spécifiquement conçu pour le noyau Linux. 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. Le projet a été lancé par Lennart Poettering en 2010 et publié sous licence GNU LGPL version 2.1[1]. Le nom de ce programme vient de « system daemon » : le daemon du système.

Concept[modifier | modifier le code]

Systemd est basé sur une soixantaines de binaires gérant l'ensemble du système de boot, et gardant ainsi la philosophie UNIX du KISS[2].

Il comporte notamment un outil nommé « systemd-analyse », permettant d'analyser le temps de démarrage, de tracer les différentes étapes et de sortir les analyses sous formes de simples SVG, permettant de comprendre simplement les goulots d'étranglement de la séquence de démarrage.

Il adopte un nouveau système de log appelé The Journal, permettant de loguer plus rapidement et plus efficacement les différentes phase 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[3]

Les avantages de systemd comparativement à l'init de System V sont :

  • Gestion et démarrage des services en utilisant des sockets et des bus, permettant d'avoir dans certains cas une meilleure parallélisation des services interdépendants;
  • Les cgroups sont utilisés 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.
  • Permet de faire des sauvegardes et des restaurations de l'état du système.XDG Desktop Entry
  • Offre une plus grande parallélisation, ayant comme effet de bord (mais pas une volonté de base) un temps de démarrage beaucoup plus court. Plusieurs témoignent du passage de plus de 10 secondes à 1 seconde.
  • 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 »[4], é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.

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

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[7]. Pour les distributions binaires, leur choix, en janvier 2014, 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.

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[8].

Adoption[modifier | modifier le code]

Voici une liste de distributions GNU/Linux ayant activé systemd par défaut :

Liens externes[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]

  1. « systemd », sur Wiki, Free desktop
  2. (en) « The Biggest Myths »,‎ 26 janvier 2013 (consulté le 27 juillet 2014)
  3. (en) « Introducing the Journal » (consulté le 27 juillet 2014)
  4. (en) « Desktop Entry Specification v 1.1 »,‎ 1er avril 2014 (consulté le 26 juillet 2014)
  5. « Commit », sur systemd, Free desktop
  6. « Linux weekly news »
  7. Gentoo eudev project
  8. « Linux Audio Development, JACK, cgroups and systemd » (ArchiveWikiwixArchive.isGoogleQue faire ?). Consulté le 2014-03-20
  9. « Fedora 15’s Lovelock released », H online
  10. « Mandriva 2011 arrives with Systemd [sic] », H online
  11. « Mageia 2 arrives with Gnome 3 and systemd », H online
  12. « OpenSuse 12.1 arrives with systemd & BtrFS », H online
  13. « SystemD », sur Wiki, Arch GNU/Linux
  14. « Arch dev public », sur Mailman, Arch GNU/Linux,‎ août 2012
  15. « systemd », sur Wiki, Debian
  16. L'annonce officielle via la liste de diffusion debian-devel-announce https://lists.debian.org/debian-devel-announce/2014/02/msg00005.html
  17. « Gentoo systemd project », Gentoo
  18. « ed-hat-enterprise-linux-7 », sur http://linuxfr.org,‎ 11-06-2014