Flatpak
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Flatpak ist eine Aternative zu dem von Canonical entwickeltem snap Apps. Ziel ist ebenfalls Programme "konfliktfrei" zur "normalen" Paketverwaltung zu installieren.
Flatpak legt so ebenfalls alle benötigten Binaries, Bibliotheken, Konfigurationsdateien und sonstige Dateien in ein Verzeichnis (normalerweise Unterverzeichniss von /var/lib/flatpak/app/). Eine Flatpak-Applikation ist somit ohne weiteren Anpassungen i.d.R. auf sämtlichen Linux-Distributionen mit installiertem Flatpak läuffähig.
Installation¶
Flatpak ist ab Ubuntu 17.04 in den offiziellen Packetquellen und kann einfach nachinstalliert werden.
flatpak
Befehl zum Installieren der Pakete:
sudo apt-get install flatpak
Oder mit apturl installieren, Link: apt://flatpak
Benutzung¶
Eine Liste zur Zeit verfügbaren Flatpaks findet sich hier: http://flatpak.org/apps.html
Installation¶
Um die Installation zu vereinfachen, können alle für die Installation notwendige Informationen in eine .flatpakref-Datei geschrieben werden. Man braucht so nur die .flatpakref-Datei herunterladen und anschließend den folgenden Befehl ausführen:
sudo flatpak install PFAD/NAME.flatpakref
Alternativ könnte man auch manuell das Repository hinzufügen, den GPG-Key akzeptieren und das Packet installieren.
sudo flatpak remote-add REPOSITORY_URL sudo flatpak install REPO_NAME PACKET_NAME
Liste installierter Programme¶
flatpak list
Update¶
sudo flatpak update [PACKET]
PACKET nicht angegeben, wird - wenn möglich - ein Update aller installierten Programme vorgenommen.
Deinstallation¶
sudo flatpak uninstall PACKET
Weiteres¶
Für weitere Möglichkeiten empfiehlt es sich die man-page online unter http://manpages.ubuntu.com/manpages/zesty/man1/flatpak.1.html oder lokal mit "man flatpak".
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 expliziet 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. Staddessen kann ausschließlich 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 Websiten 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 ziehlt mit Snap durchaus auch auf komerzielle und propritäre Anwendungen, während Flatpak eher als Open Source-Software für Open Source Software gedacht ist.
* "Hinter den Kulissen" gibt es etliche weitere Unterschiede.
Unterschiede zu AppImage¶
An dieser Stelle soll außerdem auf AppImage verwiesen werden. AppImage ist ein Packetformat, 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.
Links¶
* http://flatpak.org/ 🇬🇧 - offizielle Homepage
* http://docs.flatpak.org/en/latest/ 🇬🇧 - Dokumentation