Installation per Flatpak-Hub

Screenshot: FThommes

Flatpak ist grundsätzlich ein Bündelungssystem, und als solches hat es im Vergleich zu anderen Paketsystemen den Nachteil des prinzipbedingt größeren Umfangs. Nach Meinung von GNOME- und Flatpak-Entwickler Alexander Larsson kompensieren die Vorteile der Bündelung aber die Nachteile. In einem Blogpost erklärt er, was in der Entwicklung gegen das Aufblähen getan wird.

Maßnahmen gegen Bloat

Bereits das Grundgerüst der Flatpak-Infrastruktur versucht, Bloat zu vermeiden. Das geschieht durch die Aufteilung in Laufzeitumgebung und Anwendungen. Das bedeutet, dass Anwendungen nicht alles bündeln müssen und dass gemeinsame Abhängigkeiten zwischen verschiedenen Anwendungen geteilt werden.

Bei der Konzeption von Flatpak war die Eindämmung von Bloat allerdings nicht das Hauptargument für den Einsatz von Laufzeitumgebungen. Dabei ging es vordergründig um Dinge wie Wartung, gemeinsame Eigentümerschaft und darum, Kernfunktionalitäten separat veröffentlichen zu können. Hier stehen  beispielsweise Sicherheitsaktualisierungen im Fokus, die Anwendungsautoren weder beherrschen noch Interesse daran haben.

OSTree ist mit Git vergleichbar

Für die Anwendungsspeicherung nutzt Flatpak ein System namens OSTree, welches durch Deduplikation auf Dateiebene bereits eine Doppelung von Daten verhindert. Larsson versucht OSTree zu erklären, wenn er sagt:  »Es ist wie Git, aber für Verzeichnisse mit großen Binärdateien«. Für Flatpak bedeutet das, dass jede Runtime (es können mehrere installiert sein) und jede Anwendung einen Zweig in einem OSTree-Repository darstellen, der einem Git-Branch entspricht. Dabei sind alle Verzeichnisse und Dateien, vereinfacht dargestellt, mit IDs versehen. Alle identischen Dateien werden so erkannt und dabei zwischen den Anwendungen geteilt. Das entlastet nicht nur RAM und Plattenplatz sondern spart Bandbreite beim  Download.

Effektive Einsparung

Dass das effektiv funktioniert, zeigt das Beispiel der beiden Laufzeitumgebungen von GNOME und freedesktop.org. Letztere hat eine Größe von 435 MByte, die von GNOME wirft 665 MByte in die Waagschale. Dabei ist die GNOME-Runtime eine Kopie der Runtime von freedesktop.org mit einigen entfernten und einigen hinzugekommenen Dateien.

Wird die GNOME-Runtime zusätzlich zu der von freedesktop.org installiert, werden lediglich 18 MByte mehr belegt anstatt 230 MByte. Das gleiche gilt für die KDE-Runtime und weitere, unter Umständen auch selbst erstellte Laufzeitumgebungen. Auch die Installation von x86-64- und i386-Builds der GNOME-Laufzeitumgebung spart 220 MByte ein.

 

Verwandte Themen

Aus GTK+ wird GTK
views 443
Photo by Todd Quackenbush on UnsplashDas GUI-Toolkit GTK+ wird umbenannt und nennt sich künftig der Einfachheit halber nur noch GTK, wie einer Mi...
GNOME 3.30 verspricht bessere Performance
views 600
Quelle: gnome.orgDas vor wenigen Tagen veröffentlichte GNOME 3.30 »Almeria« folgt nach den üblichen sechs Monaten Entwicklung auf seinen Vorgänge...
Alex Larsson über die Flatpak-Revolution
views 562
By: Matthias Clasen - CC BY-SA 4.0 Flatpak 1.0 ist seit einigen Tagen als produktiv einsetzbare Version des alternativen Paketsystems ve...
Flatpak 1.0: Sandboxing wird erwachsen
views 351
Quelle: NeONBRAND auf UnsplashAlex Larsson hat heute nach insgesamt drei Jahren Entwicklung Flatpak 1.0 freigegeben und damit das distributionsüb...
Ubuntu Snaps – das Sandbox-Modell
views 517
Bild: Sandbox | Quelle: Simon Law Lizenz: CC BY-SA 2.0  Canonical hat mit Ubuntu Snaps ein Paketformat entwickelt, das seine Vo...

Beitrag kommentieren