ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

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-logo.png 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 Wiki/Vorlagen/PPA/ppa.png 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).

Diese Revision wurde am 3. Februar 2018 12:33 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Paketverwaltung, System