Die vier gängigen Paketformate unter Linux


Ja bei Linux gibt es nicht nur unzählige Linux Distributionen, sondern auch gleich mehrere verschiedene Paketformate. Ein Paketformat sagt aus, wie eine Software oder ein Programm verpackt wird. Doch so einfach ist es nicht. Es ist nicht ausschließlich eine andere Art wie das Paket ver- oder gepackt wurde.

Zum einen gibt es das sogenannte native Paketformat, welches die Distribution bereits im Aufbau definierte. Die Distribution Debian GNU/Linux besitzt ein eigenes Paketformat, das sogenannte Debian Paket. Ubuntu, Kubuntu, Ubuntu Mate, Linux Mint, ZorinOS, KDE Neon und weitere sind alles Abkömmlinge von Debian und adaptieren auch das Debian Paketformat. Ein anderes native Paketformat wäre RPM, was z.B. bei SUSE bzw. openSUSE oder Red Hat bzw. Fedora zum Einsatz kommt. Arch Linux setzt auf LZMA gepackte Tar Archive.

Hinweis: Dieser Artikel ergänzt die dazu passende Instagram Story, die hier aufgerufen werden kann.

Die nativen Paketformate zeichnen sich durch eine pragmatische Handhabung, schnelles und reaktives Verhalten aus. Jedes Paketformat ist begrenzt auf die Distribution, die es einsetzt. Entwickler und Softwarehersteller, die Ihre Software möglichst breit im Linuxumfeld anbieten möchten, müssten sie theoretisch in allen Formaten kompilieren und bereitstellen. Ein Modell, das scheinbar an seine praktischen Grenzen kommt.

Auf der anderen Seite haben wir sogenannte Software Container. Diese zeichnen sich durch ein isoliertes Verhalten aus und auch, dass sie alle Bibliotheken mitbringen, was sie zum Laufen benötigen. Der Nachteil ist, dass nicht alle nötigen Bibliotheken unter den Container geteilt werden können, wenn auch gleich die Bemühungen dahingehend sind, das, was teilbar ist, zu verteilen, sodass nicht jeder Container alles selbst mitinstalliert und somit nicht nur Plattenplatz gespart wird, sondern unter Umständen auch veraltete Bibliotheken innerhalb eines bestimmten Containers nicht zur Sicherheitslücke mutieren.

Die Software Container sind zum einen Flatpak, Snap und AppImage. Alle drei liefern fertige Softwarepakete, die sofort startklar und einsatzbereit sind. Während Snap und Flatpak überwiegend in App Stores der Distributionen integrierbar sind und sich dann darüber einfach installieren lassen, ist bei AppImage mehr manuelle Arbeit nötig. Auch beim Aktualisieren werden Aktualisierungen über die App Stores oder im Terminal signalisiert und lassen sich auf Wunsch zentral verwalten und aktualisieren. AppImages müssen normalerweise manuell aktualisiert werden. Doch jenseits des Grundkonzepts sind alle drei Container Formate universell einsetzbar. Sie lassen sich also auf jeder Linux Distribution installieren.

Für Entwickler bietet sich der Vorteil, dass sie nur ein Paket schnüren müssen und nicht z.B. ein Debian Paket, ein RPM Paket und ein Tar Archiv. Das vereinfacht und beschleunigt das Software Deployment erheblich, denn der Layer der Maintainer fällt weg. Die Maintainer packen Software im nativen Distributionsformat und nehmen im Bedarfsfall auch kleinere Änderungen vor indem sie z.B. Diagnose- und Telemetriedatensammlung unterbinden.

Oftmals wird den Container-Paketen nachgesagt, sie benötigen grundsätzlich mehr Plattenplatz und starten langsamer als die nativen Konterparts. Doch pauschal lässt sich dies nicht sagen, wie mein ausführlicher Test ergab.

Ob Software Container nun mehr Vor- oder mehr Nachteile bringen, ist von der persönlichen Situation abhängig. Am Desktop können diese durchaus das Nutzererlebnis verbessern, da sie schlicht viel mehr Apps bieten. Einerseits aktuellere Versionen und andererseits auch klar proprietäre Anwendungen wie Zoom, Microsoft Teams, Edge oder Slack. Am Server wird man darauf bestens verzichten können. Wer rollende Distros wie Arch, Manjaro, Solus oder Tumbleweed einsetzt, wird auch nicht auf die aktuellen Software Stände der Containerlösungen scharf sein, sondern wohl nur auf die Apps, die die jeweilige Paketverwaltung nicht rausspuckt.

App Image fristet auch immer etwas ein Nischendasein im Schatten von Flatpak und Snap. Das liegt wohl daran, dass dies die beiden Kandidaten mit höheren Erfolgsaussichten sind. Flatpak ist der quasi Standard der Software Container der FOSS Gemeinschaft und Snap ist der Standard im Ubuntu Kosmos, da man Snap gegenüber Flatpak im Vorteil sieht. Wie gesagt, in der Mehrheit der anderen Linux Distributionen findet dies keine Bestätigung aber hey es gab schon immer diese Vergleiche, oder? Magst Du lieber Pepsi oder Coca Cola oder vielleicht doch Afri Cola, lieber VW oder Opel oder mochtest Du lieber VHS oder Video 2000. Die Liste lässt sich beliebig fortführen. AppImage mag Vorteile in der Austauschbarkeit und somit dem schnellen Rückrollen einer Version sein aber ich vermute, dass sich AppImage in den nächsten Jahren nicht wird durchsetzen können.


0 Kommentare

Deine E-Mail-Adresse wird nicht veröffentlicht.