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 kromiKorvaa "kromi" napsautussovelluksesi nimellä.
Jos haluat nähdä luettelon kaikista asennetuista pikasovelluksista, suorita alla oleva komento:
$ snap-luetteloAnna kameralle lupa kromin napsautukseen seuraavalla komennolla:
$ snap connect kromi: kameraPeruuta kameran käyttöoikeus suorittamalla seuraava komento:
$ snap disconnect chromium: cameraAsianmukaiset 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 -luetteloFlatpak-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.