Snap | Flatpak | AppImage. Vertailu Linuxit yhdistävistä paketoinneista!

®LINUX-SAUNA tuotantoa

      

Sovellusten asennustapoja on monia. Sinä voit valita. Pääasia on saada tärkeän ohjelmiston tuorein versio helposti ja nopeasti käyttöön kaikenlaisten käyttäjien kohdalla; jakelun oma ohjelmistovarasto voi tarjota vain vanhentuneen julkaisun jostakin sovelluksesta ja tarvitset uudemman – tai viimeisimmän.

1. Snap

Snap kehitettiin alkujaan Ubuntun palvelin-, puhelin- ja IoT-järjestelmiin, mutta on käytettävissä nyt myös työpöytäsovellusten paketointiin.

Snapit ovat teknisesti erittäin taipuisia toimimaan yhteen työpöytäsovellutusten kanssa jotka voivat kuitenkin vaatia kanssakäymistä palvelimien suuntaan (kuten Plex).

Ubuntun lisäksi Snap-tuki on myös vakiollisesti monissa muissa Linux-jakeluissa kuten KDE Neon / Manjaro Linux / Solus / Ubuntu / Zorin OS ja MakuluLinux.

Esim. Linux Mintiin se asennetaan näillä ohjeilla.

Snap Store on keskitetty varasto ja kauppa josta asennustyökalu noutaa näitä paketteja. Siellä on monien isojen yhtiöiden virallisia ohjelmistoja kuten Spotify.

Snap-paketoinnin ominaisuuksia:

♦ Snap-paketti sisältää kaiken tarvittavan; se ei ole riippuvainen mistään muista paketeista (tai Linux-jakelustakaan); käyttöjärjestelmän eri versiokaan (eri kirjastot, Ubuntu 22.04 LTS / Ubuntu 23.10 / jne.) ei myöskään vaikuta. Kaikki tarpeet ovat Snap-paketin sisällä.

♦ Asentamiset ja päivitykset keskitetystä Snap-kaupasta. Oli käytössä mikä Linux tahansa – asennustapa on kaikkialla Snapina sen järjestelmään asennuksen jälkeen sama. Vakiollisesti Snap-tuki on mukana itse Ubuntussa ja mm. Manjaro Linuxissa.

♦ Päivitykset tapahtuvat vakiollisesti taustalla automaattisesti koska – on todettu että jopa valtaosa ei päivitä PC:tään ”laatikosta vetämisen” jälkeen koskaan! Päivityksiä voi kuitenkin lykätä tai ne voi estää jos käskytät niin.

♦ Laaja tuki eri ohjelmatyypeille. Työpöytä, palvelinkäyttö, jopa Linuxin ytimen voi paketoida Snapiksi ja se toimii kuten odottaa sopii.

♦ Snap-sovellukset ajetaan lähtökohtaisesti hiekkalaatikossa – ne eivät pääse vaikuttamaan itse järjestelmään. Tuohon ”sandboksaukseen” voi tarvittaessa tehdä myönnytyksiä; Snap-paketin oikeuksia voidaan siis tarvittaessa taivuttaa.

♦ Hiekkalaatikointi  – siis sandboxing – voi olla hyödyllinen kun käytetään suljetun lähdekoodin ohjelmia joiden toimintaa ei voida tarkistaa tai varmentaa. Itse käyttöjärjestelmä pysyy turvassa tuon ”eristyksen” ansiosta.

♦ Snapit ja snapd ovat lähdekoodiltaan avoimia – palvelinpuoli taas ei ole. Canonical teki saman LaunchPadin kanssa alussa ja avasi sen myöhemmin. Alan Pope selventää miksi. Se että käyttää omisteista ja ohjelmakoodiltaan suljettua kauppaa – ei eroa tavanomaisten nettisivujen kuten vaikkapa Redditin, Facebookin tai Twitterin käyttämisestä.

♦ Snap-sovellukset on helppo rullata versiossa taaksepäin tarpeen vaatiessa ja käyttiksessäsi voi olla saman sovelluksen snapin eri versioita vierekkäin – eivätkä ne vaikuta toisiinsa.

♦ Kun snapd eli siis Snap-sovellusten valmius – asennus jakelusta riippumatta tapahtuu päätteestä kommennolla snap install paketti vaikka ei olisi työpöytääkään.

2. Flatpak

Flatpak-paketoidut ohjelmat ovat Snapien tavoin riippumattomia siitä, mikä Linux on käytössä, jos tuki on tai se asennetaan.

Flatpak on vakiollisesti mukana mm. Linux Mintissä ja Fedora Linuxissa.

Flatpak-tuen saat asennettua Ubuntuun tästä.

Flatpakin ominaisuuksia:

♦ Riippumattomat paketit mutta riippuvaisuuksia voidaan jakaa eri sovellusten kesken – eli Snapin tapaan Flatpak-paketti ei aina sisällä 100% kaikkia riippuvaisuuksia itsessään – mutta levytilaa voi mahdollisesti säästyä hiukan.

♦ Hajautettu lähtökohta – mutta on suosittu keskitetty pakettivarasto – tuo jo mainittu Flathub josta ohjelmat ovat asennettavissa luotettavammin.

♦ Mahdollisuus käyttää lähteenä kenen tahansa pakettivarastoja (jonka esim. kehittäjät voivat nähdä ongelmana kuten PPA-lähteissä).

♦ Hyvä sulautuvuus työpöytäympäristöihin teemoineen.

♦ Ehdoton hiekkalaatikointi – antaa lisäturvaa ja sovellus ei pääse käsiksi muuhun järjestelmään. Flatseal sovelluksen avulla käyttäjä voi kuitenkin itse säätää ja myöntää pääsyn tiettyihin kansioihin.

♦ Voit käyttää Flatpak-sovelluksia vierekkäin tavanomaisesti asennetun saman ohjelman kera.

3. AppImage

AppImage eroaa kahdesta edellisistä enemmän. Yksi AppImage-ohjelma on käytännössä yksi suoritettava tiedosto.

Teknisesti AppImage on levykuva joka sisältää kaikki ohjelman suorittamiseen tarvittavat tiedostot sisällään (Snapin tapaan).

AppImagen etuna voidaan pitää yhden tiedoston lataamista joka toimii sellaisenaan ilman erillistä paketin purkamista mihinkään.

Haittana on vaatimus saattaa AppImage -tiedosto ajettavaksi erikseen ladatun tiedoston ominaisuuksista. Uusi käyttäjä ei välttämättä voi tietää tätä ja paketti ei käynnisty. Mm. Ubuntussa pitää mahdollisesti asentaa erikseen paketti FUSE jotta AppImageja voidaan ajaa.


1. Napsauta hiiren oikealla ladatun AppImagen päällä. 2. Ominaisuudet. 3. Ruksaa laatikko ”merkitse ajettavaksi”


Ominaisuuksia:

♦ Yksi suoritettava tiedosto joka sisältää kaiken tarvittavan.

♦ Ei pääkäyttäjän (juuri) oikeuksia vaativaa asentamista.

♦ Ei keskitettyä pakettivarastoa (josta asennus ja päivitykset tapahtuisivat) käsin tai automaattisesti.

♦ Paketti ei päivity; uusi versio pitää ladata aina erikseen lataamalla uusi tiedosto. AppImage ei siis päivity itsessään sisäisesti.

♦ Samasta ohjelmasta voi olla rinnakkain useita versioita (eri tiedostot).

Lopun lätinät

Muistutus: nämä eivät vie käyttäjältä pois Linux-käyttöjärjestelmäsi omasta ohjelmavarastosta asentamista! Eivätkä ne myöskään vie pois mitään vanhan ajan tapaa asentaa – kuten ”käsin” rakennusta suoraan ohjelmakoodin lähteestä.

Kukaan ei varsinaisesti vanno Snapien, Flatpakien, AppImagejen tai minkään muunkaan paketoinnin nimeen kadulla lippua heiluttaen. Kyse on käytännön työkaluista – joilla kaikilla on omat käyttökohteensa. Snapit ovat yleismaailmallisesti näistä joustavimpia – Snapiksi voi pakata oikeastaan mitä tahansa: jopa itse Linuxin.

Tavanomainen käyttäjä ottanee sen paketin haluamalleen ohjelmalle mikä tarjolla on. Jakelun oman kaupan kautta haluttua ohjelmaa ei välttämättä löydy (tai tiettyä versiota siitä. Siinä asian ydin.

Ideologioilla ei ole painoarvoa ihmiselle jolle tietokone on vain yksi kodinkone muiden joukossa. Nämä universaalit ja helpot paketointitavat ehdottomasti madaltavat kynnystä kenen tahansa käyttää tietokonetta (ja Linuxia!).

Kaikki nippuun?

Tätä asetelmaa olisi hyvä ehkä loiventaa edelleen; ollaan rajauduttu käytännössä kolmeen paketointiin jotka voivat toimia missä tahansa.

Manjaro Linux käyttää esimerkkinä Bauh-työkalua joka tarjoaa nämä kaikki. Käyttäjä ei välttämättä edes tiedä missä pakettimuodossa peli- tai hyötyohjelma tuli. Se vain toimii ja haluttuna tuoreena julkaisuna.

Tulevaisuudessa vain asennetaan – oli muoto tai jakelu mikä vain. Hiekkalaatikointi on joka tapauksessa avainasemassa; ajan henki vaatii sitä.

✍️@Kopimi


Kysy lisätietoja

®LINUX-SAUNA @