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 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 i.d.R. auf sämtlichen Linux-Distributionen mit installiertem Flatpak lauffähig.

Installation

Flatpak ist ab Ubuntu 17.04 in den offiziellen Paketquellen und kann einfach nachinstalliert werden.

  • flatpak (universe)

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 sich hier: http://flatpak.org/apps.html 🇬🇧 oder hier: https://flathub.org/apps.html 🇬🇧.

Installation

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:

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äd 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 selbstverständlich 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 

Bitte beachten, dass wenn im Folgenden von "Paket" dir 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 es sich ein genauer Blick auf die man-Page oder offizielle Dokumentationen auf der Flatpak-Homepage.

Bekannte Probleme

Über Flatpak installierte Anwendungen können nur auf bestimmte Ordner zugreifen

Ja, dies ist tatsächlich kein Bug, sondern ein (Sicherheits-) Feature.

Flatpak-Anwendungen laufen in einer sogenannten [wikipedia: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". Da ein Snap-Server eigentlich nichts anderes ist als ein Web-Server, kann zwar jeder seinen eigenen "Snap Store" betreiben, dies ist jedoch grundsätzlich nicht vorgesehen. So kennt das Snap-Tool standardgemäß nur den Canonical Snap-Store und ein Konzept ähnlich PPA oder "add-apt-repository" fehlt. Stattdessen kann eine Environment-Variable gesetzt werden. https://insights.ubuntu.com/2016/06/24/howto-host-your-own-snap-store/. Flatpak dagegen ist per Design komplett dezentral. Jeder, der will, soll sogar einen eigenen Flatpak-Server eröffnen. Dies hat jedoch auch den Nachteil, dass der Endnutzer nicht eine Anlaufstelle hat, sondern erst auf Webseiten das Repository finden und hinzufügen muss.

  • 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.

  • Canonical zielt mit Snap durchaus auch auf kommerzielle und propritäre Anwendungen, während Flatpak eher als Open Source-Software für Open Source Software gedacht ist.

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ängiges 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 "Grundpacketes"

  • 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 13. Oktober 2017 21:22 von RabbidPinguin erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Paketverwaltung, System