GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Flatpak vs. Snap vs. AppImage

Einführung

Unter Linux wird Software mithilfe von Paketen, komprimierten Softwaredateien, die ausführbare Binärdateien, Konfigurationsdateien und Abhängigkeiten enthalten, verteilt. Die Pakete werden über Repositories verteilt und über Paketmanager auf den Systemen der Benutzer verwaltet.

Distributionsunabhängige Paketformate funktionieren auf jedem Linux-System, da sie die Anwendung mit allen erforderlichen Abhängigkeiten bündeln. Einige der beliebtesten Distributions-unabhängigen Paketformate sind Snap, Flatpak und AppImage.

In diesem Artikel erfahren Sie mehr über die Unterschiede zwischen Snap, Flatpack und AppImage.

Flatpak vs. Snap vs. AppImage-Vergleich

Flatpak, Snap und AppImage sind Paketformate, die auf allen Linux-Distributionen verfügbar sind. Einige wichtige Unterschiede können Ihnen jedoch dabei helfen, sich für eine Verwendung gegenüber einer anderen zu entscheiden.

Nachfolgend finden Sie eine Vergleichstabelle, die einige der Hauptmerkmale und Hauptunterschiede zwischen den einzelnen Paketformaten abdeckt:

Funktionen Snap Flatpack AppImage
Erstellt von kanonisch RedHat, Endless Computers, Collabora Peter Simon
Sandbox-Unterstützung Ja Ja Ja
Sandboxing obligatorisch Nein Ja Nein
Ausführen ohne Root-Zugriff Nach der Installation Nach der Installation Ja
Native Theme-Unterstützung Ja Ja Ja
Unterstützung für gebündelte Bibliotheken Ja Ja Ja
Vollständige App-Portabilität Ja Ja
Online-App-Store Ja Ja Ja
Unterstützung mehrerer paralleler Installationen Ja (einer pro Kanal) Ja (unbegrenzte Anzahl) Ja (unbegrenzte Anzahl)
Automatische Updates Ja Ja Ja (über AppImageUpdate)
App-Größe Variiert, normalerweise größer als AppImage Variiert, normalerweise größer als AppImage Kleinste App-Größe
Verfügbare Anwendungen Die meisten Am wenigsten Mittlere Menge
Desktop-GUI-Apps Ja Ja Ja
Paketsystemdienste Ja Nein Nein

In den folgenden Abschnitten wird jedes Paketformat einzeln behandelt.

Snap

Snap ist ein von der Distribution unabhängiges Paketformat, das ursprünglich von Canonical für Ubuntu entwickelt wurde. Später wurde es auch von anderen Linux-Distributionen übernommen.

Das Hauptziel bei der Erstellung von Snap war die Vereinheitlichung des Softwarepaketformats auf vielen Geräten. Die Snap-Unterstützung umfasst IoT (Internet of Things), eingebettete Geräte, auf denen Ubuntu Core oder eine andere Ubuntu-Version ausgeführt wird.

Hinweis: Erfahren Sie, wie Sie Snap-Pakete in Ubuntu verwenden oder Snap unter Ubuntu installieren.

Sowohl Open-Source- als auch proprietäre Pakete sind im Snapcraft-Onlineshop erhältlich. Installieren Sie optional Snap-Apps über die Befehlszeile.

Das folgende Bild zeigt die Startseite des Snapcraft-Stores:

Vorteile

Der Hauptvorteil von Snap besteht darin, dass das Snap-Paket alle Bibliotheken und Abhängigkeiten enthält, die zum Ausführen dieser App erforderlich sind. Dadurch sparen Entwickler Zeit bei der Veröffentlichung neuer Builds auf verschiedenen Systemen.

Nachteile

Der Hauptnachteil von Snap-Apps ist ihre Größe und ihr langsamerer Start im Vergleich zu Flatpak- oder AppImage-Paketen. Außerdem kann Snaps nur die im Paket enthaltenen Bibliotheken verwenden.

Hinweis: Sehen Sie, wie Snap im Vergleich zum apt-Paketmanager abschneidet.

Flatpack

Flatpak, früher bekannt als xdg-app, ist ein weiteres Distributions-unabhängiges Paketformat, das 2015 von Red Hat, Endless Computers und Collabora entwickelt wurde. Sein Hauptziel ist es, Apps in einer sicheren virtuellen Sandbox auszuführen, die keine Root-Rechte erfordert, wodurch Sicherheitsbedrohungen beseitigt werden. Die Sandbox enthält alles, was zum Ausführen der Software benötigt wird.

Flatpak wurde zuerst für FreeDesktop, KDE und GNOME entwickelt. Später erweiterte es seine Unterstützung auf Arch Linux, Debian, Fedora, Mageia, Solus und Ubuntu. Flatpak basiert auf der Programmiersprache C.

Die Pakete können im Flathub App Store oder über die CLI heruntergeladen werden. Anfangs unterstützte es nur Open-Source-Apps, aber vor kurzem wurde die Unterstützung für proprietäre Software hinzugefügt.

Das folgende Bild zeigt den Flathub App Store:

Vorteile

Der Vorteil von Flatpak gegenüber anderen Paketformaten besteht darin, dass Benutzer Pakete aus mehreren Repositories, sogenannten Remotes, herunterladen können. Die beliebteste Fernbedienung ist Flathub, das offizielle Repository mit Tausenden von verfügbaren Apps.

Hinweis: Siehe verschiedene Methoden zum Entfernen von Softwarepaketen von Ubuntu.

Nachteile

Die Hauptnachteile von Flatpak sind die fehlende Unterstützung für Server und die größere Paketgröße im Vergleich zu Snap- oder AppImage-Paketen. Die Startzeit ist im Vergleich zu Snap schneller, aber langsamer im Vergleich zu AppImage.

AppImage

AppImage ist ein weiteres weit verbreitetes verteilungsunabhängiges Paketformat, das 2004 von Simon Peter erstellt wurde. Ursprünglich war der Vorgänger von AppImage klik. Es war ein portables Paketformat, das alles enthielt, was für das Funktionieren einer einzelnen App erforderlich war.

Da AppImage-Apps portabel sind, können Benutzer sie ohne Installation ausführen. Das Ausführen eines AppImage erfordert keine Administratorrechte.

Hinweis: Folgen Sie unserem Tutorial und installieren Sie Etcher auf Ubuntu mit AppImage.

AppImage-Pakete funktionieren ähnlich wie .exe Dateien unter Windows. Um eine AppImage-Anwendung auszuführen, machen Sie sie ausführbar und doppelklicken Sie auf die Datei, um das Paket auszuführen.

AppImage verteilt Pakete über das AppImageHub-Repository und speichert sie auf der AppImage-Website. Jedes Paket enthält Informationen zum Installieren von Updates mit einem Tool wie AppImageUpdate .

Das folgende Bild zeigt den AppImageHub Aufbewahrungsort:

Vorteile

Einer der Vorteile von AppImage-Paketen ist ein schnellerer Start im Vergleich zu Snaps und Flatpaks und weniger Speicherplatzbedarf pro App. AppImages können einfach vom System entfernt werden, indem das heruntergeladene Paket gelöscht wird.

Nachteile

Der Nachteil von AppImage-Paketen ist ein Mangel an Updates, die selten und nicht für jedes Paket verfügbar sind. Manchmal ist ein weiteres AppImage-Paket erforderlich, um andere installierte Pakete im AppImage-Manager zu aktualisieren.

Flatpak vs. Snap vs. AppImage – Welches sollte verwendet werden?

Jedes Paketformat funktioniert gut auf jeder Linux-Distribution, da sie alle erforderlichen Abhängigkeiten und Bibliotheken enthalten. Es sind jedoch mehrere Faktoren zu berücksichtigen, die bei der Entscheidung für das zu verwendende Paketformat entscheidend sein können:

  • App-Nummer . Der Snapcraft-Onlineshop gewinnt, wenn die Anzahl der verfügbaren Apps der wichtigste Faktor ist.
  • App-Geschwindigkeit . AppImage ist das schnellste der drei in Bezug auf App-Start, Geschwindigkeit und Leistung. Es ist die ideale Lösung für ein leistungsstarkes Erlebnis.
  • App-Integration . Einige Paketformate integrieren sich besser in bestimmte Distributionen. Zum Beispiel lässt sich Snaps besser in Ubuntu, Arch Linux und CentOS integrieren, während Flatpak sich nahtlos in Fedora, Linux Mint oder Debian integriert. AppImages funktionieren hervorragend auf Arch Linux, CentOS, Debian, OpenSUSE, Red Hat Linux und Fedora.
  • App-Steuerung . Flatpaks bieten Entwicklern im Vergleich zu AppImage oder Snaps mehr Kontrolle.
  • Portabilität . AppImage-Pakete sind erstklassig, wenn es um Portabilität geht. Snaps können Abhängigkeiten in anderen Snap-Apps haben, und Flatpaks können Bibliotheken mit einem anderen Flatpak teilen. AppImages verwenden nur die Ressourcen aus dem Paket selbst.
  • App-Updates . Snaps und Flatpaks verwenden die Repositorys, um Apps automatisch zu aktualisieren, während AppImage das AppImageUpdate-Tool verwendet. Außerdem erhält AppImage nicht so viele Updates wie die anderen beiden Paketformate.
  • Benutzerfreundlichkeit . Flatpak- und AppImage-Pakete dienen zum Installieren und Aktualisieren von Anwendungen. Während Snaps den gleichen Zweck haben, erstreckt sich ihre Benutzerfreundlichkeit auf die Installation von allem. Beispielsweise arbeiten Entwickler derzeit daran, den gesamten Linux-Druckstapel in einem einzigen Snap unterzubringen.

Nach Berücksichtigung aller Faktoren sollte es einfacher sein, zu entscheiden, welches Paketformat verwendet werden soll. Da jedoch alle Formate auf den meisten Linux-Distributionen verfügbar sind, ist es einfach, sie alle auszuprobieren und sich zu entscheiden.

Fazit

Dieser Artikel hat die wichtigsten Unterschiede zwischen Snap-, AppImage- und Flatpak-Paketen sowie deren Vor- und Nachteile vorgestellt. Obwohl sie alles andere als perfekt sind und noch einige Verbesserungen benötigen, können sie im selben System koexistieren und Funktionen und Pakete bereitstellen, die andere nicht haben.

Sehen Sie sich als Nächstes an, wie Sie installierte Pakete unter Ubuntu auflisten, oder erfahren Sie, wie Sie beschädigte Pakete in Ubuntu reparieren.


Linux
  1. SMPlayer 21.8.0 Fügt macOS-Unterstützung, Linux Appimage, Flatpak und Snap hinzu

  2. Ubuntu Unity 21.10 Überprüfung

  3. So öffnen Sie Appimage unter Linux

  4. So installieren und verwenden Sie Flatpak unter Linux

  5. Linux-Paketmanager im Vergleich – AppImage vs. Snap vs. Flatpak

So installieren Sie Flatpak unter CentOS 8

Installieren Sie Snap und Flatpak in openSUSE Tumbleweed Linux

So installieren Sie Snap Store in Linux Mint 20 / Linux Mint 20.1

Snap vs. Flatpak vs. AppImage:Kennen Sie die Unterschiede | Welches ist besser

So konvertieren Sie alle Ihre Snap-Pakete auf Ubuntu mit Unsnap in Flatpak

So installieren Sie die Eclipse-IDE unter Linux