Die Entwickler von GNOME OS, einer experimentellen Distribution für Entwickler und Tester von GNOME, die es ermöglicht, den Entwicklungsstand der Desktop-Umgebung zu bewerten, sich mit neuen Funktionen vertraut zu machen und die Funktionalität ihrer Anwendungen in den sich in Entwicklung befindenden GNOME-Zweigen zu testen, haben die Umstellung auf die Verwendung der Komponente systemd-sysupdate für eine atomare Systemaktualisierung verkündet. Ziel dieser Änderung ist es, die nächtlichen Builds von GNOME OS für die tägliche Qualitätskontrolle der GNOME-Entwicklung anzupassen.
Aktuell wird zur Erstellung und Aktualisierung der Root-Partition von GNOME OS das OSTree-System eingesetzt, bei dem das Systemimage atomar aus einem Git-ähnlichen Repository aktualisiert wird. Die Systempartition wird im Nur-Lese-Modus gemountet, und Updates werden in Form kleiner Pakete geliefert, die Änderungen im Vergleich zum vorherigen Zustand (Delta-Updates) enthalten. Dies ermöglicht es beispielsweise im Rahmen von Tests von GNOME, das System bei Bedarf einfach auf eine der vorherigen Versionen zurückzusetzen und zu überprüfen, ob der entdeckte Fehler dort ebenfalls auftritt.
Das Werkzeug systemd-sysupdate ist ab systemd 251 verfügbar und dient der automatischen Erkennung, dem Herunterladen und der Installation von Updates unter Verwendung eines atomaren Mechanismus zum Austausch von Partitionen, Dateien oder Verzeichnissen. Systemd-sysupdate ermöglicht die Nutzung von zwei unabhängigen Partitionen/Dateien/Verzeichnissen, wobei sich auf einer der aktuell laufende Ressourcen befindet und auf der anderen das nächste Update installiert wird, bevor die Partitionen/Dateien/Verzeichnisse getauscht werden.
Zu den Vorteilen des Wechsels von GNOME OS von OSTree zu systemd-sysupdate gehört die Möglichkeit, einen verifizierten Ladeprozess zu nutzen, bei dem die Vertrauenskette vom Bootloader bis zu den Systemkomponenten der Distribution reicht. Zudem ermöglicht die Verwendung von systemd-sysupdate eine umfassendere Integration mit systemd und die Nutzung einer Architektur, die mit kompletten Systemabbildern als unteilbaren Komponenten umgeht.
Im Herbst des letzten Jahres wurden Experimente zur Erstellung von sysupdate-Images mit Unterstützung für UEFI Secure Boot durchgeführt. Derzeit sind bereits zwei Varianten von GNOME OS verfügbar, die auf OSTree und systemd-sysupdate basieren. Es bleibt noch, die Integration von sysupdate in GNOME zu gewährleisten und eine grafische Benutzeroberfläche für das System-Update bereitzustellen.
Aktuell wird das Update-Management auf Basis von sysupdate ausschließlich über die Kommandozeile durchgeführt und erfordert Root-Rechte. Für die Integration in GNOME wurde bereits ein D-Bus-Dienst entwickelt, der in Kombination mit Polkit die Verwaltung der Updates für nicht privilegierte Benutzer ermöglicht. Der entwickelte D-Bus-Dienst und das dazugehörige Tool updatectl sollen in die Hauptversion von systemd aufgenommen werden.
Zukünftig ist geplant, die Verwaltung von Updates auf Basis von sysupdate in die GNOME Software-Anwendung zu integrieren. Ein experimentelles Plugin namens gs-plugin-systemd-sysupdate wurde dafür vorbereitet, das die Möglichkeit bietet, das Betriebssystem über den DBus-Dienst von sysupdate zu aktualisieren. Eine der noch ungelösten Aufgaben ist die Unterstützung von Delta-Updates in systemd-sysupdate (momentan werden die Images nur vollständig heruntergeladen) sowie die Schaffung von Werkzeugen, um mehrere Versionen des Betriebssystems auf Basis stabiler und in Entwicklung befindlicher GNOME-Zweige parallel zu erhalten.
Quelle: opennet.ru
