AppImage, Flatpak und Snap: Was können die alternativen Paketformate?

|
Wer Linux-Distributionen wie Ubuntu oder Debian nutzt, weiß, wie hier Software installiert wird: In einem zentralen, von der Distribution gepflegten, Repository werden Softwarepakete wie Firefox oder Thunderbird von Maintainern bereitgestellt und gepflegt. Die Installation erfolgt komfortabel entweder über die Kommandozeile oder in AppShop-ähnlichen grafischen Oberflächen. Welche das sind und welche Vor- und Nachteile sie mitbringen, erfahrt ihr in den nächsten Zeilen.

Warum fehlt Software in den Distributionen?

Die meisten Distributionen nehmen zum Beispiel nur Software auf, die unter einer freien Lizenz steht. So werden unter anderem beliebte Anwendungen wie Slack oder Zoom ausgeschlossen. Außerdem kann es sein, dass sich bisher noch kein Maintainer bereit erklärt hat, eine Software zu einem Paket zu schnüren.

Ist eine Software nicht im Repository vorhanden, wird es kompliziert. Oft muss die Software dann aufwändig selbst kompiliert werden. Manche Anbieter stellen zumindest ein Installationsskript bereit. Doch auch hier kann es zu Kompatibilitätsproblemen kommen, wenn eine Distribution benutzt wird, die vom Hersteller des Skripts nicht bedacht worden ist.

In diese Kerbe schlagen die alternativen Paketformate Snap, Flatpak und AppImage. Sie versprechen eine Kompatibilität über Distributionsgrenzen hinweg und verfolgen den Ansatz: Einmal paketieren, überall installieren. So muss sich nicht mehr für jede Distribution ein Maintainer finden, um die Software zu paketieren. Der Anbieter kann dies direkt selbst übernehmen. Doch auch wenn die Ziele der verschiedenen Formate die gleichen sind, gibt es in der Umsetzung Unterschiede.

Simpel, aber mit Einschränkungen: AppImage

AppImage ist die simpelste der neuen Paketformen, dessen Funktionsweise für Windowsnutzer bereits bekannt klingen könnte. Der Anbieter stellt eine Datei z. B. auf seiner Webseite bereit. Um das Programm zu starten, muss diese nur heruntergeladen und ausgeführt werden. In diesem Fall sind das Programm und seine Abhängigkeiten in dem AppImage enthalten

Nachteilig ist, dass sich die Applikation in dieser Form standardmäßig nicht in das System integriert. So ist zum Beispiel ein separates Programm notwendig, damit Einträge im Startmenü angelegt werden. Außerdem gibt es keine Repositories, aus denen AppImages heruntergeladen werden können. Obwohl es einen Mechanismus für Updates gibt, wird dieser nicht von allen Anbietern genutzt. Dennoch stellen AppImages momentan die einfachste Variante dar: Es ist keine Konfiguration notwendig und es werden auch keine besonderen Anforderungen an das System gestellt.

Beispiele für AppImages sind die Notizverwaltung Joplin oder das VoIP/SIP Programm Linphone.

Joplin ist ein Beispiel für AppImages.

Distributionsübergreifender Appstore: Flatpak

Im Gegensatz zu AppImage integriert sich Flatpak stärker in das System und setzt, ähnlich wie die herkömmlichen Paketformate, auf Repositories. Anstatt jedoch für jede Distribution ein eigenes zu betreiben, ist ein Repository mit allen Distributionen kompatibel, die Flatpak integriert haben. Zur Entwicklung von Flatpaks werden bereits einige Laufzeitumgebungen angeboten, auf denen diese aufbauen können. Dadurch ist der Speicherverbrauch im Gegensatz zu AppImage geringer. Jede Laufzeitumgebung enthält bereits häufig benötigte Abhängigkeiten und muss auf jedem System nur einmal vorliegen. Als de facto Standard hat sich das Flathub Repository herausgestellt. Es lassen sich jedoch alternativ eigene betreiben oder die von anderen Anbietern einbinden. Flatpak wird inzwischen von vielen Distributionen unterstützt, muss jedoch meist manuell nachinstalliert werden.

Kleines Manko: Nach der Installation ist kein Repository vorkonfiguriert, sodass der Anwender zuerst Flathub oder ein anderes Repository per Hand hinzufügen muss.

Das Grafikprogramm Gimp, das Chat-Tool Slack oder die Konferenzlösung Zoom werden als Flatpak angeboten.

Das Chat-Tool Slack wird als Flatpak angeboten.

Canonicals Eigenlösung: Snap

Snap ist ähnlich wie Flatpak aufgebaut. Es weist allerdings eine höhere Zentralisierung auf. Denn zum aktuellen Zeitpunkt existiert nur der Snap Store als einzig mögliches Paket-Repository. Entwickelt wird Snap von Canonical, die auch den Snap Store bereitstellen. Positiv ist, dass Snap nach der Installation sofort einsatzbereit ist. Im Gegensatz zu Flatpak muss nicht erst ein Repository hinzugefügt werden. 

Lange Ladezeiten beim ersten Ausführen eines per Snap installierten Programms schmälern das Erlebnis leider etwas. So benötigt die KDE Taschenrechner Applikation „kcalc“ 30 Sekunden, bis sich diese erstmalig öffnet. Obwohl zuerst nur für Ubuntu entwickelt, ist Snap inzwischen auch auf andere Distributionen wie Arch Linux, Fedora und openSUSE portiert worden. Auf einigen Distributionen wird es allerdings voraussichtlich nie unterstützt werden, da Snap bestimmte Anforderungen an das System stellt.

Unter anderem die 3D-Modellierungssoftware Blender oder die Kollaborations- und Datei-Hosting-Plattform Nextcloud lassen sich als Snap installieren.

Die Datei-Hosting-Plattform Nextcloud lässt sich als Snap installieren.

Fazit

Die distributionsübergreifenden Paketformate bieten eine für den Anwender wunderbare Möglichkeit, Software zu installieren, selbst wenn diese nicht von der verwendeten Distribution bereitgestellt wird. Wohingegen Flatpak und Snap florieren, bleibt AppImage bisher eher eine Nische. Ihre Zentralisierung wird den Ersteren dabei zum Vorteil. Beide bieten bereits von konventionellen Paketmanagern bekannte Funktionen wie Repositories und automatische Updates an. Bei Letzterem hingegen muss sich der Anwender um Beschaffung und Update des Paketes selber kümmern. Das Ubuntu-Ökosystem setzt inzwischen stark auf Snap. Meiner Meinung nach wird sich außerhalb davon jedoch Flatpak durchsetzen. Denn im Gegensatz zu Snap ist dieses offen gestaltet, sodass der Anwender sich nicht von Canonical und dessen Betreiben des Snap Stores abhängig macht.

Ähnliche Artikel:

Webentwicklung

TYPO3 v13 LTS: Einfacher und flexibler mit Site Sets & Content Blocks

CMS Pro Philipp stellt im Beitrag seine Highlights zur neuen LTS-Version TYPO3 13.4 vor. Dazu gehören Site Sets und Content Blocks.

Webentwicklung

Deshalb ist gepatchtes PHP für CMS-Nutzer wichtig

Mit Content Management Systemen (CMS) wie WordPress und TYPO3 kannst du Websites jeder Größe umsetzen. Viele CMS nutzen dabei PHP als serverseitige Programmiersprache. ...

Titelbild des Artikels mit dem Schriftzug_ Neue Digital-Gesetze. Jetzt Impressum aktualisieren
Webentwicklung

Neue Digital-Gesetze: Jetzt Impressum aktualisieren!

Nach der Einführung des Digitale-Medien-Gesetzes musst du dein Impressum und deine Datenschutzerklärung anpassen. Lies hier, was du ändern musst.

Webentwicklung

WordPress und KI (3) – UX Design und Datenschutz mit KI-Plugins

KI-Plugins für WordPress sind vielseitig. Wie sie dich auch beim UX Design und Datenschutz unterstützen können, erfährst du in diesem Beitrag.

Webentwicklung

Best Practices für responsive Bilder in TYPO3

Wie du Ladezeiten, Benutzererfahrung und SEO-Position durch moderne Bildformate wie AVIF und WebP verbessern kannst, erklärt Richard im Blog.