Flatpak

aus Wikipedia, der freien Enzyklopädie
Flatpak
Basisdaten

Betriebssystem Linux
Kategorie Virtualisierung
Lizenz LGPL[1]
flatpak.org

Flatpak (vorher auch xdg-app) ist eine Software zur Softwareverteilung und Virtualisierung von Desktop-Anwendungen unter Linux-Betriebssystemen. Es stellt dafür eine Sandbox-Umgebung zur Verfügung, in der der Anwender bzw. Entwickler Anwendungen isoliert vom Rest des Systems laufen lassen kann. Ein Flatpak für ein Programm beinhaltet alle Abhängigkeiten für dieses eine Programm; Vorteil: Das Programm kann unter jedem Linux ausgeführt werden; Nachteil stark erhöhter Speicherbedarf durch unvermeidliche Redundanzen (s. Konzept).

Geschichte

Die Idee für die Verwendung von Anwendungscontainern in Gnome wurde 2013 zuerst von Lennart Poettering vorgeschlagen, der 2014 einen Artikel dazu publizierte. Entwickelt wurde Flatpak als Teil des Projekts freedesktop.org (vorher auch als X Desktop Group oder XDG bekannt) und wurde xdg-app genannt.[2] Flatpak ist eine Alternative zu der von Canonical entwickelten Paketverwaltung Snappy, im Unterschied zu dieser aber weitgehend auf grafische Oberflächen beschränkt.[3] Den Namen entlehnte der schwedische Entwickler Alexander Larsson von den flachen Paketen, in denen IKEA seine Möbel verpackt.[4]

Konzept

Flatpaks Runtime stellt dabei die Basis einer Umgebung und alle deren Abhängigkeiten bzw. Bibliotheken (Glibc) bereit, die von den Desktop-Applikationen verwendet werden. Sollte eine Desktop-Applikation Abhängigkeiten benötigen, die nicht Teil der Runtime sind, dann sind diese im Flatpak-Paket enthalten und werden verwendet. Es können z. B. Bibliotheken hinzufügt werden, die nicht Teil der Linux-Distribution oder der Runtime sind, eine andere Version haben als die in der Linux-Distribution oder Runtime enthaltene oder eine gepatchte Version einer oder mehrerer Bibliotheken. Durch dieses zwangsweise doppelte Vorhandensein bestimmter Pakete erhöht sich der Speicherplatzbedarf im Vergleich zu traditionellen Paketquellen deutlich.

Anwendungen, die mit Flatpak ausgeführt werden, brauchen für den Zugriff auf Dateien oder auf die Hardware die Erlaubnis des Benutzers.[5]

Kritik

Die Seite flatkill.org führt drei wesentliche Kritikpunkte an Flatpak an:[6]

  • Die meisten populären Apps werden mit der Voreinstellung filesystem=host oder filesystem=home ausgeliefert. Dies entspricht einem Schreibzugriff auf das Home-Verzeichnis des Nutzers, so dass ein einfaches echo download_and_execute_evil >> ~/.bashrc ausreicht um Schadcode auszuführen. Dennoch wird Flatpak als "sandboxed" beworben.[7]
  • Flatpak Apps und Runtimes werden mit ihren Abhängigkeiten wie etwa libraries gebündelt ausgeliefert. Dies macht es schwerer, Sicherheitslücken zu beheben und führt in der Praxis zu zahlreichen lange offenstehenden Lücken.
  • Die Integration in Desktop-Umgebungen wie Gnome oder KDE erweist sich konzeptuell bedingt als schwierig.

Weblinks

Einzelnachweise

  1. LGPL. In: xdg-app repository . freedesktop.org. Abgerufen am 21. November 2016.
  2. Stephan Augsten: Was ist Flatpak? In: dev-insider.de. 4. Juni 2021, abgerufen am 23. Dezember 2021.
  3. Thorsten Leemhuis: Universalpakete: Flatpak und Snap sollen App-Installationen unter Linux revolutionieren. In: c't. Band 2016, Nr. 17, 2016, ISSN 0724-8679, S. 154–160 (heise.de).
  4. Ferdinand Thommes: Die innovativen Paketformate Flatpak und Snap. In: LinuxUser 08/2016. (linux-community.de).
  5. Flatpak, Snap und AppImage im Vergleich. In: LinuxUser 02/2018. (linux-community.de).
  6. Flatpak - a security nightmare. Abgerufen am 5. Juli 2022.
  7. Sandbox Permissions — Flatpak Dokumentation. Abgerufen am 5. Juli 2022.