Linux: Endlich raus aus der Pakethölle
Eine Systemd-Komponente könnte Updates vereinheitlichen und die Linux-Pakete in ihrer klassischen Funktion für Nutzer überflüssig machen.
Das klassische Paketsystem zur Installation und Verwaltung von Software in vielen Linux-Distributionen ist vor allem für Umsteiger immer wieder eine große Hürde und selbst für langjährige Nutzer bieten verschiedene Quellen, Versionen und Abhängigkeiten der Pakete mitunter Schwierigkeiten. Mit Hilfe einer neuen Funktion aus dem Userspace-Werkzeugkasten Systemd könnte das aber zumindest für Betriebssystemupdates der Vergangenheit angehören.
- Linux: Endlich raus aus der Pakethölle
- Pakete und Anwendungen vom System trennen
Konkret handelt es sich dabei um die mit Systemd-Version 251 veröffentlichte neue Komponente System-Sysupdate. Der Ankündigung vor wenigen Wochen zufolge kann die neue Komponente "A/B-Style-Updates für die Host-Installation selbst" erkennen, herunterladen und installieren.
Die Idee der nahtlosen A/B-Style-Updates, die etwa unter Android auch als nahtlose Updates bezeichnet werden, ist dabei denkbar einfach: Das derzeit laufende Betriebssystem wird nicht verändert, stattdessen wird eine komplett neue Version des Systems heruntergeladen und parallel zur ersten Instanz installiert. Bei einem Neustart wird in die dann aktualisierte Version gewechselt.
Dadurch kann vermieden werden, dass das laufende System in einen möglicherweise instabilen Zustand gerät. Ebenso lässt sich zumindest theoretisch leicht ein Update auch wieder zurückrollen, falls dieses unerwartet Probleme bereitet. Dieses Konzept gibt es auch für einige bestimmte Linux-Systeme bereits seit Jahren, breit durchsetzen konnte es sich auf den klassischen Linux-Distributionen bisher aber nicht. Mit der Neuerung in Systemd könnte sich das nun mittelfristig ändern.
Von A nach B unter Linux
Die beiden wohl erfolgreichsten Betriebssysteme für Endnutzer, die auf Linux basieren, Android und Chrome OS, sind die Paradebeispiele dafür, dass die A/B-Updates erfolgreich auch für viele Millionen Nutzer bereitgestellt werden können. Das Mobilsystem Android ist dabei aber vor allem wegen seines eher ungewöhnlichen Systemaufbaus ein schlechter Vergleich zu den Desktop- und Serverdistributionen wie Debian, Ubuntu, Fedora oder Opensuse oder deren Derivaten.
Etwas anders sieht das bereits bei Chrome OS aus. Zwar weicht auch dieses System im Aufbau und der Softwareauswahl von den aufgezählten Distributionen leicht ab. Aber Chrome OS nutzt Pakete und einen Paketmanager: Portage aus dem Gentoo-Projekt mit zahlreicher eigener Software, aber auch Software, die direkt aus Gentoo stammt. Google ist die Kombination aus Paketmanager und A/B-Updates also bereits im großen Stil geglückt. Andere Distributionen agieren hier eher verhalten.
Experimente für die A/B-Updates gibt es aber auch in verschiedenen Varianten der klassischen Distributionen. Diese werden bisher aber hauptsächlich im Container- und IoT-Umfeld genutzt. Vorreiter auf diesem Gebiete waren unter anderem Ubuntu Core mit den transactional Updates und Snap, der Fedora Atomic Host und das Core OS Container Linux, die etwa vor acht Jahren entstanden. Einige Jahre später folgte eine vergleichbare Technik auch in Opensuse.
Trotz vieler Versuche und Initiativen wie etwa Fedoras Silverblue hat sich das Konzept bisher nicht groß durchsetzen können. Mit einer veränderten Ausrichtung der Desktop- und Serversysteme in den vergangenen Jahren sowie auch der nun gestarteten Vereinheitlichung durch Systemd könnte sich aber eben genau das künftig ändern.
Pakete und Anwendungen vom System trennen |
- 1
- 2
Wenn nach einem Update was kaputt geht, und es einen Rollback-Button gibt, dann macht...
sehe ich genau so - systemd hat eine Sache vereinfacht: die init-Scripte. Dabei hätte...
Sondern darum, die Vorteile von Paketen zu erhalten, aber die Nachteile zu vermeiden. Bei...
Von einem Parameter, bei dem man den Repo-Provider explizit angeben kann, schließt du...