GNU/Linux >> Znalost Linux >  >> Linux

Flatpak vs. Snap vs. AppImage

Úvod

V Linuxu je software distribuován pomocí balíčků, komprimovaných softwarových souborů, které zahrnují binární spustitelné soubory, konfigurační soubory a závislosti. Balíčky jsou distribuovány prostřednictvím repozitářů a spravovány prostřednictvím správců balíčků v systémech uživatelů.

Formáty balíčků nezávislé na distribuci fungují na každém systému Linux, protože sdružují aplikaci se všemi jejími požadovanými závislostmi. Některé z nejpopulárnějších formátů balíčků nezávislých na distribuci jsou Snap, Flatpak a AppImage.

V tomto článku se dozvíte o rozdílech mezi Snap, Flatpack a AppImage.

Srovnání Flatpak vs. Snap vs. AppImage

Flatpak, Snap a AppImage jsou všechny formáty balíčků dostupné ve všech distribucích Linuxu. Některé klíčové rozdíly vám však mohou pomoci při rozhodování o tom, že budete používat jeden před druhým.

Níže je srovnávací tabulka, která pokrývá některé hlavní funkce a klíčové rozdíly mezi jednotlivými formáty balíčků:

Funkce Snap Flatpak AppImage
Vytvořil Kanonické RedHat, Endless Computers, Collabora Petr Simon
Podpora sandboxu Ano Ano Ano
Sandboxing Povinné Ne Ano Ne
Spuštění bez přístupu root Po instalaci Po instalaci Ano
Podpora nativního motivu Ano Ano Ano
Podpora balíčků knihoven Ano Ano Ano
Úplná přenositelnost aplikací Ano Ano
Online App Store Ano Ano Ano
Podpora více paralelních instalací Ano (jeden na kanál) Ano (neomezený počet) Ano (neomezený počet)
Automatické aktualizace Ano Ano Ano (prostřednictvím AppImageUpdate)
Velikost aplikace Liší se, obvykle větší než AppImage Liší se, obvykle větší než AppImage Nejnižší velikost aplikace
Dostupné aplikace Nejvíce Nejméně Střední částka
Aplikace grafického uživatelského rozhraní pro počítače Ano Ano Ano
Služby systému balíčků Ano Ne Ne

Následující části pojednávají o každém formátu balíčku jednotlivě.

Snap

Snap je formát balíčku nezávislý na distribuci původně vyvinutý pro Ubuntu společností Canonical. Později byl přijat i jinými distribucemi Linuxu.

Hlavním cílem vytvoření Snapu bylo sjednotit formát softwarových balíků na mnoha zařízeních. Podpora Snap zahrnuje IoT (Internet of Things), vestavěná zařízení s Ubuntu Core nebo jakoukoli jinou verzí Ubuntu.

Poznámka: Naučte se používat balíčky Snap v Ubuntu nebo si nainstalujte Snap na Ubuntu.

V online obchodě Snapcraft jsou k dispozici balíčky s otevřeným zdrojovým kódem i proprietární balíčky. Volitelně nainstalujte aplikace Snap pomocí příkazového řádku.

Následující obrázek ukazuje domovskou stránku obchodu Snapcraft:

Výhody

Hlavní výhodou Snapu je, že balíček Snap obsahuje všechny knihovny a závislosti potřebné pro spuštění dané aplikace. Vývojáři tak šetří čas při vydávání nových verzí na různých systémech.

Nevýhody

Hlavní nevýhodou aplikací Snap je jejich velikost a pomalejší spouštění ve srovnání s balíčky Flatpak nebo AppImage. Kromě toho může Snaps používat pouze knihovny obsažené v balíčku.

Poznámka: Podívejte se, jak si Snap stojí v porovnání se správcem balíčků apt.

Flatpak

Flatpak, dříve známý jako xdg-app, je další formát balíčku nezávislý na distribuci vyvinutý v roce 2015 společnostmi Red Hat, Endless Computers a Collabora. Jeho primárním cílem je spouštět aplikace v zabezpečeném virtuálním sandboxu, který nevyžaduje oprávnění root, čímž se eliminují bezpečnostní hrozby. Sandbox obsahuje vše potřebné ke spuštění softwaru.

Flatpak byl poprvé vyvinut pro FreeDesktop, KDE a GNOME. Později rozšířila svou podporu na Arch Linux, Debian, Fedora, Mageia, Solus a Ubuntu. Flatpak je založen na programovacím jazyce C.

Balíčky jsou k dispozici ke stažení v obchodě s aplikacemi Flathub nebo prostřednictvím rozhraní CLI. Zpočátku podporoval pouze aplikace s otevřeným zdrojovým kódem, ale nedávno přidal podporu pro proprietární software.

Následující obrázek ukazuje obchod s aplikacemi Flathub:

Výhody

Výhodou Flatpak oproti jiným formátům balíčků je, že uživatelům umožňuje stahovat balíčky z více úložišť, nazývaných remotes. Nejoblíbenějším dálkovým ovládáním je Flathub, oficiální úložiště s tisíci dostupnými aplikacemi.

Poznámka: Podívejte se na několik metod odstraňování softwarových balíků z Ubuntu.

Nevýhody

Hlavními nevýhodami Flatpaku je nedostatek podpory pro servery a větší velikost balíčku ve srovnání s balíčky Snap nebo AppImage. Doba spouštění je rychlejší ve srovnání s aplikací Snap, ale pomalejší ve srovnání s aplikací AppImage.

Obrázek aplikace

AppImage je další široce používaný formát balíčků agnostických distribucí, který v roce 2004 vytvořil Simon Peter. Původně byl předchůdcem AppImage klik. Jednalo se o přenosný formát balíčku, který obsahoval vše potřebné pro fungování jedné aplikace.

Vzhledem k tomu, že aplikace AppImage jsou přenosné, uživatelé je mohou spouštět bez instalace. Spuštění AppImage nevyžaduje administrátorská práva.

Poznámka: Postupujte podle našeho návodu a nainstalujte Etcher na Ubuntu pomocí AppImage.

Balíčky AppImage fungují podobně jako .exe soubory ve Windows. Chcete-li spustit aplikaci AppImage, udělejte ji spustitelnou a poklepáním na soubor spusťte balíček.

AppImage distribuuje balíčky prostřednictvím úložiště AppImageHub a ukládá je na webu AppImage. Každý balíček obsahuje informace o tom, jak nainstalovat aktualizace pomocí nástroje, jako je AppImageUpdate .

Následující obrázek ukazuje AppImageHub úložiště:

Výhody

Jednou z výhod balíčků AppImage je rychlejší spouštění ve srovnání s Snaps a Flatpaks a menší úložný prostor požadovaný na aplikaci. AppImages lze snadno odstranit ze systému odstraněním staženého balíčku.

Nevýhody

Nevýhodou balíčků AppImage je nedostatek aktualizací, které nejsou časté a nejsou dostupné pro každý balíček. Někdy je k aktualizaci dalších nainstalovaných balíčků ve správci AppImage vyžadován další balíček AppImage.

Flatpak vs. Snap vs. AppImage – který z nich použít?

Každý formát balíčku funguje dobře v jakékoli distribuci Linuxu, protože přichází se všemi požadovanými závislostmi a knihovnami. Existuje však několik faktorů, které je třeba vzít v úvahu a které mohou být rozhodující při rozhodování, který formát balíčku použít:

  • Číslo aplikace . Internetový obchod Snapcraft vyhraje, pokud je počet dostupných aplikací tím nejdůležitějším faktorem.
  • Rychlost aplikace . AppImage je nejrychlejší ze tří, pokud jde o spouštění aplikace, rychlost a výkon. Je to ideální řešení pro výkonný zážitek.
  • Integrace aplikací . Některé formáty balíčků se lépe integrují do konkrétních distribucí. Například Snaps se lépe integruje s Ubuntu, Arch Linux a CentOS, zatímco Flatpak se hladce integruje s Fedora, Linux Mint nebo Debian. AppImages fungují skvěle na Arch Linux, CentOS, Debian, OpenSUSE, Red Hat Linux a Fedora.
  • Ovládání aplikací . Flatpaks nabízí vývojářům větší kontrolu ve srovnání s AppImage nebo Snaps.
  • Přenositelnost . Balíčky AppImage jsou špičkové, pokud jde o přenositelnost. Snapy mohou být závislé na jiných aplikacích Snap a Flatpaks mohou sdílet knihovny s jiným Flatpakem. AppImages využívají pouze zdroje ze samotného balíčku.
  • Aktualizace aplikací . Snaps a Flatpaks používají úložiště k automatické aktualizaci aplikací, zatímco AppImage používá nástroj AppImageUpdate. AppImage navíc nedostává tolik aktualizací jako ostatní dva formáty balíčků.
  • Použitelnost . Balíčky Flatpak a AppImage jsou určeny k instalaci a aktualizaci aplikací. Zatímco Snaps mají stejný účel, jejich použitelnost se rozšiřuje na instalaci čehokoli. Vývojáři nyní například pracují na tom, aby celý linuxový tiskový zásobník umístili do jediného Snapu.

Po zvážení všech faktorů by mělo být snazší se rozhodnout, který formát balíčku použít. Protože jsou však všechny formáty dostupné ve většině distribucí Linuxu, je snadné je všechny vyzkoušet a rozhodnout se.

Závěr

Tento článek představil klíčové rozdíly mezi balíčky Snap, AppImage a Flatpak spolu s jejich výhodami a nevýhodami. Přestože mají k dokonalosti daleko a stále potřebují nějaká vylepšení, mohou koexistovat ve stejném systému a poskytovat funkce a balíčky, které ostatní nemají.

Dále se podívejte, jak zobrazit seznam nainstalovaných balíčků v Ubuntu nebo se naučte opravit poškozené balíčky v Ubuntu.


Linux
  1. Jak otevřít Appimage v Linuxu

  2. Jak nainstalovat a používat Flatpak v Linuxu

  3. Ssh 7.4 Prolongovaná pauza Při „závazku:Síť“?

  1. SMPlayer 21.8.0 přidává podporu macOS, Linux Appimage, Flatpak a Snap

  2. AWK vs NAWK vs GAWK

  3. Jak přijmout ano ze skriptu Opravdu chcete pokračovat v připojování (ano/ne)?

  1. Recenze Ubuntu Unity 21.10

  2. Porovnání správců linuxových balíčků – AppImage vs Snap vs Flatpak

  3. Skype přichází do Linuxu v mžiku