Ez a cikk felsorolja a három csomagolási forma közötti fő különbségeket a végfelhasználók szempontjából. A csomagolás architektúrájának különbségeit és a csomagolás egyszerűségét a fejlesztők szempontjából itt nem tárgyaljuk.
Az alábbi táblázat összefoglalja a Snap, a Flatpak és az AppImage fájlformátumok közötti főbb különbségeket. Többségük magától értetődő, más szempontokat az összehasonlító táblázat alatt magyaráztunk.
Snap | Flatpak | AppImage | |
Az Android-hoz hasonló engedély-vezérlőkapcsolók (GUI és CLI) | Igen | Igen | Nem |
Sandboxing támogatás | Igen | Igen | Igen |
Homokozó kötelező | Igen | Igen | Nem |
Natív téma támogatás | Igen (figyelmeztetésekkel) | Igen (figyelmeztetésekkel) | Igen (figyelmeztetésekkel) |
A mellékelt könyvtárak támogatása | Igen | Igen | Igen |
Alkalmazás hordozhatóság | Igen (figyelmeztetésekkel) | Igen (figyelmeztetésekkel) | Igen |
Teljesen tartalmazott, egyetlen futtatható támogatás (hasonló a .exe fájlok a Windows-ban) | Nem | Nem | Igen |
Online App Store | Igen | Igen | Igen |
Bővítmények az asztali App Store szoftverhez | Igen | Igen | Nem |
Több verziós párhuzamos alkalmazások támogatása | Igen | Igen | Igen |
Automatikus frissítések | Igen | Igen | Igen (figyelmeztetésekkel) |
Chrome OS támogatás (Crostini-tárolókon keresztül) | Igen | Igen | Igen |
Alkalmazás mérete | Változó, de magasabb, mint az AppImage | Változó, de magasabb, mint az AppImage | Legalacsonyabb |
Az App Store-ban elérhető alkalmazások száma | Legmagasabb | Legalacsonyabb | Valahol közte |
Engedély-vezérlők a felhasználók számára
A Snap grafikus és parancssori interfészeket is biztosít a felhasználó által vezérelt engedélyekhez. Az előtelepített „Ubuntu Software” alkalmazással kezelheti a snap alkalmazás engedélyeit.
Egy snap alkalmazás engedélyeinek megtekintéséhez a parancssori felület használatával futtassa az alábbi parancsot:
$ snap csatlakozások krómCserélje ki a „króm” nevet a beépülő alkalmazás nevére.
Az összes telepített beépülő alkalmazás listájának megtekintéséhez futtassa az alábbi parancsot:
$ snap listaHa engedélyezni szeretné a kamera engedélyét a króm felvételére, használja az alábbi parancsot:
$ snap connect króm: kameraA kamera engedélyének visszavonásához futtassa az alábbi parancsot:
$ snap disconnect chromium: cameraAz engedélykezeléshez megfelelő parancsok megtalálhatók a „Plug” oszlopban (a fenti képernyőképen látható).
A Flatpak emellett felületet is biztosít az engedélyek megadásához és visszavonásához. Használhatja a GNOME szoftver alkalmazást (ehhez GNOME 3 szükséges.32.x) engedélyek kezelése grafikus módszerrel. A flatpak alkalmazás engedélyeinek megtekintéséhez futtassa az alábbi parancsot:
$ flatpak info - show-permissions org.kde.Felület
Cserélje ki az „org.kde.Platform ”a Flatpak alkalmazásának nevével.
A rendszerre telepített összes flatpak alkalmazás listájának megtekintéséhez futtassa az alábbi parancsot:
$ flatpak listaA flatpak alkalmazás engedélyeinek módosításához meg kell változtatnia a fenti képernyőképen látható változók értékeit. Például az alábbi parancs teljes fájlrendszert tesz elérhetővé egy flappak alkalmazás számára:
A $ sudo flatpak felülbírálja az org-ot.kde.Platform - fájlrendszer = gazdagépAz AppImage jelenleg nem támogatja a részletes engedély-vezérléseket, de a fejlesztők utaltak arra, hogy az Android-stílusú engedély-vezérlők a jövőben megvalósíthatók.
Homokozó
A Snap, a Flatpak és az AppImage a dobozon kívül támogatja a sandboxos alkalmazáskörnyezeteket. A homokozó egy olyan környezet (vagy konténer / fájlrendszer / archívum), amely teljesen el van szigetelve és távol van a gazdagéptől. A gazda rendszerrel való bármilyen interakció korlátozott API és engedély-vezérlők segítségével történik. Ezen engedélyek némelyike kifejezetten megköveteli a felhasználók részvételét, vagy a végfelhasználók teljesen letilthatják őket. A homokozós alkalmazás biztonságos, mint bármely más alkalmazás, amely teljes hozzáféréssel rendelkezik a gazdarendszerhez. Az összes Android-alkalmazás homokozóban fut, és ez a három csomagolási forma hasonló ötleten működik.
Natív téma támogatás
Mindhárom csomagolási forma támogatja a GTK és a Qt alkalmazások natív megjelenését és hangulatát, bár bizonyos korlátozásokkal. Például a Snap és a Flatpak megkövetelik, hogy a rendszer-témák a megfelelő formátumban legyenek csomagolva. Ha harmadik féltől származó témákat és ikoncsomagokat használ, előfordulhat, hogy nem kapja meg a megfelelő téma-, kurzor- és alkalmazásikonokat. Az integráció javította a túlórákat, de kissé elmaradnak a disztribúció hivatalos csomagkezelőjétől telepített alkalmazásokhoz képest.
Alkalmazás hordozhatóság
Az AppImage alkalmazás egyetlen futtatható fájl (hasonló a Windows .exe fájlok). Könnyen megoszthatja a rendszerek között, vagy feltöltheti a felhőbe. A Snap és a Flatpak alkalmazásokat hordozhatóvá lehet tenni, ha magában foglalja az alkalmazást, valamint olyan gyermektárakat, amelyeken az alkalmazás függ. A folyamat azonban nem olyan egyszerű, mint az AppImage, és ugyanazon eredmények eléréséhez több parancs használatát igényli.
Automatikus frissítések
A Snap és a Flatpak alkalmazásokat központosított alkalmazás-tárolókról telepítik, és az alkalmazásokat felhasználói beavatkozás nélkül automatikusan frissíteni lehet. Az AppImage nem rendelkezik robusztus automatikus frissítési mechanizmussal. A frissítések telepítéséhez a felhasználóknak manuálisan kell letölteniük az új AppImage bináris fájlt, és le kell cserélniük a meglévőt. Az AppImage alkalmazásfenntartók néha magukba foglalják a saját frissítési mechanizmusukat, amely rendszeresen ellenőrzi a szerverek frissítéseinek elérhetőségét, vagy felhasználói beavatkozást igényel. A közelmúltban az AppImage fejlesztői egy eszközt nyújtottak a meglévő bináris fájlok frissítésére delta frissítések biztosításával. Ehhez azonban továbbra is szükség van a frissítő eszköz letöltésére és egy meglévő AppImage bináris fájl manuális használatára. Az AppImage számára még nem áll rendelkezésre kihangosító frissítési mechanizmus.
Alkalmazás mérete
Az AppImage alkalmazásmérete a legkisebb, valószínűleg azért, mert tömörített formátumban szolgálja a bináris fájlokat. A Snap és a Flatpak alkalmazásméretek alkalmazásonként nagyon eltérőek, és nehéz megállapítani, hogy melyik telepítési méret kisebb. Csak hivatkozásképpen: az Inkscape AppImage a cikk írásakor 98 MB, a Snap 183 MB és a Flatpak 109 MB körüli volt.
Következtetés
Az univerzális alkalmazáscsomagok előnyösek a fejlesztők és a végfelhasználók számára egyaránt. Ezek a csomagolási formátumok lehetővé teszik a biztonságos alkalmazások gyorsabb szállítását. Kinyitják a kapukat azoknak a fejlesztőknek is, akik a különböző disztribúciókban alkalmazott eltérő csomagolási szabványok miatt elrugaszkodtak a Linuxtól. Van néhány olyan kérdés, amelyet e három csomagolási formátumban ki kell küszöbölni. Azonban mindannyian aktív fejlesztés alatt állnak, és ezeket a problémákat rögzíteni fogják a túlórák. Az univerzális kereszt-terjesztési csomagok jelentik a jövőt, és elfogadásuk növekszik. Lassan, de folyamatosan a disztribúciók a jövőben a Snap, a Flatpak vagy az AppImage buildekbe költözhetnek, kivéve az alapkönyvtárakat és az operációs rendszer működéséhez szükséges alapvető csomagokat.