Schlagwort: OSTree

  • Flatpak strebt Version 1.0 an

    Flatpack 1.0
    Quelle: NeONBRAND auf Unsplash

    Das im Umfeld von Fedora und GNOME entwickelte alternative Paketsystem Flatpak strebt die Version Flatpak 1.0 an, die gemeinhin die Reife für den produktiven Einsatz signalisiert. Dazu hat Hauptentwickler Alex Larsson nun Flatpak 0.99.1 als ersten Release-Kandidaten zu 1.0 veröffentlicht. Bis zur Veröffentlichung der stabilen 1.0 sollen nur noch Fehler beseitigt, aber keine neuen Funktionen mehr hinzugefügt werden. In den Archiven der Distributionen befindet sich noch eine ältere stabile Version, meist 0.11.8.

    P2P als Update-Option

    Die neue Version 0.99.1 setzt Ostree 2018.6 voraus, womit P2P als alternative Update-Option für Flatpak standardmäßig aktiv und nicht mehr, wie bisher,  optional ist. Die Befehle install, update und uninstall listen nun zunächst alle auszuführenden Operationen auf, bevor sie die Erlaubnis zum Start abfragen. Durch weniger fsync-Aufrufe sollen systemweite Installationen schneller als bisher ablaufen.

    Für Anwender und Entwickler

    Flatpak ist neben Ubuntus Snap ein alternatives Paketsystem, das Anwender in die Lage versetzt, mit wenigen Mausklicks aktuelle Software in Versionen zu installieren, die in den Distributionen noch nicht verfügbar ist. Dabei können zusätzlich zu einer per Paketmanagement installierten Version nebeneinander mehrere Versionen der Software installiert werden. Davon profitieren unter anderem auch Entwickler, die mehrere Versionen einer Software testen möchten. Zudem sind die Pakete über die Grenzen von Distributionen hinaus einsetzbar.

    Vor- und Nachteile

    Den neuen Formaten werden aber auch negative Punkte angelastet. So sind die neuen Pakete wesentlich größer als die Anwendung selbst, die sie ausliefern. Das kommt durch die im Paket enthaltenen Bibliotheken und weitere zur Ausführung benötigte Dateien. Diese werden bei mehreren installierten Paketen auch schon mal multipliziert. Bei den heutigen Kapazitäten von Festplatten und fetten Internetleitungen liegt hier das Problem eher in der duplizierten Datenhaltung. Nicht zu vergessen ist dabei die Aktualisierung dieser Pakete mitsamt ihren Abhängigkeiten. Ist eine grundlegende Bibliothek kaputt, muss sie in allen Paketen, in denen sie enthalten ist, aktualisiert werden.

     

  • OpenSUSE Leap 15 steht vor der Tür

     

    openSUSE Leap 15
    Logo: openSUSE | Lizenz: GFDL 1.2

    Am 25. Mai soll openSUSE Leap 15 offiziell freigegeben werden. Die Distribution steht im bereits seit einem Vierteljahrhundert rotierenden SUSE-Produktuniversum in der Mitte zwischen  dem Rolling-Release Tumbleweed und der kommerziellen Ausgabe SUSE Linux Enterprise Server (SLES) und speist sich aus beiden. Im Februar hatte ich bereits auf einen Blick auf einen Snapshot im Betas-Status geworfen. Heute geht es eher um ein herausragendes Merkmal des neuen openSUSE Leap – die transaktionalen Updates.

    Neue Herausforderungen

    In den letzten Jahren trugen die Weiterentwicklung des Linux-Kernels und die Entstehung neuer Paketformate und Container dazu bei, dass sich vielerorts die Art und Weise, wie Software und deren Konglomerierung zu Distributionen aktualisiert wird, veränderte. Im Internet der Dinge (IoT), wo Linux auf eingebetteten Geräten läuft, sind Updates einerseits enorm wichtig, andererseits aber sehr schwierig. Sie müssen zentralisiert und automatisiert durchgeführt und kontrolliert werden. Geht dabei etwas schief, wäre bei herkömmlichen Methoden der Aktualisierung guter Rat teuer.

    Deswegen kommen dort und anderswo sogenannte atomare Updates, auch als transaktionale Updates bezeichnet, zum Einsatz. Dabei wird ein Update gebündelt, nicht ungleich einem Image vollzogen. Geht dabei etwas schief, wird das gesamte Update zurückgerollt und der Zustand vor dem Update wieder hergestellt. So aktualisiert etwa Canonical seine Snaps, die bereits in vielen Geräten des IoT werkeln.

    OSTree

    Auch die Container-Variante von Fedora, Atomic-Workstation, trägt diese Art der Aktualisierung bereits im Namen. Gerade arbeiten die Fedora-Entwickler daran, die Workstation-Ausgabe der Distribution im Rahmen des Projekts Silverblue transaktional zu gestalten. Den Update-Mechanismen liegt die Bibliothek libostree zugrunde, die zusammen mit einigen Kommandozeilentools als OSTree bezeichnet wird. Das Paketformat Flatpak bedient sich dieses Modells ebenso wie die gerade in Version 3.4 erschienene Endless OS. Dazu wurde bei Endless eigens ein  Updater geschrieben.

    Btrfs + Snapper + Zypper

    OpenSuse verfügt durch die Verwendung von Btrfs als Dateisystem und per Snapper kontrollierte Snapshots des Systems bereits seit längerem über ein ähnliches System, allerdings entkoppelt vom Aktualisierungsmechanismus der Distribution. Zu festgelegten Zeiten oder vor einem umfangreichen Update wird mit Snapper ein Snapshot erstellt, der eingespielt wird, falls das Update schiefgeht. Mit openSUSE Leap 15 wird dieses System nun direkt mit den Aktualisierungen verknüpft. Aus dem auf Tumbleweed basierenden Projekt Kubic, das der Entwicklung von Container-Technologien dient, stammt die Entwicklung, die künftig den Anwendern von openSUSE Leap alternativ transaktionale Updates bescheren wird.

    Dabei werden Aktualisierungen entweder in einer einzigen Transaktion oder gar nicht auf das System angewendet. Dies geschieht ohne Beeinflussung des laufenden Systems. Wenn ein Update fehlschlägt oder wenn das erfolgreiche Update als inkompatibel oder anderweitig fehlerhaft angesehen wird, kann es verworfen werden, um das System sofort wieder in seinen vorherigen Betriebszustand zu versetzen.

    Unberührt

    Transaktions-Updates berühren nie direkt das laufende System. Anstatt das aktuelle System zu patchen, erstellt das Transaktions-Update-Tool einen neuen Snapshot. Alle für das Update erforderlichen Operationen werden vorerst nur in diesem Snapshot ausgeführt. Am Ende des Updates wird bei erfolgreicher Aktualisierung ein abgeschlossener Snapshot als neuer Standard markiert. Diese Updates werden dann beim Neustart des Systems wirksam. Wenn die Aktualisierung nicht erfolgreich war, wird der Snapshot verworfen und keine Änderung am System vorgenommen.

    Wer die neue Technik bereits jetzt testen möchte, wählt bei der Installation von openSUSE Leap 15 im Tab »User Interface« die Option »Transactional Server«. Das Image der Beta-Version ist rund 3.6 GByte groß. Viel Spaß beim Testen.