About: Paketformate und die Zukunft von Linux-Software
Während man früher nehmen musste, was die distributionseigenen Repos hergaben, hat man heutzutage die Wahl zwischen Repos, Flatpaks, Snaps und Appimages. Ein Kommentar.
Disclaimer: Dieser Artikel wurde inspiriert und enthält Versatzstücke von Ralf Hersels Artikel https://gnulinux.ch/paketvielfalt-im-software-center
Die Repos bilden auch heute noch das Rückgrat einer jeden Linux-Distribution. Doch daneben getreten sind mittlerweile Flatpaks, Snaps und Appimages, die es Entwicklern erlauben, distributionsübergreifende Pakete ihrer Software zu erstellen, anstatt debs, rpms, zips und weiß der Teufel noch was zu erstellen. Das ist eine Entwicklung, die prinzipiell zu begrüßen ist, die aber auch zu größerer Komplexität für Endanwender führt.
Paketvielfalt im Software-Center (von Ralf Hersel)
Nachdem gestern Fedora 38 veröffentlicht wurde und morgen Ubuntu 23.04 ‘Lunar Lobster’ erscheinen wird, habe ich einen Blick auf die grafischen Anwendungen für die Paketinstallation und -verwaltung geworfen. Dabei galt mein Augenmerk nicht der allgemeinen Funktionalität, sondern der Präsentation von verschiedenen Paketformaten.
Wir diskutieren schon seit geraumer Zeit darüber, ob die Ausweitung der Paketformate ein Fluch oder Segen ist, und zwar aus Sicht der Entwicklerinnen und Anwender. Zurzeit kennen wir die nativen Repositories von Debian, Fedora, Arch, OpenSUSE, usw. Früher war die Paket-Welt noch einfach; da musste man sich höchstens zwischen free und non-free entscheiden und bekam bei der Software-Auswahl ein Paket für die Installation angeboten.
Seitdem sich die Entwickler das Leben mit Snaps, Flatpaks und AppImages vereinfacht haben, da sie theoretisch nur noch ein Paketformat unterstützen müssen, ist die Situation für Anwender:innen (insbesondere Anfänger) nicht einfacher geworden. Es gilt herauszufinden, welches Format für eine Anwendung man installieren möchte und welches davon überhaupt funktioniert. Ein praktisches Beispiel für diese Problematik habe ich am Montag in diesem Artikel über Audacity beschrieben.
Deshalb schaue ich mir an, wie sich die unterschiedlichen Paketformate bei Fedora, Ubuntu und Manjaro präsentieren.
Die folgenden Vergleiche wurden alle mit den neuesten Versionen der Distributionen in der virtuellen Maschine GNOME Boxes durchgeführt.
Fedora
Beginnen möchte ich mit der ofenfrischen Distribution Fedora 38. Installiert man Fedora mit dem GNOME-Desktop, heisst die grafische Paketverwaltung schlicht "Software" und präsentiert die Paketformate so:
Am Beispiel von GIMP erscheint unter der Installieren-Schaltfläche ein kleines Dropdown, in dem man drei Optionen erhält. Standardmässig würde GIMP als Flatpak installiert, und zwar aus dem Fedora-eigenen Flatpak-Repository. Falls jemand auf die Idee kommt, das Dropdown zu öffnen, gibt es die Möglichkeit, die Anwendung als RPM-Paket (also nativ) zu installieren, oder wiederum als Flatpak, dieses Mal aber aus dem allgemeinen Flatpak-Repository.
Aus Anwendersicht finde ich diese Umsetzung gut gelungen. Man muss sich in erster Linie nicht um das Paketformat kümmern, sondern installiert das, was die Distribution vorgibt (Flatpak aus dem Fedora-Repository). Wer will, kann einer der Alternativen wählen.
Ubuntu
In der neusten Version der Canonical-Distro heisst der GUI-Paketmanager "Ubuntu Software", ist aber auch eine Variante der GNOME-Anwendung "Software". Darin bietet sich ein etwas anderes Bild:
Bei der Suche nach "GIMP" wird nur eine Variante der Anwendung vorgeschlagen, sowie ein paar ergänzende Pakete. Auch hier gibt es rechts oben eine Dropdown-Liste, die drei Optionen anbietet, oder sind es vielleicht vier? Sind es, weil sich ganz unten das DEB-Paket versteckt. Prominent werden drei unterschiedliche Version des Snap-Paketes für GIMP angeboten.
Der Anwender:in wird es auch hier einfach gemacht: "Snap oder stirb". Berücksichtigt man die Canonical-Strategie (Snap first), wurde hier alles richtig gemacht. Der Anwender erhält vordergründig nur eine Option, um das Paket zu installieren. Neueinsteiger werden von der Auswahl (Versionen, DEB) in der Dropdown-Liste wohl eher irritiert sein.
Manjaro
Das Arch-basierte Manjaro ist kein optimaler Kandidat für diesen Vergleich, weil diese Distribution sich eher an fortgeschrittene Anwender:innen richtet. Dennoch halte ich den Vergleich für interessant, zeigt er doch grosse Unterschiede zu den App-Stores von Fedora und Ubuntu.
Im Gegensatz zu Fedora und Ubuntu, zeigt der grafische Paketmanager Pamac direkt alle verfügbaren Optionen an. Bei GIMP sind dies das native Paket und das Flatpak. Hier kann man aus Anwendersicht bemängeln, dass Anfänger nicht wissen, welches Paket sie installieren sollen. Andererseits hat man die freie Auswahl, falls das eine Paket besser funktioniert als das andere.
KDE Discover (von Christian Spaan)
KDE-typisch werden hier bei Eingabe von "Gimp" im Suchfeld viele ergänzende Projekte angezeigt. Fun fact: Nur Gimp selbst nicht, da es offenbar nur bei Eingabe von GNU Image (Manipulation Program) angezeigt wird, nicht aber wenn man einfach nur GIMP eingibt.
Suchbegriff: GNU Image Manipulation Program
Angeboten wird das Flatpak, auch als BETA-Version über den entsprechenden Flathub-Kanal.
Suchbegriff: GIMP
Diverse Zusatzprodukte und Addons werden offeriert, darunter auch solche, die größere Ähnlichkeit zu Photoshop herstellen.
Zwischenfazit (Ralf Hersel)
Als Anwender:in von GNU/Linux-Distributionen sollte man darauf vertrauen können, dass alle angebotenen Pakete funktionieren. Wobei der Begriff funktionieren bedeutet, dass das Paket in der Distribution, auf der Hardware und im Kontext von Desktop und individueller Konfiguration funktioniert.
Fedora und Ubuntu setzen auf ein Funktionieren des Flatpaks oder des Snap-Paketes unter den Bedingungen der Distribution. Manjaro bietet, ohne eine Unterauswahl anzubieten, alle verfügbaren Paketformate an, womit die Entscheidung auf die Anwenderin abgewälzt wird.
Was ist besser? Falls das voreingestellte Pakete funktioniert, ist der Ansatz von Fedora und Ubuntu besser. Falls dem nicht so ist, halte ich die Optionen von Manjaro für realitätsnäher. Hier sieht man sofort, was es gibt und kann eine Auswahl treffen, falls man die nötige Erfahrung hat.
Kommentar: The more the marrier (ChristianSpaan)
Ja, mit den neuen Paketformaten geht eine größere Komplexität einher. Anwender müssen sich gegebenenfalls zwischen verschiedenen Optionen entscheiden. Dafür erhalten sie eine größere Auswahl: Ist eine distributionseigene Version im Repo veraltet, kann man einfach das aktuelle Flatpak-Paket installieren. Darüber hinaus bieten Lösungen wie KDE Discover oder Pamac (Manjaro) eine Integration der neuen Formate, sodass es eine zentrale Softwareverwaltung gibt - die Nutzung unterschiedlicher Tools wird somit überflüssig. Manjaro installiert außerdem standardmäßig den AppImageLauncher - eine Maßnahme, die sich andere Distros abgucken sollten. Damit wird bei Doppelklick auf ein AppImage die Wahl angeboten, das AppImage einmalig auszuführen oder in das System zu integrieren.
Insgesamt überwiegen die Vorteile die Nachteile deutlich - zumal die Integration in Tools wie KDE Discover die größten Nachteile mitigieren kann (z.B die Notwendigkeit verschiedener Tools zur Softwareverwaltung).
Die neuen Formate - allen voran Flatpak - sind also als Bereicherung und nicht als Belastung zu sehen.
Snaps sind ein anderes Thema, da Canonical damit wieder einmal versucht, sein eigenes Ding durchzudrücken, während sich die meisten Distros auf Flatpaks eingeschossen haben.
Dagegen haben AppImages durchaus ihre Daseinsberechtigung als Einmal-Software zu Testzwecken ohne Karteileichengefahr oder als Interimslösung für veraltete Repo-Software (z.B hinkt der AUR-Build von Publii gerne etwas hinterher, während das aktuelle AppImage via Webseite sofort verfügbar ist).
Außerdem sind Flatpaks & Co vor dem Hintergrund des Trends zu Atomaren / Immutable Distros klar die Zukunft, weshalb es sich lohnt, sich frühzeitig damit anzufreunden.
Fazit
Durch die größere Auswahl und die Integration in die unterschiedlichen Softwareverwaltungen (Gnome Software, KDE Discover, Pamac etc) sind die neuen Paketformate durchaus eine Bereicherung für den Anwender. Sie erfüllen überdies auch den lang gehegten Wunsch der Entwickler, ein einziges Paketformat für sämtliche Distributionen bereitstellen zu können. Darüber hinaus stellen sie aufgrund des sinnvollen Trends zu unveränderlichen Systemen wohl auch die Zukunft der Softwareverwaltung dar.
Comments