Csomagolás

Összehasonlítás Snap vs Flatpak vs AppImage

Összehasonlítás Snap vs Flatpak vs AppImage
Az új csomagolási formátumok, például a Snap, a Flatpak és az AppImage olyan terjesztési agnosztikus csomagokat kínálnak, amelyek a legtöbb Linux disztribúción működnek. Ez megoldja azokat a csomagolási problémákat, amelyekkel az alkalmazásfejlesztők szembesülnek, akik több Linux disztribúción szeretnék terjeszteni az alkalmazásokat. Most egyetlen konstrukcióra koncentrálhatnak, amely mindenhol működik, ahelyett, hogy különböző csomagolási szabványokon mennének keresztül.

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óm

Cseré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 lista

Ha engedélyezni szeretné a kamera engedélyét a króm felvételére, használja az alábbi parancsot:

$ snap connect króm: kamera

A kamera engedélyének visszavonásához futtassa az alábbi parancsot:

$ snap disconnect chromium: camera

Az 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 lista

A 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ép

Az 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.

A legjobb Gamepad Mapping alkalmazások Linuxhoz
Ha egy tipikus billentyűzet és egér beviteli rendszer helyett szeretnél játékokat játszani Linuxon egy játékvezérlővel, van néhány hasznos alkalmazás ...
Hasznos eszközök Linux játékosok számára
Ha szeretsz Linuxon játszani, akkor valószínű, hogy olyan alkalmazásokat és segédprogramokat használtál, mint a Wine, a Lutris és az OBS Studio a játé...
HD Remastered Games for Linux, amelyeknek soha nem volt korábban Linux kiadásuk
Számos játékfejlesztő és kiadó a régi játékok HD remasterjével áll elő a franchise élettartamának meghosszabbítása érdekében. Kérjük, hogy a rajongók ...