Obal

Porovnání Snap vs Flatpak vs AppImage

Porovnání Snap vs Flatpak vs AppImage
Nové formáty obalů jako Snap, Flatpak a AppImage poskytují distribuční agnostické balíčky, které fungují na většině distribucí Linuxu. To řeší problémy s balením, kterým čelí vývojáři aplikací, kteří chtějí distribuovat své aplikace na více distribucí Linuxu. Nyní se mohou soustředit na jednu sestavu, která funguje všude, místo aby procházeli různými standardy balení.

V tomto článku budou uvedeny hlavní rozdíly mezi těmito třemi formáty obalů z pohledu koncových uživatelů. Rozdíly v architektuře obalů a snadnost balení z pohledu vývojářů zde nebudeme popisovat.

Níže uvedená tabulka shrnuje hlavní rozdíly mezi formáty souborů Snap, Flatpak a AppImage. Většina z nich je vysvětlující sama, další body byly vysvětleny pod srovnávací tabulkou.

Přichytit Flatpak AppImage
Přepínání ovládacích prvků oprávnění jako Android (GUI a CLI) Ano Ano Ne
Podpora karantény Ano Ano Ano
Pískoviště je povinné Ano Ano Ne
Nativní podpora motivů Ano (s výhradami) Ano (s výhradami) Ano (s výhradami)
Podpora sdružených knihoven Ano Ano Ano
Přenositelnost aplikací Ano (s výhradami) Ano (s výhradami) Ano
Plně obsažená podpora jednoho spustitelného souboru (obdoba .soubory exe v systému Windows) Ne Ne Ano
Online obchod s aplikacemi Ano Ano Ano
Pluginy pro Desktop App Store Software Ano Ano Ne
Podpora více verzí paralelních aplikací Ano Ano Ano
Automatické aktualizace Ano Ano Ano (s výhradami)
Podpora systému Chrome OS (prostřednictvím kontejnerů Crostini) Ano Ano Ano
Velikost aplikace Liší se, ale je vyšší než AppImage Liší se, ale je vyšší než AppImage Nejnižší
Počet aplikací dostupných v App Store Nejvyšší Nejnižší Někde mezi

Ovládací prvky oprávnění pro uživatele

Snap poskytuje jak uživatelská oprávnění, tak grafická rozhraní a rozhraní příkazového řádku. Ke správě oprávnění rychlé aplikace můžete použít předinstalovanou aplikaci „Software Ubuntu“.

Chcete-li zobrazit oprávnění aplikace snap pomocí rozhraní příkazového řádku, spusťte následující příkaz:

$ snap připojení chrom

Nahraďte „chrom“ názvem vaší snap aplikace.

Seznam všech nainstalovaných snapových aplikací zobrazíte spuštěním následujícího příkazu:

$ seznam snapů

Chcete-li udělit oprávnění fotoaparátu k chrómu, použijte následující příkaz:

$ snap connect chromium: kamera

Chcete-li odvolat oprávnění kamery, spusťte následující příkaz:

$ snap odpojit chrom: kamera

Příslušné příkazy pro správu oprávnění najdete ve sloupci „Plug“ (na obrázku výše).

Flatpak také poskytuje rozhraní pro udělování a odvolávání oprávnění. Můžete použít softwarovou aplikaci GNOME (vyžaduje GNOME 3.32.x) ke správě oprávnění pomocí grafické metody. Chcete-li zobrazit oprávnění aplikace flatpak, spusťte následující příkaz:

$ flatpak informace - show-oprávnění org.kde.Plošina

Nahradit „org.kde.Platforma “s názvem vaší aplikace Flatpak.

Chcete-li zobrazit seznam všech aplikací flatpak nainstalovaných ve vašem systému, spusťte následující příkaz:

seznam $ flatpak

Chcete-li změnit oprávnění aplikace flatpak, musíte změnit hodnoty proměnných zobrazené na snímku obrazovky výše. Například níže uvedený příkaz zpřístupní celý souborový systém aplikaci flappak:

$ sudo flatpak přepíše org.kde.Platforma --filesystem = hostitel

AppImage nyní nepodporuje granulární ovládací prvky oprávnění, ale vývojáři naznačili, že v budoucnu mohou být implementována ovládací prvky stylu Android.

Sandboxing

Snap, Flatpak a AppImage podporují prostředí aplikací v karanténě po vybalení z krabice. Sandbox je prostředí (nebo kontejner / souborový systém / archiv), které je zcela izolované a oddělené od hostitelského systému. Jakákoli interakce s hostitelským systémem se provádí pomocí omezeného ovládání API a oprávnění. Některá z těchto oprávnění výslovně vyžadují přihlášení od uživatelů nebo mohou být koncovými uživateli úplně deaktivována. Sandboxovaná aplikace je zabezpečená než jakákoli jiná aplikace, která má plný přístup k hostitelskému systému. Všechny aplikace pro Android běží v karanténě a tyto tři formáty balení fungují na podobném nápadu.

Nativní podpora motivů

Všechny tři formáty obalů podporují nativní vzhled a chování aplikací GTK a Qt, i když s určitými omezeními. Například Snap a Flatpak vyžadují zabalení systémových motivů do příslušných formátů. Pokud používáte balíčky motivů a ikon třetích stran, nemusí se zobrazit správné ikony motivů, kurzoru a aplikací. Integrace zlepšila přesčasy, ale ve srovnání s aplikacemi nainstalovanými od oficiálního správce balíků distribuce mírně zaostávají.

Přenositelnost aplikací

Aplikace AppImage je jeden spustitelný soubor (podobný systému Windows .soubory exe). Můžete jej snadno sdílet mezi systémy nebo nahrát do cloudu. Aplikace Snap a Flatpak lze snadno přenést zahrnutím samotné aplikace i dětských úložišť, na kterých aplikace závisí. Proces však není tak snadný jako AppImage a pro dosažení stejných výsledků vyžaduje použití více příkazů.

Automatické aktualizace

Aplikace Snap a Flatpak se instalují z centralizovaných úložišť aplikací a aplikace lze automaticky aktualizovat bez zásahu uživatele. AppImage postrádá robustní mechanismus automatické aktualizace. Uživatelé si pro instalaci aktualizací musí ručně stáhnout nový binární soubor AppImage a nahradit stávající. Správci aplikací AppImage někdy obsahují vlastní aktualizační mechanismus, který pravidelně kontroluje dostupnost aktualizací na jejich serverech nebo vyžaduje zásah uživatele. Nedávno vývojáři AppImage poskytli nástroj k aktualizaci existujících binárních souborů poskytnutím delta aktualizací. Stále však vyžaduje stažení aktualizačního nástroje a jeho ruční použití s ​​existujícím binárním souborem AppImage. Pro AppImage zatím není k dispozici žádný mechanismus aktualizace hands-free.

Velikost aplikace

AppImage má nejmenší stopu velikosti aplikace, pravděpodobně proto, že slouží binárním souborům v komprimovaném formátu. Velikost aplikací Snap a Flatpak se velmi liší od aplikace k aplikaci a je obtížné zjistit, která poskytuje menší velikost instalace. Jen pro informaci, Inkscape AppImage měl v době psaní tohoto článku kolem 98 MB, Snap kolem 183 MB a Flatpak kolem 109 MB.

Závěr

Univerzální balíčky aplikací jsou pro vývojáře i koncové uživatele výhodnou situací. Tyto formáty obalů umožňují mnohem rychlejší dodání zabezpečených aplikací. Otevírají také dveře vývojářům, kteří se vyhýbají Linuxu kvůli různým standardům balení používaným v různých distribucích. U těchto tří formátů balení je třeba vyřešit některé problémy. Všichni jsou však v aktivním vývoji a tyto problémy budou opraveny přesčasy. Balíčky univerzální křížové distribuce jsou budoucností a jejich přijetí se zvýší. Pomalu, ale rovnoměrně se distribuce mohou v budoucnu přesunout do sestavení Snap, Flatpak nebo AppImage, s výjimkou základních knihoven a základních balíčků, které jsou nutné pro fungování OS.

Hry Nejlepší hry z příkazového řádku pro Linux
Nejlepší hry z příkazového řádku pro Linux
Příkazový řádek není při používání Linuxu jen vaším největším spojencem - může být také zdrojem zábavy, protože jej můžete použít k hraní mnoha zábavn...
Hry Nejlepší aplikace pro mapování gamepadu pro Linux
Nejlepší aplikace pro mapování gamepadu pro Linux
Pokud rádi hrajete hry na Linuxu s gamepadem místo typického vstupního systému pro klávesnici a myš, máte k dispozici několik užitečných aplikací. Mno...
Hry Užitečné nástroje pro hráče Linuxu
Užitečné nástroje pro hráče Linuxu
Pokud rádi hrajete hry na Linuxu, je pravděpodobné, že jste ke zlepšení herního zážitku použili aplikace a nástroje jako Wine, Lutris a OBS Studio. Kr...