Flatpak: Offizieller Startschuss für neues Linux-App-Format

23. Juni 2016, 07:51
39 Postings

Soll einheitliche Basis schaffen, Sicherheit verbessern, und aktuelle Programmversionen für alte Distros bringen

Unter dem Namen xdg-app arbeitete Red-Hat-Entwickler Alexander Larsson bereits seit einiger Zeit an einem neuen App-Format für Linux-Systeme. Mittlerweile in Flatpak umbenannt und um einige zusätzliche Entwickler reicher, sieht das Projekt nun die grundlegende Funktionalität abgedeckt, und verkündet entsprechend die "generelle Verfügbarkeit" der Software.

Zielsetzung

Das Kernziel von Flatpak ist es ein distributionsübergreifendes App-Format zu schaffen. Zudem werden entsprechende Pakete samt der wichtigsten Abhängigkeiten ausgeliefert, was es nicht zuletzt erleichtern soll, neuere Programmversionen auch für ältere Distributionen anzubieten. Die Entwickler von Programmen wie LibreOffice oder Firefox könnten dank Flatpak künftig universelle Linux-Pakete anbieten – so das Versprechen.

Noch interessanter könnte dies für die Anbieter kommerzieller Software werden, die in der Vergangenheit immer wieder die Zersplitterung in zahlreiche Distributionen als Argument gegen Support von Linux-Systemen ins Feld geführt haben. Steigt doch der Wartungsaufwand enorm, wenn man sich nicht nur auf eine einzelne Distribution konzentrieren will.

Konzeption

Freilich ist die Auslieferung von universellen Paketen üblicherweise mit diversen Nachteilen verbunden, allen voran der gestiegene Speicherplatzbedarf durch die Mitlieferung der Abhängigkeiten. Flatpak will diesem Problem mit mehreren Design-Entscheidungen begegnen. So können große Projekte fixe Runtimes definieren, die dann App-Pakete wiederum einfach als Basis verlangen können. Eine GNOME-Anwendung kann also etwa die GNOME 3.20 Runtime verlangen, anstatt gleich selbst all die benötigten Abhängigkeiten mitzuliefern.

Die Nutzung von OSTree soll den Speicherplatzverbrauch dann noch weiter reduzieren. Werden dadurch doch sämtliche Anwendungen und Bibliotheken dedupliziert gespeichert, es werden also lediglich die Unterschiede zwischen verschiedenen Versionen gespeichert und nicht komplette Kopien angelegt. Auf diese Weise können mehrere Runtimes des gleichen Projekts mit relativ geringem Aufwand nebeneinander gespeichert werden.

Container

All die zu einer Flatpak-App gehörigen Daten werden in einem Container gespeichert, wobei man sich dafür des Standards der Open Container Initiative bedient. Mittelfristig erhofft man sich auch erhebliche Sicherheitsverbesserungen durch die App-Pakete, da sämtliche Anwendungen in einer Sandbox laufen, und somit strikt voneinander getrennt sind. Bisher gibt es am Linux-Desktop – im Gegensatz zu mobilen Betriebssystem wie Android und iOS – keinerlei solche Begrenzungen. Schafft es ein Angreifer eine Sicherheitslücke in einem Programm auszunutzen hat er auch weitgehend unbeschränkten Zugriff auf die Daten aller anderen Programme. Diesen Umstand will Flatpak ändern.

Derzeit kann das Projekt dieses Versprechen allerdings noch nicht einlösen, und dies hat einen simplen Grund. Der klassische X-Server lässt eine effektive Isolation zwischen unterschiedlichen Programmen nicht zu. Es muss also zuerst der Wechsel auf Wayland am Desktop vollzogen werden. Das GNOME-Projekt, aus dem Flatpak ursprünglich hervorgegangen ist, arbeitet unterdessen bereits an der nächsten Ausbaustufe dieser App-Trennung. Unter dem Namen Portals soll eine Art Berechtigungssystem für das Toolkit GTK+ entwickelt werden, über das dann der Zugriff auf externe Ressourcen wie Bilder reguliert werden kann.

Übergreifend

Schon jetzt können Flatpaks auf einer Reihe von Distributionen getestet werden, Pakete gibt es etwa für Fedora, Debian, Arch und Ubuntu. Derzeit ist das Testen von Flatpaks aber noch mit einigen Arbeiten in der Kommandozeile verbunden, später will man den Nutzern diese Arbeiten natürlich abzunehmen.

Von Anwendungsseite haben neben GNOME noch andere große Open-Source-Projekte wie KDE und LibreOffice ihre Unterstützung angekündigt. Die freie Office-Suite will etwa die kommende Version 5.2 als Flatpak zum Download anbieten. Aktuell ist bereits eine Beta auf diesem Weg erhältlich.

Michael Meeks, Director der Document Foundation, betont dabei die Vorteile von Flatpak. Bisher habe man einige "furchtbare" Kompromisse eingehen müssen, um Binärdateien für Linux-System anbieten zu können. Mit dem neuen App-System könne man viele dieser Altlasten endlich loswerden.

Konkurrenz und Kritik

Unter dem Namen Snappy arbeitet Ubuntu-Hersteller Canonical an einem ähnlichen System, über die Parallelität der Entwicklung ist in den letzten Tagen ein gewohnt hitzig geführter Streit in der Linux-Community entbrannt.

Zudem zeigen sich auch längst nicht alle von den Meriten eines solchen Ansatzes überzeugt. Entgegen einer klassischen Auslieferung über das Paketsystem einer Distribution würde dabei unweigerlich ein größer Speicherplatz- und RAM-Verbrauch entstehen, betonen Kritiker. Zudem würden viele der erwähnten Vorteile nur bei Closed-Source-Software eine Rolle spielen, da Open-Source-Programm ohnehin von der jeweiligen Distribution in die passenden Pakete geschnürt werden. (Andreas Proschofsky, 22.6.2016)

  • Flatpak will ein plattformübergreifendes App-Format für Linux etablieren.
    grafik: flatpak

    Flatpak will ein plattformübergreifendes App-Format für Linux etablieren.

Share if you care.