Quentin Demoulière

Mon blog personnel

À propos de Systemd

Rédigé par Quentin Demouliere - - 7 commentaires

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 !

 

Debian and Unix Addict

7 commentaires

#1 Frederic Bezies a dit :

Futur monopole ? Tout de suite les grands mots / maux :)

Comme celui de Canonical en quelque sorte ? :D

Si on suivait les recommandations d'unix, il faudrait aussi virer : LibreOffice, Mozilla Thunderbird, et combien d'outils récents qui sont multi-taches ? :D

Tu n'as cité que Slackware et Gentoo avec son OpenRC. Quid de runit employé par la Void Lunix ?

La portabilité ? Tu me donneras le nom d'un logiciel portable d'unix en unix sans la moindre adaptation nécessaire :)

Quant à l'usine à gaz, ce sont plutôt pour le pauvre utilisateur final, les scripts aussi long que le bottin téléphonique.

Le seul unix qui ait réussi à percer auprès du grand public (rire), c'est Linux justement. Que Systemd ne soit pas parfait, nul ne le nie. Mais pourquoi alors upstart qui est utilisé par Canonical jusqu'à la 14.10 inclue n'a pas pris la place de systemd, alors que la majorité des distributions sont basées sur Ubuntu ?

Devuan ? C'est un projet mort-né, car il ne tiendra pas le coup durant l'année de support post-publication de Jessie.

C'est un projet mort né à l'image de Gone Me.

#2 Quentin Demouliere a dit :

@Frederic Bezies :

Bonsoir Fred,

Futur Monopole: purement et simplement réaliste. Cette histoire de systemd est avant tout politique (cf RedHat) et je trouve cette histoire assez malsaine.

Je n'ai cité que Gentoo et Slackware car c'est les distributions qui me venaient en tête. La Void Linux, je ne connais pas et je suis beaucoup moins spécialiste concernant le panel des distributions qui existent dans l'univers Linux que toi ;). Mais merci pour l'information.

Oui Linux suit de moins en moins la philosophie Unix et c'est un problème. Toi qui aime Arch, je suis très nostalgique de l'époque du rc.conf !

Des logiciels portables : mutt, irssi, xfce et plein d'autres... Regarde juste la liste des logiciels portés sur les *BSD avec peu d'adaptations.

Pour l'histoire de l'usine à gaz, il n'y a absolument pas photo entre en script SHELL lisible et des binaires qui font des trucs sur lesquels on a peu de visibilité. Idem pour le fait que systemd ne passe plus par des fichiers de configuration propres et claires...

Le seul unix qui est réussi à percer c'est Linux mais certainement pas pour les raisons que tu évoques. Comme le dit très justement Andrew Tanenbaum, Linux a percé car à l'époque c'était la seule alternative, le système BSD étant empêtrait dans des histoires judiciaires avec AT&T.

En ce qui concerne UpStart, je n'en pense pas beaucoup plus de bien que systemd. :)

Enfin pour le projet Devuan, je serai moins affirmatif que toi et j'attends de voir. Il me semble que tu t'es déjà planté un certain nombre de fois dans tes prédictions. Ça me donne donc un peu d'espoir.

#3 Frederic Bezies a dit :

Réponse rapide et groupée.

Pour le monopole, que dire de celui de bash dans un autre domaine ? :)

Je ne suis pas vraiment nostalgique du rc.conf qui était devenu un bazar monstre au final, et qui du fait de son côté centralisateur était casse gueule au possible à chaque modification.

Je préfère les petits fichiers .conf comme vconsole.conf ou locale.conf qui permettent de gérer plus finement l'ensemble.

Les fichiers de config propre et simple ? Comme journald.conf par exemple ?

# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# You can override the directives in this file by creating files in
# /etc/systemd/journald.conf.d/*.conf.
#
# See journald.conf(5) for details

[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitInterval=30s
#RateLimitBurst=1000
#SystemMaxUse=
#SystemKeepFree=
#SystemMaxFileSize=
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#MaxRetentionSec=
#MaxFileSec=1month
ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg

Si on lit le man en question, tout s'éclaire :)

J'avoue que je voudrais savoir quel est le niveau de rustinage des logiciels en question pour le port entre les différents unix.

Pour Linux, il faut dire qu'il a aussi bénéficier d'une erreur stratégique de la FSF : s'empêtrer dans le format micro-noyau.

Devuan ? Le projet est trop "imbibé" du "on envoie chier systemd". Je te conseille de jeter un oeil au github, y a pas grand chose. Il aurait été tout aussi simple de proposer une série de paquets qui aurait éviter tout le pataquès qui est arrivé.

Donc, je maintiens mon doute profond sur la pérénité du projet. Combien de personnes jeteront Debian à la fin de vie de Wheezy (courant 2016) ?

Le problème est que le groupe derrière Devuan aurait forké, quelque soit le résultat des consultations.

#4 arpinux a dit :

bonsoir,
je partage intégralement ton avis et pense aussi que l'utilisation de systemd par défaut sur la prochaine Debian ne prouve qu'une chose : Debian perd son indépendance de façon très claire et publique. malgré l'opposition d'une partie de la communauté, systemd est passé "en force". malheureusement, la plupart des users s'en tapent et ne se mobilisent que pour les trucs "funs".
dev d'handylinux, basée sur Debian ,je vais être obligé d'utiliser systemd, car je n'ai pas les compétences pour m'en passer tout en gardant une base Debian/Xfce.
j'ai installé VoidLinux sur mon system perso, et même si j'aime bien ,je suis très tenté par l'aventure BSD.
merci pour ton article qui rejoint les nombreux autres articles ou avis que les développeurs ne lisent pas car "on peut pas comprendre" ou "on est réfractaire à la nouveauté" ... bref, il n'y a jamais eu de débat en fait. rip sysvinit.

#5 Darius Saclay a dit :

Salut @Quentin, voici mes petites remarques :

"Il est vrai que SysVinit est un daemon assez veillissant et qu'il était certainement utile de le faire évoluer"
Peut-être dire pourquoi exactement. J'avoue que, n'étant pas dans le sujet, je ne vois pas ce qu'on lui reproche. Peut-être le rappeler.

Peut-être traduire la partie en anglais alors que tout le reste est en français.

"je vais donner mon avis en tant qu'utilisateur lambda."
C'est ce que je suis et j'aurais besoin d'exemples concrets pour comprendre ce que tu reproche à systemd.
"ça a juste été un calvaire !"
Des détails peut-être ?


Merci et bon courage pour la suite.

#6 anonyme a dit :

Bonsoir.
«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 !»
Exactement. Amoureux de Debian, j'ai quitté le navire pour adopter Devuan. Si Debian m'avait laissé le choix d'installer l'init que je voulais, j'aurais conservé la Debian Jessie, mais la systemD, non merci. Je lorgne de plus en plus sur du BSD (FreeBsd ou OpenBsd)!
Pourquoi défont-ils ce qui est simple, lisible... Pour des binaires...

#7 Quentin Demouliere a dit :

@anonyme :
Bonjour,

Je pense que l'adoption de systemD par l'ensemble de la communauté est avant tout lié à des questions politiques. RedHat, notamment, dispose de moyens de pression très forts à ce niveau-là. Je suis plutôt d'accord avec les arguments sur l'obsolescence de sysVinit mais contre le monopole qui est entrain de s'installer. J'utilise pour ma part Debian Jessie avec sysVinit pour l'instant mais j'irai voir du côté de Devuan dès que possible.

Je me suis également tourné pour certains besoins vers OpenBSD et FreeBSD.
Librement,

Quentin

Écrire un commentaire

Quelle est la première lettre du mot gtjuc ? :