Verwenden von Flatpak¶
Diese Seite enthält eine Einführung zu der Flatpak-Kommandozeilenschnittstelle und erläutert essenzielle technische Konventionen, sowie die häufigst verwendeten Befehle.
Endbenutzer sollten auf diese Seite oder die Flatpak-Kommandozeilenschnittstelle für gewöhnlich nicht angewiesen sein, da Flatpak mit grafischen Softwaremanagement-Tools verwendet werden kann. Wenn es bevorzugt wird, steht es natürlich frei, die Kommandozeile zu verwenden.
Das Flatpak-Kommando¶
flatpak
ist das primäre Flatpak-Kommando, an dieses werden spezifische Befehle angefügt. Zum Beispiel lautet das Komando etwas zu installieren flatpak install
und etwas zu deinstallieren flatpak uninstall
.
Identifikatoren¶
Flatpak identifiziert jede Anwendung und Laufzeitumgebung unter Verwendung eines einzigartigen dreiteiligen Identifikators, wie com.company.App
. Das letzte Segment dieser Adresse ist der Objektname, der vorgestellte Teil identifiziert den Entwickler. Dadurch kann der gleiche Entwickler mehrere Anwendungen, wie com.company.App1
und com.company.App2
, haben.
Identifikator-Tripel¶
Normalerweise ist es ausreichend auf Objekte unter Verwendung ihrer ID zu referenzieren. Jedoch ist es in manchen Situationen notwendig, auf eine bestimmte Version eines Objektes oder eine spezifische Architektur zu referenzieren. Beispielsweise können einige Anwendungen als stabile Versionen verfügbar sein oder als Testversion, in diesem Fall ist es notwendig anzugeben, welche installiert werden soll.
Flatpak erlaubt Architekturen und Versionen spezifiziert zu werden mittels eines Identifikator-Tripels. Dies geschieht in Form von name/architecture/branch
, wie zum Beispiel com.company.App/i386/stable
(branch
ist der Begriff, der verwendet wird, um auf Versionen des gleichen Objekts zu verweisen). Der erste Teil des Tripels ist die ID, der zweite Part die Architektur und der dritte Teil der Entwicklungszweig (Branch).
Indem ein Teil des Tripels ausgelassen wird, können Identifikator-Tripel ebenso verwendet werden, um lediglich die Architektur oder den Branch zu spezifizieren. Beispielsweise würde com.company.App//stable
lediglich den Branch festlegen und com.company.App/i386//
nur die Architektur spezifizieren.
Das Flatpak-CLI gibt Feedback, ob Architektur oder Branch eines Objektes spezifiziert werden muss.
System versus Benutzer¶
Flatpak-Befehle können systemweit oder unter einzelnen Benutzern laufen. Anwendungen und Laufzeitumgebungen, die systemweit installiert wurden, stehen allen Benutzern des Systems zur Verfügung. Anwendungen und Laufzeitumgebungen, die pro Benutzer installiert wurden, stehen lediglich in den Benutzer-Accounts des Systems zur Verfügung, in denen diese installiert wurden.
Das gleiche Prinzip gilt für Repositorys – Repositorys, die systemweit hinzugefügt wurden, sind verfügbar für alle Benutzer, während benutzerbasierte Repositorys lediglich von einem bestimmten Benutzer verwendet werden können.
Flatpak-Kommandos laufen standardmäßig systemweit. Wenn Anwendungen für den täglichen Gebrauch installiert werden, ist es empfehlenswert dieses Standardverhalten beizubehalten.
Allerdings kann es für Test- und Entwicklungszwecke sinnvoll sein, Kommandos als Benutzer laufen zu lassen, da Objekte, die in dieser Weise installiert werden, nicht für andere Nutzer des Systems zur Verfügung stehen. Zu diesem Zweck wird die --user
-Option als Schalter verwendet, dieser kann in Kombination mit den meisten Flatpak-Kommandos verwendet werden.
Befehle verhalten sich exakt in der gleichen Weise, wenn sie benutzerbasiert laufen, als wenn sie systemweit angewendet werden.
Grundlegende Kommandos¶
Dieser Abschnitt deckt grundlegende Befehle ab, die benötigt werden, um Flatpak-Anwendungen zu installieren, zu starten und zu verwalten. Für die vollständige Liste der Flatpak-Kommandos kann man flatpak --help
aufrufen oder in die Flatpak Command Reference schauen.
Auflisten von Remotes¶
Um die Remotes aufzulisten, die auf dem System konfiguriert sind, verwendet man diesen Befehl:
$ flatpak remotes
Ausgegeben wird eine Liste der existierenden Remotes, die hinzugefügt wurden. Die Auflistung zeigt an, ob die jeweiligen Remotes benutzerbasiert oder systemweit installiert wurden.
Hinzufügen eines Remotes¶
Der zweckmäßigste Weg einen Remote hinzuzufügen, ist eine flatpakrepo
-Datei zu verwenden, welche sowohl die Details des Remote und seines GPG-Schlüssels enthält:
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flathub
ist hier der lokale Name, der dem Remote gegeben wird. Die URL zeigt auf die flatpakrepo
-Datei des Remotes. --if-not-exists
hindert das Kommando daran einen Fehler zu erzeugen, wenn das Remote bereits existiert.
Entfernen eines Remotes¶
Um ein Remote zu entfernen, ruft man auf:
$ flatpak remote-delete flathub
In diesem Fall ist flathub
der lokal vergebene Name des Remotes.
Suchen¶
Anwendungen können in allen systemweiten und benutzerbasierten Remotes gefunden werden unter Hinzunahme des search
-Kommandos. Beispielsweise:
$ flatpak search gimp
Die Suche wird jede Anwendung auflisten, die mit den Suchkriterien übereinstimmt. Jedes Suchergebnis beinhaltet die Anwendungs-ID und das Remote, in dem die Anwendung sich befindet. In diesem Beispiel ist der Suchbegriff gimp
.
Installieren von Anwendungen¶
Um eine Anwendung zu installieren, verwendet man:
$ flatpak install flathub org.gimp.GIMP
flathub
ist hierbei der Name des Remotes, von dem die Applikation installiert werden soll und org.gimp.GIMP
ist die ID der Applikation.
Gelegentlich benötigt eine Anwendung eine bestimmte Laufzeitumgebung, diese wird dann vor der Anwendung installiert.
Die Details für die Installation der Anwendung können auch in einer .flatpakref
-Datei zur Verfügung gestellt werden, diese kann entweder remote oder lokal vorliegen. Um ein .flatpakref
zur Verfügung zu stellen, anstatt händisch das Remote und die Anwendungs-ID anzugeben, verwendet man:
$ flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref
Wenn die .flatpakref
-Datei spezifiziert, dass die Anwendung von einem Remote installiert wird, das noch nicht bereits hinzugefügt wurde, wird gefragt, ob dieses hinzugefügt werden soll, bevor die Applikation installiert wird.
Since Flatpak 1.2, the install
command can search for applications. A
simple:
$ flatpak install gimp
will confirm the remote and application and proceed to install.
Starten von Anwendungen¶
Sobald eine Anwendung installiert wurde, kann diese aufgerufen werden unter Verwendung des run
-Kommandos und der zugehörigen Anwendungs-ID:
$ flatpak run org.gimp.GIMP
Aktualisieren¶
Um alle installierten Anwendungen und Laufzeitumgebungen auf die aktuellsten Versionen zu aktualisieren, verwendet man:
$ flatpak update
Auflisten von installierten Anwendungen¶
Um alle installierten Anwendungen und Laufzeitumgebungen aufzulisten, verwendet man:
$ flatpak list
Um lediglich die installierten Anwendungen aufzulisten, verwendet man:
$ flatpak list --app
Entfernen einer Anwendung¶
Um eine Anwendung zu entfernen, verwendet man:
$ flatpak uninstall org.gimp.GIMP
Troubleshooting¶
Flatpak has a few commands that can help you to get things working again when something goes wrong.
To remove runtimes and extensions that are not used by installed applications, use:
$ flatpak uninstall --unused
To fix inconsistencies with your local installation, use:
$ flatpak repair
Flatpak also has a number of commands to manage the portal permissions of
installed apps. To reset all portal permissions for an app, use flatpak
permission-reset
:
$ flatpak permission-reset org.gimp.GIMP
To find out what changes have been made to your Flatpak installation over time, you can take a look at the logs (since 1.2):
$ flatpak history