Zum Inhalt springen

Flatpak: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Tuxnix (Diskussion | Beiträge)
Intro verbessert
K syntaktische und stilistische überarbeitung
 
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{righttoc}}
Flatpak ist eine distributionsübergreifende Möglichkeit, Programme inklusive ihrer Abhängigkeiten in Form containerartiger Softwarepakete zu installieren.


Flatpak stellt eine distributionsübergreifende Möglichkeit dar, Programme zu installieren.
{{installation|flatpak}}
Traditionell werden die einzelne Pakete von Maintainern der jeweiligen Distribution gewartet, angepasst und kompiliert über die Repositorien dem Benutzer zur Verfügung gestellt.
Die Paketabhängigkeiten werden von einer Paketverwaltung gemanagt, sodass jede Ressource im System nur einmal vorgehalten und gepflegt werden muss.


Flatpak liefert die Programme komplett inklusive der abhängigen Pakete in einem Bundle aus.
Die Verwaltung der Softwarepakete findet dann mittels diverser Parameter des Befehls {{ic|flatpak}} statt.
Vorteile ergeben sich hierbei (für nicht rollende Distributionen) in der Aktualität der Software und einer distributionsübergreifenden Standardisierung.
Dies erleichtert proprietären  Anbietern den Programm Support in einer heterogenen Linuxlandschaft. Zudem können so unabhängig von den jeweiligen Distributionsreleases die Versionen der jeweiligen Anwendersoftware auf die Arbeitsplätze ausgerollt werden.   


Die Nachteile ergeben sich durch die Umgehung der Maintainer als wichtige Kontrollinstanz, sowie der Gefahr, dass so mehrere Paketversionen in teilweise ungewarteten Versionen auf dem Rechner verbleiben können.
== Paketverwaltung mit Flatpak ==
Dieser Gefahr soll zukünftig durch Kapselung der Anwendungen in einer Sandbox und Begrenzung des Zugriffs auf Systemressourcen begegnet werden. Weiterhin ergibt sich hier die Gefahr,  dass flatpaks mit Addware und Spyware angereichert werden, da hier nur noch der jeweilige Anbieter Kontrolle über das binäre Gesamtpaket hat.
Flatpak bezieht installierbare Software aus Quellen die man vor Verwendung dem System mitteilen muss. In welcher Quellen sich ein Softwarepaket befindet, erfährt man beim Anbieter des Softwarepakets. Mittels des folgenden Befehls wird die Quelle unter der angegebenen ID hinzugefügt.


Alternativen zu Flatpak sind AppImmage und das von Canonical betriebene Snap-Format.
flatpak remote-add --if-not-exists meinrepo <nowiki>https://example.com/flatpak</nowiki>


Bisher kaum öffentlich diskutiert sind die Veränderungen die Flatpak & Co. auf die Entwicklung freier Software haben könnte. Das Maintainment von rollenden Distributionen wie z.B.: Gentoo, Debian unstable und Arch arbeitet bei komplexeren Anwendungen oft distributionsübegreifend zusammen und gibt Entwicklern freier Software so die Möglichkeit neue Versionen schnell einem breiten Publikum zuzuführen. Sollten große Anwendungen in Zukunft nur noch als ganzes 'Pak' an die Distributionen ausgeliefert werden, ist bei der Entwicklung freier Software schnell der upstream gefährdet.
Eine weit verbreitete Quelle ist „Flathub“-Repository, dies wird wie folgt hinzugefügt.


flatpak remote-add --if-not-exists flathub <nowiki>https://flathub.org/repo/flathub.flatpakrepo</nowiki>


{{installation
Eine Auflistung der installierten Quellen erhält man durch den Befehl
|repo=extra
 
|name=Das Paket
flatpak remote-list
|paket=flatpak
 
}}
Mittels {{ic|remote-ls}} wird die in einer Quelle (hier {{ic|flathub}}) verfügbare Software aufgelistet.
 
flatpak remote-ls flathub
 
Um Softwarepakete unabhängig ihres Namens zu finden, kann man sich folgenden Befehls bedienen. Die Suchfunktion berücksichtigt auch die Beschreibung der jeweiligen Pakete.


flatpak search softwarename


Danach ist eine Softwarequelle zu integrieren. Zugang kann man direkt bei dem jeweiligen Softwareanbieter erhalten.  
Um ein Softwarepaket zu installieren, gibt man Quelle und Software-ID an. Im Beispiel wird {{paket|freecad|FreeCAD}} als Flatpak installiert. Mittels {{ic|--user}} wird explizit angegeben, die Software im Userkontext zu installieren. Will man die Software für alle User zugänglich machen, kann man hier {{ic|--system}} verwenden.
flatpak remote-add <Quelle>


flatpak --user install flathub org.freecad.FreeCAD


Oder man integriert das [https://flathub.org/  Flathub Repositorium], das eine zentrale Sammelstelle für flatpaks darstellt.
Um ein installiertes Programm – beispielsweise FreeCAD – zu starten, ruft man wahlweise {{ic|flatpak}} mit entsprechenden Parametern auf, oder gibt die ID direkt an. Flatpak richtet automatisch entsprechende Verlinkungen ein.
<nowiki>
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
</nowiki>


Eine Auflistung der installierten Quellen erhält man durch den Befehl
flatpak run org.freecad.FreeCAD
  flatpak remote-list
org.freecad.FreeCAD
 
Ein Update aller installierten Flatpak-Anwendungen geschieht durch {{ic|flatpak update}}. Da Flatpak teilweise ungenutzte Pakete die als Abhängigkeit installiert werden mussten nicht automatisch entfernt, sollte man nach einem Update einmal folgenden Befehl ausführen, damit eventuell vorhandene ungenutzte Abhängigkeiten entfernt werden.
 
flatpak update
  flatpak uninstall --unused
 
Folgende Befehle können zum Auflisten der installierten Softwarepakete verwendet werden. Die Aufrufe können mittels {{ic|--user}}, {{ic|--system}}, und {{ic|--all}} spezifiziert werden.


flatpak list        # Alle Pakete, inklusive Librarys und Abhängigkeiten
flatpak list --app  # Nur gezielt installierte Anwendungen


Die Software Abfrage einer bestimmten Quelle, hier flathub, geschieht durch den Befehl
Unter [[Gnome]] kann man Flatpak-Anwendungen nach der Installation einer Quelle auch mit der GUI-Anwendung „Software“ verwalten. Als KDE-Pedant eignet sich hierfür „Discover“.
flatpak remote-ls flathub


== Betrachtung des Systems ==
Traditionell werden die einzelne Pakete von Maintainern der jeweiligen Distribution gewartet, angepasst und kompiliert über die Repositorien dem Benutzer zur Verfügung gestellt. Die Paketabhängigkeiten werden von einer Paketverwaltung gemanagt, sodass jede Ressource im System nur einmal vorgehalten und gepflegt werden muss.


Das installieren einer Softwareanwendung geschieht hier mit der Eingabe von
Flatpak liefert die Programme inklusive der abhängigen Pakete in einem Bundle aus, oder hat Abhängigkeiten zu anderer Flatpak-Software. Vorteile ergeben sich hierbei in einer distributionsübergreifenden Standardisierung. Dies erleichtert Anbietern der Programme den Support in einer heterogenen Linuxlandschaft. Zudem erleichtert es bei größeren Installationen den Admins das Ausrollen der Anwendungssoftware.
flatpak --user install flathub org.gnome.<flatpak>


Die Nachteile ergeben sich durch die Umgehung der Maintainer als wichtige Kontrollinstanz, sowie der Gefahr, dass so ungewartete Paketversionen verwendet werden. Dieser Gefahr wird durch die Kapselung in einer Sandbox und der Begrenzung des Zugriffs auf Systemressourcen begegnet.


In der grafischen Benutzerumgebung GNOME kann man flatpaks, nach der Installation eines Repositoriums, auch mit der GUI-Anwendung "Software" verwalten.
Alternativen zu Flatpak sind ''AppImage'' und das von Canonical geschaffene [[Snap|Snap]]-System.
Als KDE-Pedant eignet sich hierfür "Discover".


==Weblinks==
==Weblinks==
*[https://en.wikipedia.org/wiki/Flatpak Wikipedia]{{sprache|en}}
* [http://flatpak.org/ Offizielle Website] {{sprache|en}}
*[http://flatpak.org/ flatpak.org]{{sprache|en}}
* [https://flathub.org/de Flathub-Website] {{sprache|de}}
*[https://flathub.org/ Flathub Repositorium]{{sprache|en}}
 


[[en:Flatpak]]
[[en:Flatpak]]
[[ja:Flatpak]]
[[ja:Flatpak]]
 
[[Kategorie:Paketverwaltung]]
[[Kategorie:Systemverwaltung]]

Aktuelle Version vom 19. Oktober 2025, 21:21 Uhr

Flatpak ist eine distributionsübergreifende Möglichkeit, Programme inklusive ihrer Abhängigkeiten in Form containerartiger Softwarepakete zu installieren.

Installation

Das Programm ist als flatpak in extra verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S flatpak

Die Verwaltung der Softwarepakete findet dann mittels diverser Parameter des Befehls flatpak statt.

Paketverwaltung mit Flatpak

Flatpak bezieht installierbare Software aus Quellen die man vor Verwendung dem System mitteilen muss. In welcher Quellen sich ein Softwarepaket befindet, erfährt man beim Anbieter des Softwarepakets. Mittels des folgenden Befehls wird die Quelle unter der angegebenen ID hinzugefügt.

flatpak remote-add --if-not-exists meinrepo https://example.com/flatpak

Eine weit verbreitete Quelle ist „Flathub“-Repository, dies wird wie folgt hinzugefügt.

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Eine Auflistung der installierten Quellen erhält man durch den Befehl

flatpak remote-list

Mittels remote-ls wird die in einer Quelle (hier flathub) verfügbare Software aufgelistet.

flatpak remote-ls flathub

Um Softwarepakete unabhängig ihres Namens zu finden, kann man sich folgenden Befehls bedienen. Die Suchfunktion berücksichtigt auch die Beschreibung der jeweiligen Pakete.

flatpak search softwarename

Um ein Softwarepaket zu installieren, gibt man Quelle und Software-ID an. Im Beispiel wird FreeCAD als Flatpak installiert. Mittels --user wird explizit angegeben, die Software im Userkontext zu installieren. Will man die Software für alle User zugänglich machen, kann man hier --system verwenden.

flatpak --user install flathub org.freecad.FreeCAD

Um ein installiertes Programm – beispielsweise FreeCAD – zu starten, ruft man wahlweise flatpak mit entsprechenden Parametern auf, oder gibt die ID direkt an. Flatpak richtet automatisch entsprechende Verlinkungen ein.

flatpak run org.freecad.FreeCAD
org.freecad.FreeCAD

Ein Update aller installierten Flatpak-Anwendungen geschieht durch flatpak update. Da Flatpak teilweise ungenutzte Pakete die als Abhängigkeit installiert werden mussten nicht automatisch entfernt, sollte man nach einem Update einmal folgenden Befehl ausführen, damit eventuell vorhandene ungenutzte Abhängigkeiten entfernt werden.

flatpak update
flatpak uninstall --unused

Folgende Befehle können zum Auflisten der installierten Softwarepakete verwendet werden. Die Aufrufe können mittels --user, --system, und --all spezifiziert werden.

flatpak list        # Alle Pakete, inklusive Librarys und Abhängigkeiten
flatpak list --app  # Nur gezielt installierte Anwendungen

Unter Gnome kann man Flatpak-Anwendungen nach der Installation einer Quelle auch mit der GUI-Anwendung „Software“ verwalten. Als KDE-Pedant eignet sich hierfür „Discover“.

Betrachtung des Systems

Traditionell werden die einzelne Pakete von Maintainern der jeweiligen Distribution gewartet, angepasst und kompiliert über die Repositorien dem Benutzer zur Verfügung gestellt. Die Paketabhängigkeiten werden von einer Paketverwaltung gemanagt, sodass jede Ressource im System nur einmal vorgehalten und gepflegt werden muss.

Flatpak liefert die Programme inklusive der abhängigen Pakete in einem Bundle aus, oder hat Abhängigkeiten zu anderer Flatpak-Software. Vorteile ergeben sich hierbei in einer distributionsübergreifenden Standardisierung. Dies erleichtert Anbietern der Programme den Support in einer heterogenen Linuxlandschaft. Zudem erleichtert es bei größeren Installationen den Admins das Ausrollen der Anwendungssoftware.

Die Nachteile ergeben sich durch die Umgehung der Maintainer als wichtige Kontrollinstanz, sowie der Gefahr, dass so ungewartete Paketversionen verwendet werden. Dieser Gefahr wird durch die Kapselung in einer Sandbox und der Begrenzung des Zugriffs auf Systemressourcen begegnet.

Alternativen zu Flatpak sind AppImage und das von Canonical geschaffene Snap-System.