Debian und Devuan schließen sich für Sysvinit zusammen

Vor einigen Tagen wurde die nächste Version des klassischen Unix / Linux-Initialisierungssystems sysvinit 2.92 vorzeitig veröffentlicht . Die vorherige Ausgabe 2.91 erschien vor etwas mehr als einem Monat.


devu


Was ist bemerkenswert an der Veröffentlichung der Nebenversion des alten Initialisierungssystems (SI), die fast alle modernen Linux-Distributionen abgelehnt haben, und was für eine Freude ist dies für die Open-Source-Community und Debian-Linux-Benutzer?


Diese Episode ist insofern interessant, als die Veröffentlichung eine gemeinsame Anstrengung zweier antagonistischer Entwicklungsteams von Debian und Devuan war, die sich vor 4 Jahren aufgrund der Situation um systemd trennten. Aber lasst es uns in Ordnung bringen.


Dreifache Abstimmung über systemd


Einige Monate vor der Veröffentlichung von Debian Jessie standen die Projektleiter vor der Notwendigkeit, sich für das Initialisierungssystem zu entscheiden. Zu dieser Zeit gewann systemd bereits an Popularität und war einer der Hauptkonkurrenten. Insgesamt nahmen vier SI am Rennen teil.


  • systemd
  • Emporkömmling;
  • openrc;
  • sysvinit.

Die Abstimmung hatte auch die Wahl: "Weitere Diskussion ist erforderlich."


Die Ergebnisse der ersten Runde zeigten ein Gleichgewicht zwischen Emporkömmling und System , jeder von ihnen erhielt 4 Stimmen. Um eine Entscheidung zu treffen, war ein Stimmenverhältnis von 2: 1 erforderlich.


2 Wochen danach fand Anfang Februar 2014 eine zweite Runde statt, in der im Wesentlichen nichts Neues passiert ist. Die Stimmen waren im gleichen Verhältnis geteilt und es wurde eine Entscheidung über die weitere Debatte getroffen.


Für systemd gestimmt:


  • Bdale Garbee - Vorsitzender des Technischen Komitees;
  • Don Armstrong
  • Keith Packard, ein X-Guru, der derzeit bei Valve arbeitet;
  • Russ Albery.

Für Emporkömmling gestimmt:


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

Und zum dritten Mal stimmte der TC ab, was die Regeln erheblich vereinfachte und das Thema ansprach. Der Ausschuss hat alle sekundären Themen von der Tagesordnung gestrichen und die Entscheidungsschwelle auf eine einfache Mehrheit gesenkt. Bei der dritten Aufforderung stimmte er für systemd


Nein, keiner der Emporkömmlinge zog in das gegenüberliegende Lager, das Ergebnis der Abstimmung wurde durch eine zusätzliche Abstimmung des Vorsitzenden des Technischen Komitees, Bidel Garby, entschieden, und das SI-Problem für Debian Linux wurde mit nur einer Stimme mit der vorherigen 4: 4-Meinungsbilanz gelöst.


Linus rasiert Bideil Garby auf der LinuxConf 2009


rasieren


Das Ergebnis der Abstimmung verursachte ein scharfes Gefühl der Bitterkeit, Enttäuschung und Ungerechtigkeit unter den Gegnern von systemd . Auf den Debian-Mailinglisten waren die Leidenschaften hoch.


Ian Jackson forderte Bideil Garby auf, als Vorsitzender des TC zurückzutreten. Dann ließ ich Dampf los und beschloss, mich vorübergehend von der Teilnahme an den Angelegenheiten des TC zu entfernen.


Nach ein paar Tagen am 11. Februar wurde klar, dass die Entscheidung für Debian Linux endgültig getroffen wurde und dass auf absehbare Zeit das Hauptinitialisierungssystem für die Distribution systemd sein wird .


Devuan


Die Entwickler der Debian Linux-Distribution, die mit diesem Sachverhalt nicht einverstanden waren, trauerten lange Zeit nicht und sechs Monate vor der Veröffentlichung derselben 8. Version erstellten sie ihre Gabel auf der Basis von systvinit und nannten sie Devuan , beginnend mit dem Satz Dev one .


Das Highlight des Distributionskits und sein Hauptunterschied zum übergeordneten Betriebssystem war, was die ganze Aufregung auslöste. Devuan Linux wählte sysvinit als SI. Im Allgemeinen wurde die Geburt der Entwicklung des Distributionskits von Linux-Benutzern mit großer Begeisterung aufgenommen, wobei der russischsprachige Teil nicht ausgeschlossen wurde.


Im Juni wurde die zweite Version der Distribution auf Paketbasis der neuesten Version ihres Vorfahren - Debian Stretch - veröffentlicht. Neben sysvinit können Sie auch openrc als SI auswählen.


Lassen Sie uns versuchen zu verstehen, was eine solche Spaltung in der Umgebung von Debian-Entwicklern und in der Tat unter einer großen Anzahl von Benutzern verschiedener Variationen des Linux-Betriebssystems verursacht hat. In der Tat gab es zuvor schwierige Entscheidungen und gefährliche Wendungen in der Geschichte von GNU / Linux: GPLv3 oder nicht , UEFI SecureBoot usw. Warum ist das alles dann aus dem Weg gegangen ?


Kontroverse um systemd


Wenn wir das Wesentliche aller Streitigkeiten auf eine These reduzieren, können wir sagen, dass systemd den Austausch der vollständigsten Kontrolle über die Initialisierung des Systems und seiner Dienste gegen eine völlige Ablehnung der Unix-Philosophie impliziert.


Und der erste wird von den Gegnern von systemd heftig bestritten, aber niemand bestreitet den zweiten. Nicht alle sind sich einig, dass systemd das Leben von Administratoren erleichtert, aber nur wenige können argumentieren, dass systemd und Unix Way zwei Extreme sind.


systemd bietet aggressive Parallelisierungsfunktionen, verwendet D-Bus-Sockets und die Aktivierung zum Ausführen von Diensten, bietet Daemons an, die nach Bedarf gestartet werden können, überwacht Prozesse mithilfe von Linux-Kontrollgruppen, unterstützt Snapshots und die Wiederherstellung des Systemstatus, Mounts und Mount-Punkte und implementiert auch abhängigkeitsbasiert Logik zur Steuerung komplexer Transaktionsprozesse .

Wo war ein so umfassendes System zur Steuerung der Initialisierung des Betriebssystems und seiner Prozesse erforderlich? Ich glaube nicht an die Verschwörungstheorie und glaube daher, dass die Gründe in den Fehlern von Sysvinit und anderen SI lagen .


Sysvinit wurde 1983 gegründet und konnte eine Reihe wichtiger Aufgaben nicht lösen, darunter:


  • paralleler Prozessstart;
  • Erkennung von Wechselmedien
  • Aktivierung von Socket-basierten Diensten;
  • Kontrollieren Sie zuverlässig Abhängigkeiten zwischen verschiedenen Prozessen und Diensten
  • frühe Ereignisprotokollierung über /dev/log .

All diese und viele andere Unannehmlichkeiten wurden schließlich in systemd behoben. Die Standardisierung von Konfigurationsdateien, die Vereinheitlichung der Syntax und die Verwaltung von Abhängigkeiten von Diensten basierend auf cgroups ermöglichten angeblich Anbietern kommerzieller Linux-Distributionen, die Lebensdauer von Administratoren zu vereinfachen und die Kosten für die Verwaltung des Serverparks zu senken .


Aber was war der Preis? Nach einem seltsamen Entwurf hat sich die Idee von Lennart Pottering von einem regulären SI zu einem "Satz von Bausteinen für das Linux-System" entwickelt. Zitat von der Hauptseite des Projekts. Eine Art Status in einem Status, der die Verbindung von Geräten, Dateisystem-Einstiegspunkten, Netzwerkverbindungen, dem Systemzeitdienst, Benutzersitzungen, Systemprotokollen usw. steuert.


Zur gleichen Zeit begannen viele DE-Entwickler, insbesondere Gnome, Elemente der grafischen Umgebung an systemd zu binden:


  • Energieverwaltung;
  • Verwaltung von Benutzersitzungen;
  • das Magazin ansehen;
  • Wenn Sie den Laptop-Bildschirm schließen, werden die Ereignisse nicht verarbeitet.
  • Wayland

All dies wird in Gnome ohne spezielle Patches nicht funktionieren, wenn Sie einen anderen SI als systemd wählen.


Der Grund für diesen Sachverhalt ist, dass es zu schwierig ist, zwei Optionen für viele Programmgruppen zu unterstützen: eine mit systemd und die andere ohne. Infolgedessen entsteht eine Situation, in der es keine Möglichkeit gibt, einen anderen SI in der Linux-Distribution auszuwählen.


Keyword-Tag-Cloud um systemd auf Twitter .


systemd


Nun, es gibt keine Möglichkeit, SI zu wählen. Ist das wirklich so wichtig? Ich glaube nicht, dass es mich sehr verärgern wird, wenn es keine Möglichkeit gibt, einen Betriebssystemlader oder einen DHCP-Client auszuwählen.


Wie sich für viele Benutzer herausstellt, nervt systemd viele Dinge. Eine frühzeitige und vollständige Protokollierung von Systemereignissen ab dem Moment des Starts ist sicherlich gut, aber wie können Sie sich ein Linux-System mit binären Protokolldateien vorstellen?


Lennart Pottering mag ein guter Programmierer sein, aber der Stil seiner Kommunikation und die Reaktion auf festgestellte Mängel, auf Kritik sind vor allem Kritik. Hier ist seine Reaktion auf den Defekt 5644 .


Der Defekt selbst.


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

Kommentar von Lennart Pottering.


Ich bin mir nicht sicher, ob ich das für ein großes Problem halten würde. Ja, es ist eine UNIX-Falle, aber "rm -rf /foo/.*" funktioniert genauso, oder? .

Dies ist kein Einzelfall, diese Art der Kommunikation hat ihm einen schlechten Ruf bei den Geeks eingebracht. Und dies ist nur ein Teil der Ansprüche gegen systemd und seinen Autor. Aufgrund seines Umfangs, seiner Größe und seiner Komplexität kann ein System als SI - seine Hauptfunktion - fragil sein.


Trotzdem ist systemd in seinen Funktionen allen wichtigen SIs überlegen, aber die Frage bleibt weiterhin offen. Warum haben gewöhnliche Localhost-Administratoren nicht die Möglichkeit, sich für Debian Linux und andere Distributionen zu entscheiden, die einfacher zu verwenden und zu debuggen sind? In der Tat braucht nicht jeder einen parallelen Start von Prozessen und Quotenmanagement.


Mein Verständnis der Situation mit systemd ist, dass denjenigen, die es brauchten, und denen, die es nicht brauchten , ein ausgefeilterer, aber gleichzeitig für viele unangemessen komplexer und undurchsichtiger SI auferlegt wurde . Viele Linux-Benutzer mochten dies nicht und begannen sich zu beschweren, dass Linux nun wie Windows geworden ist, aber nur mit Open Source Code.


DnD arbeitet gemeinsam an sysvinit


Und jetzt endlich die guten Nachrichten! Vor kurzem gab es Verschiebungen zwischen den Entwicklungsteams von Debian und Devuan SI. Es wurde beschlossen, die Anstrengungen in mehreren Bereichen zu bündeln.


  • Halten Sie sysvinit über Wasser für diejenigen, die bereit sind, Debian Linux mit allen Einschränkungen zu verwenden, auch ohne grafische Umgebung. Devuans Hilfe wird bei der Vorbereitung der 10. Version von Debian namens Buster benötigt .
  • Infolge dieser Fremdbestäubung halfen Debian-Wissenschaftler ihren Devuan-Kollegen, sich auf die Veröffentlichung von Sysvinit 2.92 vorzubereiten. Dank dessen wurden die Bedingungen reduziert und das Problem fand vor NG statt, wie zu Beginn des Beitrags gesagt wurde.

Wenn sich der gesunde Menschenverstand durchsetzt, können beide Entwicklungsgruppen relevantere Ziele für alle Debian / Devuan-Benutzer festlegen und implementieren - um die vollständige Unterstützung für mehrere SIs für Devuan Linux zu erreichen: openrc , s6 , runit , nosh usw. Debian Linux bietet ebenfalls volle Unterstützung Mindestens ein SI, der sich von systemd unterscheidet, würde zweifellos davon profitieren.


PS Die erste Devuan Linux-Konferenz findet vom 5. bis 7. April 2019 in Amsderdam statt.


Zusätzliche Lektüre


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


All Articles