En cette nouvelle année, j'avais envie d'écrire un petit billet sur systemd, le daemon d'init qui aura bientôt le quasi-monopole dans l'univers des distributions GNU/Linux. Ça fait maintenant un certain temps que j'entends un certain nombre de critiques concernant ce logiciel développé par Lennart Poettering. Certes, je ne suis pas développeur, certes, je n'ai pas consulté et analysé le code en détail mais je vais donner mon avis en tant qu'utilisateur lambda.

Il est vrai que SysVinit est un daemon assez veillissant et qu'il était certainement utile de le faire évoluer, voir de créer un nouveau gestionnaire d'init mais pas dans n'importe quelles conditions. Ce logiciel devait, à mon sens, absolument ternir compte des points suivants :

  • Make each program do one thing well.
  • Store data in flat text files.
  • Use shell scripts to increase leverage and portability.
  • Choose portability over efficiency.

Ces énumérations ne sont ni plus ni moins que les fondamentaux de la philisophie Unix. Établis il y a 20 ans, ces derniers ont toujours autant de résonnance aujourd'hui et ceux sont eux qui ont contribué à mon adhésion aux différents Unix-like.

Hors, Systemd ne respecte en rien cette philosophie :

  • En effet, aucune portabilité possible vers d'autres systèmes Unix.
  • Utilisation de binaires en lieu et place des scripts shell traditionnels
  • Utilisation de configurations dynamiques en lieu et place de fichiers texte
  • Gestion de l'init mais aussi des logs, des tâches planifiées, du café, des petits gâteaux...

Je n'avais, jusqu'à présent, pas touché à Systemd puisque j'utilise Debian Wheezy et OpenBSD. J'ai donc installé Fedora récemment pour des besoins spécifiques et j'ai essayé de gérer le service OpenVPN avec ce dernier. Et très honnêtement par rapport à Debian Wheezy et SysVinit, ça a juste été un calvaire ! Certes, je ne suis pas rompu à l'utilisation de ce nouveau daemon mais pas besoin d'être polytechnicien pour se rendre compte de l'usine à gaz qu'est Systemd... Cette furtive expérience m'a amenée à reconsidérer mon utilisation de GNU/Linux.

Enfin ce qui me gêne le plus, ce n'est pas Systemd en lui-même, mais plutôt le futur monopole qui est entrain de s'immiscer dans l'écosystème GNU/Linux sans offrir de solutions alternatives ! Reste heureusement les inaliénables Gentoo et Slackware qui font encore de la résistance.

La mise en place d'un nouveau système d'init était certainement nécessaire mais le choix qui a été fait est très contestable à bien des égards. Je pense personnellement que certains vont essuyés les plâtres mais pire que systemd n'est pas la solution que l'on était en droit d'attendre. Ainsi, je vous recommande une vidéo assez objective qui recapitule bien les enjeux liés à Systemd.

Je suis également curieux d'observer l'évolution du projet Devuan. En attendant, je suis passé sur un Dual-Boot Crunchbang/OpenBSD.

Bonne année à tous !