Die Woche: Helft testen!

Linux-Anwender sollten ab und zu aktuelle Kernel testen; wenn sie es unterlassen, dürfen sie sich nicht wundern, wenn nach dem nächsten größeren Update etwas Wichtiges nicht mehr funktioniert.

In Pocket speichern vorlesen Druckansicht 96 Kommentare lesen
Lesezeit: 4 Min.
Von
  • Thorsten Leemhuis

Frische Treiber für alte Kernel-Versionen – diesen Wunsch hört man häufiger, speziell von Linux-Neulingen. Das Linux Kernel Backporting Project will das in Zukunft möglich machen. Eine gute Idee, schließlich ist es in bestimmten Situationen unklug oder unmöglich, einen bewährten Linux-Kernel gegen einen jüngeren auszutauschen; bislang kommt man anders nur schwer an frischere Treiber.

Hoffentlich setzen Anwender und Distributoren diesen Weg aber nur dort ein, wo es unbedingt nötig ist. Schon jetzt testen viel zu wenige Anwender zeitnah aktuelle Versionen des Linux-Kernels. Damit schaden sie sich nur selbst, wie ein hypothetisches Beispiel zeigt, das an ein tatsächlich im c't-Labor aufgetretenes Problem angelehnt ist:

Ein Anwender kauft im Mai 2010 einen PC und installiert darauf Ubuntu 10.04 LTS (Linux-Kernel 2.6.32), das zwei Jahre einwandfrei läuft. Diesen Sommer aktualisiert er sein System auf Ubuntu 12.04 LTS (Linux-Kernel 3.2), weil er den Rechner noch einige Jahre nutzen will und auf modernere Anwendungen scharf war – er muss jedoch feststellen, dass das neuere Ubuntu nach dem Update nicht bootet. Die Ursache: Der Hersteller der im Rechner verbauten Grafikkarte hat einen dritten Bildschirmausgang durch eine trickreiche Verdrahtung realisiert, wie sie keine andere Karte dieses Typs nutzt; niemand war aufgefallen, dass eine bei Linux 2.6.34 vorgenommen Änderungen damit nicht harmoniert, weil diese Grafikkarten wenig verbreitetet waren.

Hätte der Anwender gelegentlich neue Kernel ausprobiert oder Ubuntu 10.10 mit einer Live-CD getestet, dann hätte das Problem rechtzeitig angegangen werden können. Jetzt aber wird das schwer, schließlich liegen zwischen der fehlerverursachenden Änderung und dem Fehlerbericht über zwei Jahre und tausende von Änderungen; die damals verbaute Grafikkarte ist zudem alt, daher stehen Probleme mit moderner, verbreiteter Hardware weiter oben auf den Prioritätenlisten der Entwickler.

Dass solche Fehler immer wieder passieren, zeigen Leserzuschriften oder Forenbeiträgen zu Kernel-Log oder anderen Hardware-nahen Texten in c't und auf heise open. Es gibt sie auch unter Windows – dort sind sie aber seltener, denn die Hersteller von Hardware und proprietärer Software wirken diesem Weiterentwicklungsproblem nicht nur mit Beta-Tests, sondern auch mit Heerscharen bezahlter Test- und Qualitätssicherungs-Ingenieure entgegen.

In der Open-Source-Welt sind bezahlte Prüfer hingegen rar – selbst größere Performance-Einbrüche werden manchmal erst nach längerer Zeit bemerkt, weil kaum jemand den Kernel systematisch testet. Dabei wäre die Suche nach Performance-Problemen noch deutlich einfacher als Kompatibilitätstests mit Hardware, schließlich gibt es immens viele Computer-Komponenten, die sich noch dazu auf vielfältige Weise kombinieren lassen. Fehler kann daher nur ein Feldtest finden, der nicht nur Treiber, sondern auch Scheduler, Dateisystemcode und hunderte andere Funktionen umfasst, die der Kernel erledigt. Dessen Weiterentwicklung zu verlangsamen, ist schließlich auch keine Lösung.

Wenn Sie zu sehr nach dem Motto "Never touch a running System" leben und lange auf alten Distributionen oder Kerneln bleiben, dürfen Sie sich daher nicht wundern, wenn eine möglicherweise nur für Sie und wenige andere wichtige Funktion nach einem größeren Update nicht mehr arbeitet. Sie sollten daher ab und zu neue Kernel oder Vorabversionen von Linux-Distributionen ausprobieren. Wenn Sie dann Fehler finden und Entwickler bei der Problembeseitigung unterstützen, helfen Sie sich somit selbst – und tragen dazu bei, Linux besser zu machen. Das ist eine schöne, gemeinnützige und Zufriedenheit schaffende Art "Danke" für die Arbeit zu sagen, die andere in Linux investieren. (thl) (thl)