Balenie

Porovnanie Snap vs Flatpak vs AppImage

Porovnanie Snap vs Flatpak vs AppImage
Nové formáty obalov ako Snap, Flatpak a AppImage poskytujú distribučné agnostické balíčky, ktoré fungujú na väčšine distribúcií Linuxu. To rieši problémy s balením, ktorým čelia vývojári aplikácií, ktorí chcú distribuovať svoje aplikácie na viacerých distribúciách Linuxu. Teraz sa môžu sústrediť na jednu zostavu, ktorá funguje všade, namiesto toho, aby prechádzali rôznymi štandardmi balenia.

V tomto článku sú uvedené hlavné rozdiely medzi týmito tromi formátmi balenia z pohľadu koncových používateľov. Rozdiely v architektúre balenia a jednoduchosť balenia z pohľadu vývojárov tu nebudeme rozoberať.

V nasledujúcej tabuľke sú zhrnuté hlavné rozdiely medzi formátmi súborov Snap, Flatpak a AppImage. Väčšina z nich je samovysvetľujúca, ďalšie body boli vysvetlené pod porovnávacou tabuľkou.

Snap Flatpak AppImage
Ovládacie prvky povolení ako Android sa prepínajú (GUI a CLI) Áno Áno Nie
Podpora karantény Áno Áno Áno
Pieskovisko je povinné Áno Áno Nie
Natívna podpora tém Áno (s výhradami) Áno (s výhradami) Áno (s výhradami)
Podpora združených knižníc Áno Áno Áno
Prenosnosť aplikácií Áno (s výhradami) Áno (s výhradami) Áno
Plne obsiahnutá podpora jedného spustiteľného súboru (podobná podprocesu) .exe súbory v systéme Windows) Nie Nie Áno
Online App Store Áno Áno Áno
Doplnky pre softvér pre stolné počítače Áno Áno Nie
Podpora viacerých verzií paralelných aplikácií Áno Áno Áno
Automatické aktualizácie Áno Áno Áno (s výhradami)
Podpora systému Chrome OS (prostredníctvom kontajnerov Crostini) Áno Áno Áno
Veľkosť aplikácie Líši sa, ale je vyššia ako AppImage Líši sa, ale je vyššia ako AppImage Najnižšia
Počet aplikácií dostupných v App Store Najvyšší Najnižšia Niekde medzi tým

Kontroly povolení pre používateľov

Aplikácia Snap poskytuje užívateľsky ovládané povolenia ako grafické rozhranie, tak aj rozhranie príkazového riadku. Môžete použiť predinštalovanú aplikáciu „Ubuntu Software“ na správu povolení okamžitej aplikácie.

Ak chcete zobraziť povolenia prichytávacej aplikácie pomocou rozhrania príkazového riadku, spustite nasledujúci príkaz:

$ chrómové spojenia

Názov „chróm“ nahraďte názvom svojej aplikácie.

Zoznam všetkých nainštalovaných prichytávacích aplikácií zobrazíte spustením nasledujúceho príkazu:

$ zoznam

Ak chcete fotoaparátu udeliť povolenie na chróm, použite nasledujúci príkaz:

$ Snap Connect Chróm: Fotoaparát

Ak chcete odvolať povolenie pre kameru, spustite nasledujúci príkaz:

$ chrómu odpojiť chróm: fotoaparát

Príslušné príkazy na správu povolení nájdete v stĺpci „Plug“ (zobrazený na snímke obrazovky vyššie).

Flatpak tiež poskytuje rozhranie na udeľovanie a odnímanie povolení. Môžete použiť softvérovú aplikáciu GNOME (vyžaduje GNOME 3.32.x) spravovať povolenia pomocou grafickej metódy. Ak chcete zobraziť povolenia aplikácie flatpak, spustite nasledujúci príkaz:

$ flatpak info - show-povolenia org.kde.Plošina

Nahraďte „org.kde.Platforma “s názvom vašej aplikácie Flatpak.

Zoznam všetkých aplikácií flatpak nainštalovaných vo vašom systéme zobrazíte spustením nasledujúceho príkazu:

zoznam $ flatpak

Ak chcete zmeniť povolenia aplikácie flatpak, musíte zmeniť hodnoty premenných zobrazené na snímke obrazovky vyššie. Napríklad nasledujúci príkaz sprístupní celý súborový systém aplikácii flappak:

$ sudo flatpak prepíše org.kde.Platforma --filesystem = hostiteľ

AppImage odteraz nepodporuje podrobné kontroly povolení, ale vývojári naznačili, že v budúcnosti môžu byť implementované kontroly povolení v štýle Android.

Sandboxovanie

Snap, Flatpak a AppImage podporujú prostredia aplikácií v karanténe po vybalení z krabice. Sandbox je prostredie (alebo kontajner / súborový systém / archív), ktoré je úplne izolované a vzdialené od hostiteľského systému. Akákoľvek interakcia s hostiteľským systémom sa vykonáva pomocou obmedzeného rozhrania API a povolení. Niektoré z týchto povolení výslovne vyžadujú prihlásenie používateľov alebo ich môžu koncoví používatelia úplne zakázať. Aplikácia v karanténe je bezpečná ako ktorákoľvek iná aplikácia, ktorá má úplný prístup k hostiteľskému systému. Všetky aplikácie pre Android bežia v karanténe a tieto tri formáty balenia fungujú na podobnej myšlienke.

Natívna podpora tém

Všetky tri formáty balenia podporujú natívny vzhľad a správanie aplikácií GTK a Qt, aj keď s určitými obmedzeniami. Napríklad Snap a Flatpak vyžadujú, aby boli systémové témy zabalené v príslušných formátoch. Ak používate balíčky tém a ikon tretích strán, nemusí sa stať, že sa vám zobrazia správne ikony tém, kurzora a aplikácií. Integrácia sa zlepšila nadčasy, ale mierne zaostávajú v porovnaní s aplikáciami nainštalovanými od oficiálneho správcu balíkov distribúcie.

Prenosnosť aplikácií

Aplikácia AppImage je jeden spustiteľný súbor (podobný systému Windows .exe súbory). Môžete ich jednoducho zdieľať medzi systémami alebo nahrať do cloudu. Aplikácie Snap a Flatpak môžu byť prenosné zahrnutím samotnej aplikácie, ako aj detských úložísk, od ktorých aplikácia závisí. Proces však nie je taký ľahký ako AppImage a vyžaduje dosiahnutie viacerých výsledkov pomocou viacerých príkazov.

Automatické aktualizácie

Aplikácie Snap a Flatpak sa inštalujú z centralizovaných úložísk aplikácií a aplikácie je možné automaticky aktualizovať bez zásahu používateľa. Aplikácii AppImage chýba robustný mechanizmus automatickej aktualizácie. Používatelia musia inštalovať aktualizácie ručne sťahovať nové binárne súbory AppImage a nahradiť existujúce. Správcovia aplikácií AppImage niekedy obsahujú svoj vlastný aktualizačný mechanizmus, ktorý pravidelne kontroluje dostupnosť aktualizácií na ich serveroch alebo vyžaduje zásah používateľa. Nedávno vývojári AppImage poskytli nástroj na aktualizáciu existujúcich binárnych súborov poskytovaním delta aktualizácií. Stále to však vyžaduje stiahnutie aktualizačného nástroja a jeho manuálne použitie s existujúcim binárnym súborom AppImage. Pre aplikáciu AppImage zatiaľ nie je k dispozícii žiadny mechanizmus na aktualizáciu pomocou rúk.

Veľkosť aplikácie

AppImage má najmenšiu veľkosť aplikácie, pravdepodobne preto, že slúži v binárnom formáte v komprimovanom formáte. Veľkosti aplikácií Snap a Flatpak sa v jednotlivých aplikáciách veľmi líšia a je ťažké zistiť, ktorá z nich poskytuje menšiu veľkosť inštalácie. Len pre informáciu, Inkscape AppImage mal v čase písania tohto článku okolo 98 MB, Snap okolo 183 MB a Flatpak okolo 109 MB.

Záver

Balíky univerzálnych aplikácií sú prospešné pre vývojárov aj koncových používateľov. Tieto formáty balenia umožňujú oveľa rýchlejšie dodanie zabezpečených aplikácií. Otvárajú tiež dvere vývojárom, ktorí sa vyhýbajú Linuxu kvôli rôznym štandardom balenia používaným v rôznych distribúciách. V týchto troch formátoch balenia je potrebné vyriešiť niektoré problémy. Všetci sú však v aktívnom vývoji a tieto problémy budú opravené nadčasy. Univerzálne balíčky krížovej distribúcie sú budúcnosťou a ich prijatie sa bude zvyšovať. Distribúcie sa v budúcnosti môžu pomaly, ale rovnomerne presúvať na verzie Snap, Flatpak alebo AppImage, s výnimkou základných knižníc a základných balíkov, ktoré sú potrebné pre fungovanie operačného systému.

Hry Najlepšie linuxové distribúcie pre hry v roku 2021
Najlepšie linuxové distribúcie pre hry v roku 2021
Operačný systém Linux prešiel dlhou cestou od svojho originálneho, jednoduchého serverového vzhľadu. Tento OS sa za posledné roky nesmierne vylepšil a...
Hry Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
V minulosti sa hranie hier považovalo iba za hobby, ale časom došlo v hernom priemysle k obrovskému nárastu z hľadiska technológie i počtu hráčov. Her...
Hry Najlepšie hry na hranie s ručným sledovaním
Najlepšie hry na hranie s ručným sledovaním
Oculus Quest nedávno predstavil skvelú myšlienku ručného sledovania bez ovládačov. Vďaka stále sa zvyšujúcemu počtu hier a aktivít, ktoré vykonávajú p...