Flatpak
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Flatpak ist eine Alternative zu dem von Canonical entwickelten snap Apps.
Ziel ist ebenfalls Programme konfliktfrei zur "normalen" Paketverwaltung zu installieren, indem alle benötigten Binaries, Bibliotheken, Konfigurationsdateien und sonstige Dateien in ein Verzeichnis (normalerweise Unterverzeichnis von /var/lib/flatpak/app/) gelegt werden. Eine Flatpak-Applikation ist somit ohne weiteren Anpassungen in der Regel auf sämtlichen Linux-Distributionen mit installiertem Flatpak lauffähig.
Installation¶
Flatpak ist seit Ubuntu 16.10 in den offiziellen Paketquellen, ist aber laut Projektwebsite veraltet. Deswegen wird die Installation über ein PPA empfohlen.
Adresszeile zum Hinzufügen des PPAs:
ppa:alexlarsson/flatpak
Hinweis!
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der PPA-Beschreibung des Eigentümers/Teams alexlarsson zu entnehmen.
Danach kann das Programm flatpak installiert werden.
flatpak (ppa)
Befehl zum Installieren der Pakete:
sudo apt-get install flatpak
Oder mit apturl installieren, Link: apt://flatpak
Benutzung¶
Eine Liste zur Zeit verfügbarer Flatpaks findet man im Internet unter http://flatpak.org/apps.html 🇬🇧 oder https://flathub.org/apps.html 🇬🇧.
Flatpaks systemweit installieren¶
Um die Installation zu vereinfachen, werden alle für die Installation notwendigen Informationen in eine .flatpakref-Datei geschrieben. Installation über eine solche Datei erfolgt mit folgendem Befehl[2][3]:
sudo flatpak install --from FLATPAKREF
Hierbei kann FLATPAKREF
eine lokale Datei oder eine URL sein. --from
kann außerdem entfallen, wenn FLATPAKREF
auf .flatpakref endet.
Möchte man z.B. LibreOffice installieren, führt man folgenden Befehl aus:
sudo flatpak install --from http://download.documentfoundation.org/libreoffice/flatpak/LibreOffice.flatpakref
Oder man lädt sich die Datei LibreOffice.flatpakref ⮷ lokal herunter und anschließend (angenommen die Datei liegt im Download-Ordner):
sudo flatpak install --from $HOME/Downloads/LibreOffice.flatpakref
Die Datei LibreOffice.flatpakref kann danach gelöscht werden.
Lokale Installation¶
Flatpak bietet außerdem die Möglichkeit, Programme "lokal" für nur einen Nutzer zu installieren. Dies hat den Vorteil, dass keine erhöhten Rechte (sudo) notwendig sind. Andererseits sind so installierte Programme auch nur für den Nutzer verfügbar, der sie installiert hat.
Um ein Programm lokal zu installieren, muss einfach nur --user
während der Installation angegeben werden. LibreOffice lokal zu installieren sieht dann z.B. so aus:
flatpak install --user --from http://ftp.fau.de/tdf/libreoffice/flatpak/LibreOffice.flatpakref
Wichtig ist hier, tatsächlich kein sudo zu verwenden!
Liste installierter Programme¶
flatpak list
Zu beachten ist, dass wenn im Folgenden von "Paket" die Rede ist, nicht einfach der Programmname gemeint ist, sondern tatsächlich der Name, der bei diesem Befehl angezeigt wird. So ist der Paketname von LibreOffice (auf 64-bit Systemen) org.libreoffice.LibreOffice/x86_64/fresh oder einfach nur org.libreoffice.LibreOffice, da alles nach dem / weggelassen werden kann.
Update¶
sudo flatpak update [PAKET]
Oder lokal:
flatpak update --user [PAKET]
Ohne Angabe von PAKET
, wird ein Update aller installierten Programme versucht.
Deinstallation¶
sudo flatpak uninstall PAKET
Oder lokal:
flatpak uninstall --user PAKET
Starten¶
Gängige Desktop-Umgebungen sollten auch über Flatpak installierte Anwendungen automatisch erkennen und wie klassisch installierte Anwendungen anzeigen.
Von Kommandozeile können Flatpak-Anwendungen bei Bedarf so gestartet werden:
flatpak run PAKET
Weiteres¶
Für weitere Möglichkeiten empfiehlt sich ein genauer Blick auf die man-Page oder die offizielle Dokumentationen auf der Flatpak-Homepage 🇬🇧.
Bekannte Probleme¶
Über Flatpak installierte Anwendungen können nur auf bestimmte Ordner zugreifen¶
Dies ist tatsächlich kein Bug, sondern ein (Sicherheits-) Feature.
Flatpak-Anwendungen laufen in einer sogenannten Sandbox und haben so nur Zugriff auf Ressourcen, die die jeweiligen Anwendungen unbedingt brauchen. So hat z.B. ein Browser wie Firefox als Flatpak nur Zugriff auf den Download-Ordner - und kann somit auch nicht z.B. persönliche Dokumente im Dokumente-Ordner löschen oder verschlüsseln.
Keine gute Idee ist es, in nicht für Flatpak freigegebene Ordner zu schreiben - also z.B. in dem Firefox-Flatpak selber einen Ordner Dokumente zu erstellen - da dies einen Neustart des Programms nicht übersteht.
Differenzierung zu anderen Technologien¶
Unterschiede zu Snap¶
Snap wird hauptsächlich von Canonical entwickelt, Flatpak ist ein von Alexander Larsson gestartetes Communityprojekt. Die Entwickler stammen größtenteils aus dem Gnome-Project, Flatpak ist jedoch explizit nicht an GNOME gebunden.
Für Snaps gibt es einen zentralen Server - den von Canonical betriebenen "Snap Store". Auch wenn selbstverständlich .snap-Dateien heruntergeladen und am Store vorbei-installiert werden können und auch der Aufwand einer Re-Implementierung des Snap-Stores sich in Grenzen halten sollte, ist der Snap Store propritär und verschiedene "Repositories" nicht vorgesehen. Flatpak dagegen ist per Design komplett dezentral. Jeder, der will, soll sogar einen eigenen Flatpak-Server eröffnen. Mit Flathub gibt es jedoch trotzdem eine zentrale Anlaufstelle für einen Großteil verfügbarer Flatpak-Anwendungen.
Snap wurden ursprünglich für das Internet of Things entwickelt. Später wurde Snap auch für den Desktop optimiert. Flatpak ist dagegen ausschließlich für den Desktop und für grafische Programme gedacht.
Unterschiede zu AppImage¶
An dieser Stelle soll außerdem auf AppImage verwiesen werden. AppImage ist ein Paketformat, das es schon Jahre vor Flatpak oder Snap gab (seit 2004 als klik) und dessen Ziel ebenfalls das Linux-distributionsunabhängige Ausliefern von Programmen ist. Auch wenn sich der Grundgedanke ähnlich anhört, gibt es etliche Unterschiede zu Flatpak (und auch zu Snap):
AppImage benötigt keine Installation eines "Grundpaketes"
Ebenfalls keine Installation der Anwendungen nötig - als AppImage-Programme lassen sich "portable" und ohne root-Rechte direkt ausführen
Keine automatischen Updates
Standardgemäß keine erhöhte Sicherheit durch Sandboxing (Verwendung von FireJail 🇬🇧 möglich).
Links¶
http://flatpak.org/ 🇬🇧 - offizielle Homepage
http://docs.flatpak.org/en/latest/ 🇬🇧 - Dokumentation