Pakkaus

Vertailu Snap vs Flatpak vs AppImage

Vertailu Snap vs Flatpak vs AppImage
Uudet pakkausmuodot, kuten Snap, Flatpak ja AppImage, tarjoavat jakeluaineistopaketteja, jotka toimivat useimmissa Linux-jakeluissa. Tämä ratkaisee pakkausongelmat, joita kohtaavat sovelluskehittäjät, jotka haluavat jakaa sovelluksensa useisiin Linux-jakeluihin. Nyt he voivat keskittyä yhteen rakenteeseen, joka toimii kaikkialla eri pakkausstandardien sijaan.

Tässä artikkelissa luetellaan näiden kolmen pakkaustavan tärkeimmät erot loppukäyttäjien näkökulmasta. Pakkausarkkitehtuurin eroja ja pakkaamisen helppoutta kehittäjien näkökulmasta ei käsitellä tässä.

Alla olevassa taulukossa on yhteenveto tärkeimmistä eroista Snap-, Flatpak- ja AppImage-tiedostomuotojen välillä. Suurin osa niistä on itsestään selviä, muita seikkoja on selitetty vertailutaulukon alla.

Napsahtaa Flatpak AppImage
Androidin kaltaiset käyttöoikeuksien hallinta -vaihtoehdot (GUI ja CLI) Joo Joo Ei
Hiekkalaatikkotuki Joo Joo Joo
Hiekkalaatikko pakollinen Joo Joo Ei
Alkuperäinen teeman tuki Kyllä (varoitusten kanssa) Kyllä (varoitusten kanssa) Kyllä (varoitusten kanssa)
Mukana toimitettujen kirjastojen tuki Joo Joo Joo
Sovellusten siirrettävyys Kyllä (varoitusten kanssa) Kyllä (varoitusten kanssa) Joo
Täysin sisältyvä yksittäinen suoritettava tuki (samanlainen kuin .exe-tiedostot Windowsissa) Ei Ei Joo
Online App Store Joo Joo Joo
Laajennukset Desktop App Store -ohjelmistoon Joo Joo Ei
Moniversioinen rinnakkaisohjelmien tuki Joo Joo Joo
Automaattiset päivitykset Joo Joo Kyllä (varoitusten kanssa)
Chrome-käyttöjärjestelmän tuki (Crostini-konttien kautta) Joo Joo Joo
Sovelluksen koko Vaihtelee, mutta korkeampi kuin AppImage Vaihtelee, mutta korkeampi kuin AppImage Pienin
App Storessa saatavilla olevien sovellusten määrä Korkein Pienin Jossain välissä

Käyttäjien käyttöoikeuksien hallinta

Snap tarjoaa sekä graafiset että komentoriviliitännät käyttäjän hallitsemille käyttöoikeuksille. Voit hallita pikasovelluksen käyttöoikeuksia esiasennetulla ”Ubuntu Software” -sovelluksella.

Jos haluat nähdä pikasovelluksen käyttöoikeudet komentoriviliittymällä, suorita seuraava komento:

$ snap-liitännät kromi

Korvaa "kromi" napsautussovelluksesi nimellä.

Jos haluat nähdä luettelon kaikista asennetuista pikasovelluksista, suorita alla oleva komento:

$ snap-luettelo

Anna kameralle lupa kromin napsautukseen seuraavalla komennolla:

$ snap connect kromi: kamera

Peruuta kameran käyttöoikeus suorittamalla seuraava komento:

$ snap disconnect chromium: camera

Asianmukaiset komennot käyttöoikeuksien hallintaan löytyvät Plug-sarakkeesta (näkyy yllä olevassa kuvakaappauksessa).

Flatpak tarjoaa myös käyttöliittymän käyttöoikeuksien myöntämiseen ja peruuttamiseen. Voit käyttää GNOME-ohjelmistosovellusta (vaatii GNOME 3: n.32.x) hallita käyttöoikeuksia graafisella menetelmällä. Jos haluat nähdä Flatpak-sovelluksen käyttöoikeudet, suorita alla oleva komento:

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

Korvaa ”org.kde.Platform ”-sovelluksella Flatpak-sovelluksesi nimi.

Voit tarkastella luetteloa kaikista järjestelmään asennetuista Flatpak-sovelluksista suorittamalla alla oleva komento:

$ flatpak -luettelo

Flatpak-sovelluksen käyttöoikeuksien muuttamiseksi sinun on muutettava yllä olevassa kuvakaappauksessa näkyvien muuttujien arvoja. Esimerkiksi alla oleva komento tekee koko tiedostojärjestelmän saataville flappak-sovelluksen käyttöön:

$ sudo flatpak ohittaa organisaation.kde.Platform --filesystem = isäntä

AppImage ei tue yksityiskohtaisia ​​käyttöoikeuksien hallintoja jo nyt, mutta kehittäjät ovat vihjanneet, että Android-tyylin käyttöoikeuksien hallintaa voidaan toteuttaa tulevaisuudessa.

Hiekkalaatikko

Snap, Flatpak ja AppImage tukevat hiekkalaatikkoon pakattuja sovellusympäristöjä. Hiekkalaatikko on ympäristö (tai kontti / tiedostojärjestelmä / arkisto), joka on täysin eristetty ja erillään isäntäjärjestelmästä. Kaikki vuorovaikutus isäntäjärjestelmän kanssa tapahtuu rajoitetulla sovellusliittymällä ja käyttöoikeuksien hallinnalla. Jotkut näistä käyttöoikeuksista edellyttävät nimenomaisesti käyttäjien suostumusta tai loppukäyttäjät voivat poistaa ne kokonaan käytöstä. Hiekkalaatikkosovellus on turvallinen kuin mikään muu sovellus, jolla on täysi pääsy isäntäjärjestelmään. Kaikki Android-sovellukset toimivat hiekkalaatikossa ja nämä kolme pakkausmuotoa toimivat samanlaisen idean kanssa.

Alkuperäinen teeman tuki

Kaikki kolme pakkausmuotoa tukevat GTK- ja Qt-sovellusten alkuperäistä ulkoasua, vaikkakin tietyin rajoituksin. Esimerkiksi Snap ja Flatpak edellyttävät, että järjestelmateemat on pakattu vastaaviin muotoihinsa. Jos käytät kolmannen osapuolen teemoja ja kuvakepaketteja, et välttämättä saa oikeita teema-, kohdistin- ja sovelluskuvakkeita. Integraatio on parantanut ylityötä, mutta ne jäävät hieman alle sovelluksiin, jotka on asennettu jakelun virallisesta paketinhallinnasta.

Sovellusten siirrettävyys

AppImage-sovellus on yksi suoritettava tiedosto (samanlainen kuin Windowsin .exe-tiedostot). Voit jakaa sen helposti järjestelmien välillä tai ladata pilveen. Snap- ja Flatpak-sovellukset voidaan tehdä kannettaviksi sisällyttämällä itse sovellus sekä lapsen arkistot, joista sovellus riippuu. Prosessi ei kuitenkaan ole yhtä helppoa kuin AppImage ja vaatii useiden komentojen käyttämistä samojen tulosten saavuttamiseksi.

Automaattiset päivitykset

Snap- ja Flatpak-sovellukset asennetaan keskitetyistä sovellustietovarastoista, ja sovellukset voidaan päivittää automaattisesti ilman käyttäjän toimia. AppImagelta puuttuu vankka automaattinen päivitysmekanismi. Käyttäjien on ladattava uusi AppImage-binaari manuaalisesti ja korvattava nykyinen päivitysten asentamiseksi. AppImage-sovellusten ylläpitäjät sisältävät joskus oman päivitysmekanisminsa, joka tarkistaa säännöllisesti päivitysten saatavuuden palvelimillaan tai vaatii käyttäjän toimia. Äskettäin AppImage-kehittäjät tarjosivat työkalun päivittää olemassa olevat binäärit toimittamalla delta-päivityksiä. Se vaatii kuitenkin edelleen päivitystyökalun lataamisen ja sen manuaalisen käytön olemassa olevan AppImage-binaarin kanssa. AppImagelle ei ole vielä saatavana handsfree-päivitysmekanismia.

Sovelluksen koko

AppImage-sovelluksen koko on pienin, todennäköisesti siksi, että se palvelee binäärejä pakatussa muodossa. Snap- ja Flatpak-sovelluskoot vaihtelevat suuresti sovelluksesta toiseen, ja on vaikea varmistaa, mikä tarjoaa pienemmän asennuskoon. Vain viitteenä: Inkscape AppImage oli tämän artikkelin kirjoittamisen ajankohtana noin 98 Mt, Snap noin 183 Mt ja Flatpak noin 109 Mt.

Johtopäätös

Universaalit sovelluspaketit ovat win-win-tilanne sekä kehittäjille että loppukäyttäjille. Nämä pakkausmuodot mahdollistavat turvallisten sovellusten nopeamman toimituksen. Ne avaavat myös ovet kehittäjille, jotka ovat välttäneet Linuxia eri jakeluissa käytettyjen erilaisten pakkausstandardien vuoksi. On joitain asioita, jotka on selvitettävä näissä kolmessa pakkausmuodossa. Niitä kaikkia kehitetään kuitenkin aktiivisesti, ja nämä ongelmat korjataan ylitöihin. Universaalit jakelupaketit ovat tulevaisuus, ja niiden käyttöönotto lisääntyy. Hitaasti, mutta tasaisesti, jakelut voivat siirtyä Snap-, Flatpak- tai AppImage-koontiversioihin tulevaisuudessa lukuun ottamatta ydinkirjastoja ja välttämättömiä paketteja, joita tarvitaan käyttöjärjestelmän toimimiseen.

Battle For Wesnoth 1.13.6 Development Released
Battle For Wesnoth 1.13.6 released last month, is the sixth development release in the 1.13.x series and it delivers a number of improvements, most no...
League of Legendsin asentaminen Ubuntu 14 een.04
Jos olet League of Legendsin fani, tämä on sinulle mahdollisuus testata League of Legendsia. Huomaa, että PlayOnLinux tukee LOLia, jos olet linux-käyt...
Asenna uusin OpenRA-strategiapeli Ubuntu Linuxiin
OpenRA on ilmainen / ilmainen reaaliaikainen strategiapelimoottori, joka luo uudet Westwood-pelit, kuten klassinen Command & Conquer: Red Alert. Hajau...