Website-Suche

Die langfristige Unterstützung für den Linux-Kernel wird gekürzt, da die Wartung weiterhin unter Druck steht


Der Open Source Summit bietet ein Update darüber, was es Neues im Linux-Kernel gibt und wie es weitergeht.

BILBAO, Spanien: Beim Open Source Summit Europe informierte Jonathan Corbet, Linux-Kernel-Entwickler und Chefredakteur von Linux Weekly News, alle darüber, was es Neues im Linux-Kernel gibt und wie es weitergeht. 

Hier steht eine wichtige Änderung bevor: Der Langzeitsupport (LTS) für Linux-Kernel wird von sechs auf zwei Jahre verkürzt.

Derzeit gibt es sechs LTS-Linux-Kernel – 6.1, 5.15, 5.10, 5.4, 4.19 und 4.14. Nach dem bisherigen Prozess würde 4.14 im Januar 2024 veröffentlicht und ein weiterer Kernel hinzugefügt. Wenn jedoch in Zukunft der 4.14-Kernel und die nächsten beiden ausfallen, werden sie nicht ersetzt.

Warum? Ganz einfach, erklärte Corbet: „Es hat wirklich keinen Sinn, es so lange aufrechtzuerhalten, weil die Leute es nicht nutzen.“ Ich stimme zu. Obwohl ich mir sicher bin, dass jemand immer noch 4.14 in einem Produktions-Linux-System ausführt, kann es nicht viele davon geben. 

Ein weiterer Grund und ein weitaus größeres Problem als die bloße Wartung von LTS ist laut Corbet, dass die Linux-Code-Betreuer ausgebrannt sind. Es ist nicht so, dass Entwickler ein Problem darstellen. An den letzten Linux-Releases waren durchschnittlich mehr als 2.000 Programmierer beteiligt – darunter etwa 200 neu hinzugekommene Entwickler –, die an jeder Version arbeiteten. Eine andere Sache sind jedoch die Betreuer – die Leute, die den Code prüfen, um zu sehen, ob er passt und richtig funktioniert – eine andere Sache.

Wartungspersonal sieht sich bei der Ausübung seiner Arbeit mit zahlreichen Hindernissen konfrontiert. Hindernis eins: Viele Betreuer werden für die Wartung nicht bezahlt. Sie pflegen den Code zusätzlich zu ihrer täglichen Arbeit. Darüber hinaus stehen sie vor einem steigenden Zeitaufwand – aufgrund von Personalmangel und dem Einsatz von Fuzzern zur Fehlersuche. Fuzzer sind zwar hilfreich, decken aber auch viel zu viele kleinere Fehler auf, die jeweils von den Betreuern untersucht und dann behoben werden müssen.

Das Ergebnis? Um Josef Bacik, Entwickler und Betreuer von Linux-Kernel-Dateisystemen, zu zitieren: „Betreuer brennen aus, [weil] Betreuer nicht skalieren.“ Darrick Wong, ein weiterer leitender Betreuer des Linux-Kernels, fügte hinzu: „Das kann nicht bestehen bleiben. Wir brauchen Hilfe.“

Wie können sie Hilfe bekommen? Nun, zum einen schlägt Corbet den Betreuern vor, mit ihren Arbeitgebern über die Bezahlung ihrer Betreuerarbeit zu sprechen. Wie Wong bemerkte: „Die meisten meiner Freunde arbeiten für kleine Unternehmen, gemeinnützige Organisationen und Kommunalverwaltungen. Sie berichten von den gleichen Problemen mit Überarbeitung, allgegenwärtiger Angst und Wut und haben Schwierigkeiten, neue Ideen, die ich hier beobachte, zu verstehen und sich an sie anzupassen. Sie verstehen.“ den direkten Zusammenhang zwischen dem Mangel an Einnahmen und Ressourcen ihrer Organisation. Sie verstehen nicht, warum zum Teufel mir und meinen Mitarbeitern in der Nähe des Arbeitsplatzes das Gleiche passiert, wenn wir alle für Unternehmen arbeiten, die Hunderte von Milliarden Dollar abwickeln.

Das ist eine gute Frage. Unternehmen müssen erkennen, dass sie Linux etwas zurückgeben müssen, wenn sie weiterhin von seinen Vorteilen profitieren wollen.

Ein damit zusammenhängendes Problem: Linux nutzt Rust jetzt als Experiment. Das ist zwar in vielerlei Hinsicht eine gute Nachricht – Rust entfernt ganze Klassen von Fehlern, für die die Hauptsprache C von Linux anfällig ist –, stellt aber auch Betreuer vor Probleme. Wenn ein Betreuer 30 Jahre lang in C gearbeitet hat, ist es schließlich eine große Herausforderung, ihn zu bitten, ein Rust-Experte zu werden. 

Darüber hinaus entwickelt sich Rust immer noch weiter. Es sind viele Rust-Patches erforderlich, damit die Sprache auf einer tieferen Ebene unter Linux ordnungsgemäß funktioniert. Das bedeutet auch, dass Sie viel Glue-Code benötigen, damit Rust und Linux gut zusammenarbeiten. 

Dann gibt es einige Linux-Kernel-Entwickler, die Rust nicht mögen. Wie einer sagte: „Es gibt möglicherweise einige gut gestaltete und geschriebene [Linux-]Teile, bei denen seit vielen Jahren kein Speichersicherheitsproblem mehr aufgetreten ist. Es ist beleidigend, dies als eine Verbesserung gegenüber dem darzustellen, was von denen erreicht wurde, die all diese harte Arbeit geleistet haben.“ "

Trotzdem glaubt Corbet, dass der Entscheidungspunkt – ob Rust ein Mainstream-Teil des Kernels wird – bald kommt. Dieser Tag werde kommen, bemerkte er, „wenn wir die erste Funktion zusammenführen, auf die Benutzer angewiesen sind.“ 

Dieser Tag ist nahe: Drei wichtige neue Rust-basierte Ergänzungen zum Linux-Kernel-Code seien auf dem Weg, sagte Corbet. Hierbei handelt es sich um eine Implementierung von PuzzleFS, einem Plan9-Dateisystemserver mit Lese-/Schreibzugriff. und – derjenige, der für die größten Schlagzeilen sorgen wird – der Apple M1 GPU-Treiber. Tatsächlich sind die ersten konformen Linux OpenGL ES 3.1-Treiber jetzt für die GPUs der M1- und M2-Familie von Apple verfügbar und kamen Ende August 2023 an. Da Arbeiten wie diese in vollem Gange sind, wäre Corbett sehr überrascht, wenn Rust es nicht dauerhaft schaffen würde in Linux.

Ein weiteres Thema in den Nachrichten ist in letzter Zeit, wie Red Hats Optimierung seiner Red Hat Enterprise Linux (RHEL)-Lizenz dazu geführt hat, dass Oracle, SUSE und das CIQ RHEL mit der Open Enterprise Linux Association (OpenELA) abgespalten haben. Abgesehen von den geschäftlichen und lizenzrechtlichen Komplikationen, die zu diesem Kampf geführt haben, gibt es auch Bedenken hinsichtlich des Linux-Kernels. 

Diese Bedenken drehen sich um die Frage: Welchen Kernel sollten Sie für Ihre Linux-Distribution verwenden? Es gibt zwei echte Möglichkeiten: 1) Führen Sie den neuesten stabilen Kernel aus oder 2) Führen Sie einen alten Kernel plus zurückportierte Korrekturen aus. Letzteres ist es, was Red Hat und die anderen Linux-Distributoren für Unternehmen tendenziell tun. 

Letzteres führt auch zu herstellerspezifischen Kerneln. Dies bietet zwar Stabilität, distanziert diese Distributionen jedoch vom Community-Support und macht sie von bestimmten Anbietern abhängig. Es ist diese letzte Konsequenz – die AlmaLinux und Rocky Linux zunächst dazu veranlasste, ihre eigenen Versionen von CentOS (dem kostenlosen RHEL-Klon von Red Hat) zu starten, nachdem Red Hat CentOS zugunsten von CentOS Stream abgeschaltet hatte – die den Streit zwischen Red Hat und OpenELA entfachte. Was OpenELA will, ist ein RHEL-Klon, der den älteren gepatchten RHEL-Kernel verwendet. Seien Sie gespannt auf weitere Entwicklungen, während dieser Konflikt weiter brennt.

Auf der anderen Seite, so Corbet, hat Android „sehr stark auf dieses generische Kernel-Image gedrängt und es auf stabile Updates gestützt. Das liegt daran, dass sie feststellen, dass dies zur Verbesserung der Sicherheit von Android beiträgt. Sie haben festgestellt, dass die überwiegende Mehrheit der Sicherheit Probleme werden im Kernel offengelegt und oder sogar im Android-Kernel behoben, bevor sie offengelegt werden, weil sie bereits integriert waren, bevor irgendjemand wusste, dass es sich tatsächlich um sicherheitsrelevante Fehler handelte.“

Das ist ein weiteres Problem, dessen sich Linux-Kernel-Entwickler schmerzlich bewusst sind. Wie Corbet erklärte:

„Einer der interessanten Aspekte der Kernel-Entwicklung ist, dass fast alles ein Sicherheitsfehler sein kann. Und man weiß nicht wirklich, dass es ein Sicherheitsfehler ist, bis jemand einen Weg findet, ihn irgendwie auszunutzen. Es werden also sehr viele Korrekturen vorgenommen, und sie.“ Sie werden nicht als Sicherheitsupdates markiert. Ich meine, manchmal gibt es da ein bisschen Hinterhältigkeit, die mir persönlich nicht gefällt Es ist nur so, dass niemand weiß, dass es sich bei diesem Fehler um einen Sicherheitsfehler handelt. Die einzige Möglichkeit, sich vor solchen Fehlern zu schützen, besteht darin, alle Korrekturen vorzunehmen.

Aus diesem Grund empfehlen Corbet und alle, die sich mit Linux wirklich auskennen, dass Sie beim Erstellen einer Linux-Distribution immer alle Patches einbinden. Bei älteren Kerneln wie 4.14 können das bis zu 26.799 Commits sein. Wenn Sie jedoch versuchen, die zu verwendenden Patches auszuwählen, werden Sie mit Sicherheit Tür und Tor für Sicherheitslücken öffnen.

Abschließend bemerkte Corbet, dass Scott McNealy, der ehemalige langjährige CEO von Sun, einmal gesagt habe: „Open Source ist kostenlos wie ein Welpe kostenlos.“ McNealy hatte recht. Die Verwendung von Open Source und Linux ist einfach. Es ist schwieriger, die Ausbildung zu finanzieren, die nötig ist, um keine Unordnung auf dem Küchenboden zu machen.