Pakendamine

Võrdlus Snap vs Flatpak vs AppImage

Võrdlus Snap vs Flatpak vs AppImage
Uued pakendiformaadid, nagu Snap, Flatpak ja AppImage, pakuvad levitamise agnostilisi pakette, mis töötavad enamikus Linuxi distributsioonides. See lahendab pakendiprobleemid, millega peavad kokku puutuma rakenduste arendajad, kes soovivad oma rakendusi levitada mitmes Linuxi jaotuses. Nüüd saavad nad erinevate pakendistandardite läbimise asemel keskenduda ühele ehitisele, mis töötab kõikjal.

Selles artiklis loetletakse nende kolme pakendivormingu peamised erinevused lõppkasutajate vaatenurgast. Pakendiarhitektuuri erinevusi ja pakendamise lihtsust arendajate seisukohast siin ei käsitleta.

Allolevas tabelis on kokku võetud peamised erinevused Snapi, Flatpaki ja AppImage'i failivormingute vahel. Enamik neist on iseenesestmõistetavad, muid punkte on selgitatud võrdlustabeli all.

Klõps Flatpak AppImage
Androidi nagu lubade juhtimine lülitab sisse (GUI ja CLI) Jah Jah Ei
Liivakasti tugi Jah Jah Jah
Liivakast kohustuslik Jah Jah Ei
Kohaliku teema tugi Jah (hoiatustega) Jah (hoiatustega) Jah (hoiatustega)
Toetus komplektraamatukogudele Jah Jah Jah
Rakenduse teisaldatavus Jah (hoiatustega) Jah (hoiatustega) Jah
Täielikult sisalduv üks teostatav tugi (sarnane versioonile .exe-failid akendes) Ei Ei Jah
Veebipõhine App Store Jah Jah Jah
Töölaua App Store tarkvara pistikprogrammid Jah Jah Ei
Mitme versiooni paralleelrakenduste tugi Jah Jah Jah
Automaatsed värskendused Jah Jah Jah (hoiatustega)
Chrome OS-i tugi (Crostini konteinerite kaudu) Jah Jah Jah
Rakenduse suurus Varieerub, kuid kõrgem kui AppImage Varieerub, kuid kõrgem kui AppImage Madalaim
App Store'is saadaval olevate rakenduste arv Kõrgeim Madalaim Kuskil vahepeal

Kasutajate lubade juhtelemendid

Snap pakub nii graafilisi kui ka käsurea liideseid kasutaja kontrollitavate õiguste jaoks. Kiirrakenduse lubade haldamiseks saate kasutada eelinstallitud rakendust „Ubuntu Software”.

Kiirrakenduse lubade nägemiseks käsurea liidese abil käivitage järgmine käsk:

$ snap ühendused kroom

Asendage kroom oma lisarakenduse nimega.

Kõigi installitud kiirrakenduste loendi kuvamiseks käivitage allolev käsk:

$ snapi loend

Kaamera lubamiseks kroomi klõpsamiseks kasutage allolevat käsku:

$ snap connect kroom: kaamera

Kaamera loa tühistamiseks käivitage järgmine käsk:

$ snap katkestage kroom: kaamera

Sobivad käsud õiguste haldamiseks leiate veerust „Ühenda” (näidatud ülaltoodud ekraanipildil).

Flatpak pakub ka liidest lubade andmiseks ja tühistamiseks. Võite kasutada GNOME tarkvararakendust (vajab GNOME 3.32.x) õiguste haldamiseks graafilise meetodi abil. Flatpaki rakenduse lubade nägemiseks käivitage järgmine käsk:

$ flatpak info - show-permissions org.kde.Platvorm

Asenda “org.kde.Platvorm ”oma Flatpaki rakenduse nimega.

Kõigi teie süsteemi installitud Flatpaki rakenduste loendi kuvamiseks käivitage järgmine käsk:

$ flatpaki loend

Flatpaki rakenduse lubade muutmiseks peate muutma ülaltoodud ekraanipildil näidatud muutujate väärtusi. Näiteks teeb järgmine käsk kogu failisüsteemi flappaki rakendusele kättesaadavaks:

$ sudo flatpak alistab organisatsiooni.kde.Platvorm - failisüsteem = host

AppImage ei toeta üksikasjalikke lubade juhtimisseadmeid praegu, kuid arendajad on vihjanud, et Androidi stiili lubade juhtimist võidakse tulevikus rakendada.

Liivakast

Snap, Flatpak ja AppImage toetavad liivakastiga rakenduste keskkondi karbist välja. Liivakast on keskkond (või konteiner / failisüsteem / arhiiv), mis on hosti süsteemist täielikult eraldatud ja eemal. Mis tahes suhtlus hostisüsteemiga toimub piiratud API ja õiguste juhtimise abil. Mõni neist õigustest nõuab selgesõnaliselt kasutajate osalemist või saab lõppkasutajad selle täielikult keelata. Liivakasti rakendus on turvaline kui ükski teine ​​rakendus, millel on täielik juurdepääs hostisüsteemile. Kõik Androidi rakendused töötavad liivakastis ja need kolm pakendivormingut töötavad sarnase idee järgi.

Kohaliku teema tugi

Kõik kolm pakendivormingut toetavad GTK ja Qt rakenduste loomulikku ilmet ja tunnet, ehkki teatud piirangutega. Näiteks nõuavad Snap ja Flatpak, et süsteemiteemad oleksid pakitud vastavas vormingus. Kui kasutate kolmanda osapoole teemasid ja ikoonipakette, ei pruugi te saada õigeid teema, kursori ja rakenduse ikoone. Integreerimine on ületunde parandanud, kuid need jäävad veidi alla levitamise ametlikust paketihaldurist installitud rakendustega.

Rakenduse teisaldatavus

AppImage'i rakendus on üks käivitatav fail (sarnane Windowsi .exe-failid). Saate seda hõlpsasti süsteemide vahel jagada või pilve üles laadida. Snapi ja Flatpaki rakendusi saab kaasaskantavaks muuta, lisades rakenduse enda, samuti lastehoidlad, millest rakendus sõltub. Protsess pole aga nii lihtne kui AppImage ja nõuab samade tulemuste saavutamiseks mitme käsu kasutamist.

Automaatsed värskendused

Rakendused Snap ja Flatpak installitakse tsentraliseeritud rakenduste hoidlatest ning rakendusi saab kasutaja sekkumiseta automaatselt värskendada. AppImage'il puudub kindel automaatne värskendusmehhanism. Kasutajad peavad värskenduste installimiseks uue AppImage binaarkaua käsitsi alla laadima ja olemasoleva asendama. AppImage'i rakenduse hooldajad sisaldavad mõnikord oma värskendusmehhanismi, mis kontrollib perioodiliselt värskenduste kättesaadavust oma serverites või nõuab kasutaja sekkumist. Hiljuti pakkusid AppImage'i arendajad tööriista olemasolevate kahendfailide värskendamiseks, pakkudes delta värskendusi. Kuid see nõuab ikkagi värskendustööriista allalaadimist ja käsitsi kasutamist olemasoleva binaarse AppImage'iga. Rakenduse AppImage jaoks pole veel käed-vabad värskendusmehhanismi saadaval.

Rakenduse suurus

AppImage'il on rakenduse suuruse jalajälg kõige väiksem, tõenäoliselt seetõttu, et see teenindab binaarfaile tihendatud vormingus. Rakenduse Snap ja Flatpak suurused on rakenduste kaupa väga erinevad ning väiksemat installimahtu pakkuvat on raske kindlaks teha. Lihtsalt viitamiseks oli Inkscape AppImage selle artikli kirjutamise ajal umbes 98 MB, Snap umbes 183 MB ja Flatpak umbes 109 MB.

Järeldus

Universaalsed rakenduspaketid on nii arendajatele kui ka lõppkasutajatele kasulik olukord. Need pakendiformaadid võimaldavad turvaliste rakenduste edastamist palju kiiremini. Nad avavad uksi ka arendajatele, kes on Linuxis eemale hoidnud erinevates jaotustes kasutatavate erinevate pakendistandardite tõttu. Nendes kolmes pakendivormingus tuleb lahendada mõned probleemid. Kuid neid kõiki arendatakse aktiivselt ja need probleemid fikseeritakse ületunnitööga. Universaalsed ristjaotuspaketid on tulevik ja nende vastuvõtmine suureneb. Aeglaselt, kuid kindlalt võivad levitamised tulevikus liikuda Snapi, Flatpaki või AppImage'i järkudesse, välja arvatud tuumkogud ja hädavajalikud paketid, mis on vajalikud operatsioonisüsteemi töötamiseks.

Kuidas kasutada GameConquerori petumootorit Linuxis
Artikkel sisaldab juhendit GameConquerori petumootori kasutamise kohta Linuxis. Paljud kasutajad, kes mängivad Windowsis mänge, kasutavad rakendust „C...
Parimad Linuxi mängukonsooli emulaatorid
Selles artiklis loetletakse Linuxi jaoks saadaval olev populaarne mängukonsooli emuleerimise tarkvara. Emuleerimine on tarkvara ühilduvuse kiht, mis j...
Parimad mängude jaoks mõeldud Linuxi distrod 2021. aastal
Linuxi operatsioonisüsteem on oma algsest, lihtsast, serveripõhisest välimusest kaugele jõudnud. See operatsioonisüsteem on viimastel aastatel tohutul...