La dernière version du système d’initialisation systemd est sortie, avec comme slogan ouvertement critiqueur: « Bientôt disponible dans votre distribution la plus proche, maintenant avec 42 % de moins de philosophie Unix. »
Comme le souligne l’annonce de Lennart Poettering, c’est la première version de systemd dont le numéro de version est une valeur sur neuf bits.
La version 256, comme d’habitude, apporte une large gamme de nouvelles fonctionnalités, mais désactive également certaines fonctionnalités plus anciennes qui sont maintenant considérées comme obsolètes. Par exemple, elle ne s’exécutera pas sous cgroups version 1 à moins d’être forcée.
Présents depuis 2008, les cgroups sont un mécanisme de conteneurisation du noyau Linux initialement donné par Google, il y a plus d’une décénie. Les cgroups v2 ont été fusionnés en 2016, donc ce n’est pas un changement radical. Les scripts de service System V sont également obsolètes, tout comme la variable EFI SystemdOptions.
De plus, il y a quelques nouvelles commandes et options. Certaines sont relativement mineures, comme le nouveau binaire systemd-vpick, qui peut sélectionner automatiquement le dernier membre des répertoires versionnés. Avant que les admirateurs d’OpenVMS ne s’enthousiasment, non, Linux ne prend plus en charge les versions sur les fichiers ou répertoires. En contre-parti, il existe une nouvelle option qui utilise un système de « versionnement » (pardonnez l’anglicisme) formalisé impliquant:
…les chemins dont les composants finaux ont le suffixe .v/, pointant vers un répertoire.
Ces composants rechercheront alors automatiquement les fichiers appropriés à l’intérieur du répertoire, effectueront une comparaison de versions et ouvriront le fichier le plus récent trouvé (par version).
La dernière fonction, qui risque de faire des remous, est une toute nouvelle commande, « run0 », qui remplace efficacement la commande « sudo » telle qu’elle est utilisée dans macOS d’Apple et dans Ubuntu depuis la première version.
Agent P a introduit la nouvelle commande dans un fil Mastodon. Il indique que le principal avantage de run0 est qu’il n’a pas besoin de setuid, une fonction POSIX de base qui, pour citer sa page de manuel Linux, « définit l’identifiant utilisateur effectif du processus appelant. » En d’autres termes, sudo fait de la magie noire pour que le système d’exploitation traite une commande exécutée par un utilisateur ordinaire et non privilégié – c’est-à-dire vous, le péon – comme si le superutilisateur, « root », avait exécuté cette commande à la place. C’est une commande très ancienne, datant de 1980, mais elle n’est devenue populaire que dans les premières années de ce siècle. Elle était si acceptée que dès 2006, elle était le sujet de bandes dessinées.
M. Poettering considère ce « tour de magie » comme une mauvaise chose :
Dans mon monde idéal, nous aurions un système d’exploitation entièrement sans SUID. Rejetons le concept de SUID sur le tas des mauvaises idées de l’UNIX.
Une autre nouvelle commande est importctl, qui gère l’importation et l’exportation à la fois des images de disque au niveau des blocs et au niveau du système de fichiers. Et il y a un nouveau type de service système appelé « capsule« , ainsi qu’un « petit nouveau gestionnaire de services » appelé systemd-ssh-generator, qui permet aux machines virtuelles et aux conteneurs d’accepter les connexions SSH tant que systemd peut trouver le binaire sshd – même si aucun réseau n’est disponible.
Nous soupçonnons que, comme d’habitude, de nombreux anciens habitués des systèmes *NIX râleront que ce type de fonctionnalité n’a pas sa place dans un système d’initialisation. C’est effectivement discutable, mais la montée de systemd semble maintenant inexorable. Une claire majorité de distributions l’utilisent maintenant, et de nouveaux adeptes continuent d’apparaître. Il reste quelques réfractaires, et FreeBSD est là comme un espace sûr.
Les notes de version contiennent une liste complète des changements, et le responsable du projet a une liste de file décrivant les nouvelles fonctionnalités et la logique qui les sous-tend. Source: The Register