Flatpak

Flatpak

Basisdaten

Erscheinungsjahr März 2015[1]
Aktuelle Version 1.14.10[2]
(14. August 2024)
Aktuelle Vorabversion 1.15.1[3]
(17. November 2022)
Betriebssystem Linux
Programmier­sprache C[4]
Kategorie Virtualisierung
Lizenz LGPL[5]
flatpak.org

Flatpak (früher xdg-app) ist eine Software zur Softwareverteilung und Virtualisierung von Desktop-Anwendungen auf Linux-Betriebssystemen. Es bietet eine abgeschottete Umgebung, in der Anwendungen vom übrigen System isoliert ausgeführt werden können – sei es durch Anwender oder Entwickler. Flathub dient dabei als zentrales Projekt für die Erstellung und Verbreitung von Software, die Flatpak nutzt.

Geschichte

Die Idee, Anwendungscontainer im Gnome-Umfeld zu verwenden, wurde erstmals 2013 von Lennart Poettering vorgeschlagen.[6] Im Jahr 2014 veröffentlichte er dazu einen ausführlichen Artikel. Flatpak wurde im Rahmen des freedesktop.org-Projekts entwickelt, das zuvor als X Desktop Group (XDG) bekannt war, und erhielt zunächst den Namen xdg-app.[7] Flatpak stellt eine Alternative zur von Canonical entwickelten Paketverwaltung Snappy dar, ist jedoch im Gegensatz zu dieser vorwiegend auf grafische Benutzeroberflächen ausgerichtet.[8] Der schwedische Entwickler Alexander Larsson wählte den Namen Flatpak in Anlehnung an die flachen Pakete, in denen IKEA seine Möbel verpackt.[9]

Konzept

Flatpaks Runtime stellt dabei die Basis einer Umgebung und alle deren Abhängigkeiten bzw. Bibliotheken (z. B. Glibc) bereit, die von den Applikationen verwendet werden. Sollte eine Applikation Abhängigkeiten benötigen, die nicht Teil der Runtime sind, dann sind diese im Flatpak-Paket enthalten. 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 oder mehrfache Vorhandensein bestimmter Pakete erhöht sich der Speicherplatzbedarf im Vergleich zu traditionellen Paketquellen jedoch deutlich.

Anwendungen, die mit Flatpak ausgeführt werden, brauchen für den Zugriff auf fremde Dateien außerhalb der Sandbox oder auf die Hardware die Erlaubnis des Benutzers.[10]

Kritik

Die Sicherheit der Sandbox, insbesondere der Berechtigung, wurde kritisiert. Zum Zeitpunkt der Veröffentlichung traf die Kritik bis auf wenige Ausnahmen nicht mehr zu. Nicht von der Hand zu weisen sei jedoch das Problem der unzureichenden Deduplizierung, da Bibliotheken innerhalb unterschiedlicher Flatpaks mehrfach ausgeliefert werden, was mehr Festplattenplatz benötige und den Wartungsaufwand erhöhe.[11]

Commons: Flatpak – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. flatpak.org.
  2. 1.14.10. 14. August 2024 (abgerufen am 15. August 2024).
  3. github.com. (abgerufen am 11. Januar 2023).
  4. The flatpak Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 19. Juli 2018).
  5. LGPL. freedesktop.org, abgerufen am 29. Dezember 2022 (englisch).
  6. Lennart Poettering: Sandboxed applications for GNOME. In: GUADEC 2013 - video recordings and slides. Abgerufen am 25. November 2024.
  7. Stephan Augsten: Was ist Flatpak? In: dev-insider.de. 4. Juni 2021, abgerufen am 23. Dezember 2021.
  8. 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).
  9. Ferdinand Thommes: Die innovativen Paketformate Flatpak und Snap. In: LinuxUser 08/2016. (linux-community.de).
  10. Flatpak, Snap und AppImage im Vergleich. In: LinuxUser 02/2018. (linux-community.de).
  11. Ferdinand Thommes: Flatpak-Integration in Desktop-Systeme. In: LinuxUser 05/2019. Abgerufen am 12. August 2023 (deutsch).