Pakuotė

Palyginimas „Snap“ ir „Flatpak“ prieš „AppImage“

Palyginimas „Snap“ ir „Flatpak“ prieš „AppImage“
Nauji pakuočių formatai, tokie kaip „Snap“, „Flatpak“ ir „AppImage“, teikia platinimo agnostikos paketus, kurie veikia daugelyje „Linux“ paskirstymų. Tai išsprendžia pakavimo problemas, su kuriomis susiduria programų kūrėjai, norintys platinti savo programas keliuose „Linux“ paskirstymuose. Dabar jie gali sutelkti dėmesį į vieną konstrukciją, kuri veikia visur, užuot patyrusi skirtingus pakavimo standartus.

Šiame straipsnyje bus išvardyti pagrindiniai šių trijų pakuočių formatų skirtumai galutinių vartotojų požiūriu. Pakuočių architektūros skirtumai ir pakavimo paprastumas kūrėjų požiūriu čia nebus nagrinėjami.

Žemiau esančioje lentelėje apibendrinti pagrindiniai „Snap“, „Flatpak“ ir „AppImage“ failų formatų skirtumai. Dauguma jų yra savaime suprantami, kiti punktai paaiškinti žemiau palyginimo lentelės.

Snap Flatpak „AppImage“
„Android“ tipo leidimų valdikliai perjungiami (GUI ir CLI) Taip Taip Ne
„Sandboxing“ palaikymas Taip Taip Taip
Smėlio dėžė yra privaloma Taip Taip Ne
Vietinės temos palaikymas Taip (su įspėjimais) Taip (su įspėjimais) Taip (su įspėjimais)
Parama susietoms bibliotekoms Taip Taip Taip
Programos perkeliamumas Taip (su įspėjimais) Taip (su įspėjimais) Taip
Visiškai vienkartinė vykdomoji parama (panaši į .„exe“ failai „Windows“) Ne Ne Taip
Internetinė „App Store“ Taip Taip Taip
„Desktop App Store“ programinės įrangos papildiniai Taip Taip Ne
Kelių versijų lygiagrečių programų palaikymas Taip Taip Taip
Automatiniai naujinimai Taip Taip Taip (su įspėjimais)
„Chrome“ OS palaikymas (per „Crostini“ konteinerius) Taip Taip Taip
Programos dydis Skiriasi, bet didesnis nei „AppImage“ Skiriasi, bet didesnis nei „AppImage“ Žemiausia
„App Store“ pasiekiamų programų skaičius Aukščiausias Žemiausia Kažkur tarp jų

Vartotojų leidimų kontrolė

„Snap“ suteikia tiek grafines, tiek komandų eilutės sąsajas, skirtas vartotojo valdomiems leidimams. Norėdami valdyti papildomos programos leidimus, galite naudoti iš anksto įdiegtą „Ubuntu Software“ programą.

Norėdami pamatyti papildomos programos leidimus naudodami komandinės eilutės sąsają, vykdykite toliau nurodytą komandą:

$ snap jungtys chromas

Pakeiskite „chromas“ savo papildomosios programos pavadinimu.

Norėdami pamatyti visų įdiegtų papildomų programų sąrašą, vykdykite toliau nurodytą komandą:

$ snap sąrašas

Norėdami suteikti kameros leidimą užfiksuoti chromą, naudokite toliau pateiktą komandą:

$ snap connect chromas: kamera

Norėdami atšaukti kameros leidimą, vykdykite toliau nurodytą komandą:

$ snap atjunkite chromą: fotoaparatas

Tinkamas leidimų tvarkymo komandas galite rasti stulpelyje „Prijunkite“ (parodyta aukščiau esančiame ekrano kopijoje).

„Flatpak“ taip pat suteikia sąsają leidimams suteikti ir atšaukti. Galite naudoti „GNOME“ programinę įrangą (reikalinga „GNOME 3“.32.x) tvarkyti leidimus naudojant grafinį metodą. Norėdami pamatyti „Flatpak“ programos leidimus, vykdykite toliau pateiktą komandą:

$ flatpak informacija - parodyti leidimus org.kde.Platforma

Pakeiskite „org.kde.Platforma “su jūsų„ Flatpak “programos pavadinimu.

Norėdami peržiūrėti visų sistemoje įdiegtų „Flatpak“ programų sąrašą, vykdykite toliau pateiktą komandą:

$ flatpak sąrašas

Norėdami pakeisti „Flatpak“ programos leidimus, turite pakeisti aukščiau pateiktoje ekrano kopijoje rodomų kintamųjų reikšmes. Pvz., Žemiau pateikta komanda padarys visą failų sistemą prieinamą „flappak“ programai:

$ sudo flatpak nepaiso org.kde.Platforma - failų sistema = pagrindinis kompiuteris

„AppImage“ šiuo metu nepalaiko išsamių leidimų valdiklių, tačiau kūrėjai užsiminė, kad „Android“ stiliaus leidimų valdikliai gali būti įdiegti ateityje.

Smėlio dėžė

„Snap“, „Flatpak“ ir „AppImage“ palaiko „sandbox“ programų aplinkas iš dėžutės. Smėlio dėžė yra aplinka (arba talpykla / failų sistema / archyvas), kuri yra visiškai izoliuota ir nutolusi nuo pagrindinės sistemos. Bet kokia sąveika su pagrindine sistema atliekama naudojant ribotą API ir leidimų valdiklius. Kai kuriems iš šių leidimų vartotojai turi aiškiai pasirinkti, ar galutiniai vartotojai gali juos visiškai išjungti. „Sandboxed“ programa yra saugi nei bet kuri kita programa, turinti visišką prieigą prie pagrindinės sistemos. Visos „Android“ programos veikia smėlio dėžėje, o šie trys pakuotės formatai veikia panašiai.

Vietinės temos palaikymas

Visi trys pakuočių formatai palaiko natūralią GTK ir Qt programų išvaizdą, nors ir su tam tikrais apribojimais. Pavyzdžiui, „Snap“ ir „Flatpak“ reikalauja, kad sistemos temos būtų supakuotos atitinkamais formatais. Jei naudojate trečiųjų šalių temas ir piktogramų paketus, galite gauti netinkamų temų, žymeklio ir programų piktogramų. Integracija pagerino viršvalandžius, tačiau jie šiek tiek nesiekia, palyginti su programomis, įdiegtomis iš oficialaus platinimo paketų tvarkytuvo.

Programos perkeliamumas

„AppImage“ programa yra vienas vykdomasis failas (panašus į „Windows“ .exe failai). Jį galite lengvai bendrinti sistemose arba įkelti į debesį. „Snap“ ir „Flatpak“ programas galima padaryti nešiojamomis, įtraukiant pačią programą, taip pat vaikų saugyklas, nuo kurių programa priklauso. Tačiau procesas nėra toks lengvas kaip „AppImage“ ir norint pasiekti tuos pačius rezultatus, reikia naudoti kelias komandas.

Automatiniai naujinimai

„Snap“ ir „Flatpak“ programos yra įdiegtos iš centralizuotų programų saugyklų, o programas galima automatiškai atnaujinti be vartotojo įsikišimo. „AppImage“ trūksta patikimo automatinio naujinimo mechanizmo. Norėdami įdiegti naujinimus, vartotojai turi rankiniu būdu atsisiųsti naują dvejetainį „AppImage“ ir pakeisti esamą. „AppImage“ programų prižiūrėtojai kartais įtraukia savo atnaujinimo mechanizmą, kuris periodiškai tikrina, ar atnaujinimai pasiekiami jų serveriuose, arba reikalauja vartotojo įsikišimo. Neseniai „AppImage“ kūrėjai pateikė įrankį esamiems dvejetainiams failams atnaujinti pateikdami „delta“ naujinius. Tačiau vis tiek reikia atsisiųsti naujinimo įrankį ir rankiniu būdu naudoti jį su esamu „AppImage“ dvejetainiu. „AppImage“ kol kas nėra laisvų rankų įrangos atnaujinimo mechanizmo.

Programos dydis

„AppImage“ yra mažiausias programos dydžio pėdsakas, tikriausiai todėl, kad jis teikia dvejetainius failus suglaudintu formatu. „Snap“ ir „Flatpak“ programų dydžiai kiekvienoje programoje labai skiriasi, todėl sunku nustatyti, kuris diegimo dydis yra mažesnis. Tik nuoroda: „Inkscape AppImage“ šio straipsnio rašymo metu buvo apie 98 MB, „Snap“ - apie 183 MB, o „Flatpak“ - apie 109 MB.

Išvada

Universalūs programų paketai yra naudinga situacija tiek kūrėjams, tiek galutiniams vartotojams. Šie pakuotės formatai leidžia daug greičiau pristatyti saugias programas. Jie taip pat atveria duris kūrėjams, kurie vengia „Linux“ dėl skirtingų pakuočių standartų, naudojamų skirtinguose platinimuose. Yra keletas klausimų, kuriuos reikia išspręsti šiais trim pakuočių formatais. Tačiau jie visi yra aktyviai tobulinami ir šie klausimai bus nustatyti viršvalandžiai. Universalūs kryžminio paskirstymo paketai yra ateitis, o jų priėmimas padidės. Lėtai, bet stabiliai platinimai ateityje gali pereiti į „Snap“, „Flatpak“ ar „AppImage“ versijas, išskyrus pagrindines bibliotekas ir būtinus paketus, reikalingus OS darbui.

„Vulkan“, skirta „Linux“ vartotojams
Kiekvienos naujos kartos grafikos plokštės matome, kaip žaidimų kūrėjai peržengia grafinės ištikimybės ribas ir artėja prie fotorealizmo. Nepaisant vi...
„OpenTTD“ ir „Simutrans“
Sukurti savo transporto modeliavimą gali būti smagu, atpalaiduojanti ir be galo viliojanti. Štai kodėl jūs turite įsitikinti, kad išbandėte kuo daugia...
„OpenTTD“ pamoka
„OpenTTD“ yra vienas iš populiariausių verslo modeliavimo žaidimų. Šiame žaidime turite sukurti nuostabų transporto verslą. Tačiau pradėsite nuo mažda...