Debian et Devuan unissent leurs forces pour sysvinit

Il y a quelques jours , la prochaine version du système d'initialisation classique Unix / Linux sysvinit 2.92 a été lancée plus tôt que prévu. Le numéro précédent 2.91 est sorti il ​​y a un peu plus d'un mois.


devu


Qu'est-ce qui est remarquable à propos de la sortie de la version mineure de l'ancien système d'initialisation (SI), que presque toutes les distributions Linux modernes ont refusé, et quel genre de joie est-ce pour la communauté open source et les utilisateurs de Debian Linux?


Cet épisode est intéressant en ce que la sortie était un effort conjoint de deux équipes de développement antagonistes de Debian et Devuan, qui se sont séparées il y a 4 ans en raison de la situation autour de systemd . Mais mettons-le dans l'ordre.


Triple vote sur systemd


Quelques mois avant la sortie de Debian Jessie, les chefs de projet ont été confrontés à la nécessité de décider du système d'initialisation. À cette époque, systemd gagnait déjà en popularité et était l'un des principaux prétendants. Au total, quatre SI ont participé à la course.


  • systemd
  • parvenu;
  • openrc;
  • sysvinit.

Le vote avait également le choix de «poursuivre la discussion».


Les résultats du premier tour ont montré un équilibre entre arriviste et systemd , chacun d'eux a reçu 4 voix. Pour prendre une décision, un ratio de 2: 1 était nécessaire.


Deux semaines plus tard, un deuxième tour a eu lieu début février 2014, au cours duquel rien de nouveau ne s'est essentiellement produit. Les voix ont été divisées dans la même proportion et une décision a été prise sur la suite du débat.


En faveur de systemd a voté:


  • Bdale Garbee - prĂ©sident du comitĂ© technique;
  • Don Armstrong
  • Keith Packard, un gourou X qui travaille actuellement chez Valve;
  • Russ Albery.

Pour parvenu voté:


  • Colin Watson;
  • Steve Langasek;
  • Ian Jackson;
  • Andreas Barth.

Et pour la troisième fois, le TC a voté, simplifiant considérablement les règles et soulevant la question. En éliminant tous les problèmes secondaires de l'ordre du jour et en abaissant le seuil de décision à la majorité simple, la commission a voté en faveur de systemd dès le troisième appel


Non, aucun des partisans parvenus n'a déménagé dans le camp opposé, le résultat du vote a été décidé par un vote supplémentaire du président du comité technique, Bidel Garby, et la question de l'IS pour Debian Linux a été résolue avec un seul vote avec le précédent équilibre des opinions de 4: 4.


Linus rase Bideil Garby Ă  LinuxConf 2009


se raser


Le résultat du vote a provoqué un fort sentiment d'amertume, de déception et d'injustice parmi les opposants à systemd . Sur les listes de diffusion Debian, les passions étaient élevées.


Ian Jackson a appelé Bideil Garby à démissionner de son poste de président du TC. Relâchant ensuite la vapeur, j'ai décidé de m'éloigner temporairement de la participation aux affaires du TC.


Après quelques jours le 11 février, il est devenu clair que la décision pour Debian Linux était finalement prise et que dans un avenir prévisible, le principal système d'initialisation de la distribution sera systemd .


Devuan


Les développeurs de la distribution Debian Linux, qui n'étaient pas d'accord avec cet état de fait, n'ont pas pleuré longtemps et six mois avant la sortie de la même 8ème version, ils ont créé leur fork sur la base de systvinit et l'ont nommé Devuan , à partir de la phrase Dev one .


Le point culminant du kit de distribution et sa principale différence par rapport au système d'exploitation parent ont été à l'origine de toute cette agitation. Devuan Linux a choisi sysvinit comme SI. De manière générale, la naissance du développement de la distribution a été accueillie avec beaucoup d'enthousiasme par les utilisateurs de Linux, sans exclure la partie russophone de celle- ci.


En juin , la deuxième version du kit de distribution a été publiée sur la base du package de la dernière version de son ancêtre - Debian Stretch. En plus de sysvinit , vous pouvez également choisir openrc comme SI.


Essayons de comprendre ce qui a causé une telle scission dans l'environnement des développeurs Debian, et en fait parmi un grand nombre d'utilisateurs de diverses variantes du système d'exploitation Linux. En effet, auparavant, il y avait des décisions difficiles et des tournants dangereux dans l'histoire de GNU / Linux: GPLv3 ou non , UEFI SecureBoot , etc. Pourquoi, alors, tout cela s'est-il débrouillé?


Controverse autour de systemd


Si nous réduisons l'essence de tous les litiges à une seule thèse, alors nous pouvons dire que systemd implique l'échange du contrôle le plus complet sur l'initialisation du système et de ses services pour un rejet total de la philosophie Unix.


Et le premier est farouchement contesté par les opposants à systemd , mais personne ne conteste le second. Tout le monde n'est pas d'accord pour dire que systemd facilite la vie de l'administrateur, mais peu peuvent affirmer que systemd et Unix Way sont deux extrêmes.


systemd fournit des capacités de parallélisation agressives, utilise les sockets D-Bus et l'activation pour les services lancés, propose des démons à lancer selon les besoins, surveille les processus à l'aide des groupes de contrôle Linux, prend en charge les instantanés et la restauration de l'état du système, les montages et les points de montage, et implémente les dépendances logique de contrôle des processus de transaction complexes .

D'où vient la nécessité d'un système aussi complet pour contrôler l'initialisation du système d'exploitation et de ses processus? Je ne crois pas à la théorie du complot et je crois donc que les raisons étaient dans les défauts du sysvinit et des autres SI.


Créé en 1983, sysvinit n'a pas été en mesure de résoudre un certain nombre de tâches importantes, telles que:


  • dĂ©marrage parallèle des processus;
  • DĂ©tection de supports amovibles
  • activation de services basĂ©s sur socket;
  • ContrĂ´lez de manière fiable les dĂ©pendances entre diffĂ©rents processus et services
  • enregistrement prĂ©coce des Ă©vĂ©nements via /dev/log .

Tous ces inconvénients et bien d'autres ont finalement été résolus dans systemd . La standardisation des fichiers de configuration, l'unification de la syntaxe et la gestion des dépendances des services basés sur les cgroups auraient permis aux vendeurs de distributions commerciales Linux de simplifier la vie des administrateurs et de réduire les coûts de gestion du parc de serveurs.


Mais quel était le prix? Selon une conception étrange, l'idée originale de Lennart Pottering est passée d'un SI régulier à un «ensemble de blocs de construction pour le système Linux». Citation de la page principale du projet. Une sorte d'état dans l'état qui contrôle la connexion des périphériques, les points d'entrée des systèmes de fichiers, les connexions réseau, le service d'heure système, les sessions utilisateur, les journaux système, etc.


Dans le même temps, de nombreux développeurs DE, en particulier Gnome, ont commencé à lier des éléments de l'environnement graphique à systemd :


  • gestion de l'Ă©nergie;
  • gestion des sessions utilisateur;
  • regarder le magazine;
  • si vous fermez l'Ă©cran du portable, les Ă©vĂ©nements ne seront pas traitĂ©s;
  • Wayland

Tout cela ne décollera pas dans Gnome sans correctifs spéciaux, si vous choisissez un SI différent sauf systemd .


La raison de cet état de fait est qu'il est trop difficile de prendre en charge deux options pour de nombreux ensembles de programmes: l'un avec systemd et l'autre sans. En conséquence, une situation est créée lorsqu'il n'y a aucun moyen de sélectionner un autre SI dans la distribution Linux.


Nuage de mots clés autour de systemd sur Twitter .


systemd


Eh bien, il n'y a aucun moyen de choisir SI, est-ce vraiment si important? Je ne pense pas que cela me bouleversera grandement s’il n’existe aucune possibilité de choisir un chargeur de système d’exploitation ou un client DHCP.


Comme il s'avère pour de nombreux utilisateurs, systemd agace beaucoup de choses. La journalisation précoce et complète des événements système dès le lancement est certes bonne, mais comment imaginer un système Linux avec des fichiers journaux binaires?


Lennart Pottering est peut-être un bon programmeur, mais le style de sa communication et la réaction aux défauts détectés, à la critique sont au-dessous de toute critique. Voici sa réaction au défaut 5644 .


Le défaut lui-même.


 # mkdir -p /foo/dir{1,2} # touch /foo/.bar{1,2} # cat /etc/tmpfiles.d/test.conf R! /foo/.* - - - - - Reboot. 

Commentaire de Lennart Pottering.


Je ne suis pas sûr que je considérerais cela comme un gros problème. Oui, c'est un piège UNIX, mais "rm -rf /foo/.*" fonctionnera exactement de la même manière, non? .

Ce n'est pas un cas isolé, un tel style de communication lui a valu une mauvaise réputation auprès des geeks. Et ce n'est qu'une partie des plaintes contre systemd et son auteur. En raison de sa portée, de son échelle et de sa complexité, un système peut être fragile en tant que SI - sa fonction principale.


Même ainsi, systemd est supérieur à tous les SI majeurs dans ses capacités, mais la question demeure. Pourquoi les administrateurs locaux locaux n'ont-ils pas la possibilité de choisir pour Debian Linux et d'autres distributions, un SI plus simple à utiliser et à déboguer? En effet, tout le monde n'a pas besoin d'un lancement parallèle des processus et de la gestion des quotas.


Ma compréhension de la situation avec systemd est qu'un SI plus sophistiqué, mais en même temps, pour beaucoup, déraisonnablement complexe et opaque a été imposé à ceux qui en avaient besoin et à ceux qui n'en avaient pas besoin . De nombreux utilisateurs de Linux n'aimaient pas cela et ils ont commencé à se plaindre que maintenant Linux est devenu comme Windows, mais seulement avec du code source ouvert.


DnD travaille ensemble sur sysvinit


Et maintenant enfin la bonne nouvelle! Récemment, il y a eu des changements entre les équipes de développement Debian et Devuan SI. Il a été décidé de conjuguer les efforts dans plusieurs domaines.


  • Gardez sysvinit Ă  flot pour ceux qui sont prĂŞts Ă  utiliser Debian Linux avec toutes les restrictions, y compris sans environnement graphique. L'aide de Devuan est nĂ©cessaire pour prĂ©parer la 10e version de Debian, appelĂ©e Buster .
  • Ă€ la suite de cette pollinisation croisĂ©e, les chercheurs de Debian ont aidĂ© leurs collègues de Devuan Ă  se prĂ©parer Ă  la sortie de sysvinit 2.92. Grâce Ă  cela, les conditions ont Ă©tĂ© rĂ©duites et le problème a eu lieu devant NG, comme cela a Ă©tĂ© dit au dĂ©but du billet.

Si le bon sens prévaut, les deux groupes de développement seront en mesure de définir et de mettre en œuvre des objectifs plus pertinents pour tous les utilisateurs Debian / Devuan - pour obtenir une prise en charge complète de plusieurs SI pour Devuan Linux: openrc , s6 , runit , nosh , etc. Debian Linux a également une prise en charge complète au moins un SI différent de systemd en bénéficierait sans aucun doute.


PS La première conférence Devuan Linux se tiendra à Amsderdam du 5 au 7 avril 2019.


Lecture complémentaire


Source: https://habr.com/ru/post/fr431202/


All Articles