Nej, det handlar inte om drycker i små glas, utan om Canonicals version av direkt körbara filer för Linuxdistributioner. Till att börja med så finns det flera alternativ, där exempelvis AppImage (http://appimage.org/) är ett tänkbart val.
Snaps finns som standard i alla Ubuntuversioner från och med 16.04, men kan installeras i många andra Linuxdistributioner också.
Fördelen med Snaps är att man inte behöver ”bygga” installationer eller hämta filer programmet är beroende av. Allt detta finns inbyggt i den fil som utgör en ”Snap”.
Allt fungerar genom att programmet byggs i förväg för en minimal Ubuntukärna, som paketeras med programmet. På mottagarsystemet skall man bara se till att ha stöd för Snaps installerat, så kan man köra programmet oavsett om det normalt är byggt för det eller ej.
Tittar man exempelvis på QGIS.org så finns det ganska många instruktioner för hur man installerar QGIS på olika Linuxvarianter. För andra program så är det inte säkert att det ens finns en installationsinstruktion för din distribution, och då kanske man måste bygga installationen själv från källkod.
Om man i stället bygget en ”QGIS.snap” så hade installationen för alla Linux versioner varit (som root):
snap install qgis.snap
Klart!
Just nu tillgängliga ”offentliga” snaps kan man lista med kommandot (Ubuntu):
sudo snap find
Listan är inte lång, men den blir längre för varje dag verkar det som.
Prova exempelvis ”sudo snap install vtop”, och kör sedan ”vtop” från terminalen. Du kan även använda kommandot ”df -h” för att visa var Ubuntu-core och vtop finns lagrade.
Det går även att bygga snaps med ”snapcraft” (http://snapcraft.io/) och installera dessa som snaps från en lokal fil.
Är det nu en bra idé att använda snaps för QGIS?
Det är jag inte så säker på. Snaps är ganska snabba, men de körs inbäddade i det befintliga operativsystemet, vilket sannolikt är negativt för prestanda. Men att det körs inbäddat är även en säkerhetsfunktion, då det går att begränsa vilken access programmet får till exempelvis filsystemet i övrigt. Att avinstallera är också väldigt enkelt. Allt man behöver göra är att ta bort snaps-filen (eller kommandot snap remove …).
När är det då bra att köra snaps?
För att testa ett program så kan det vara ett bra sätt att komma igång. Vill man även köra olika versioner av ett program, exempelvis QGIS LTR samtidigt med senaste QGIS Master, så skulle en Snap för QGIS Master vara en väldigt bra idé.
Då kör man, som mest, ”snap refresh qgis-master” (eller motsvarande) för att uppdatera paketet, sedan är det bara att köra programmet, med alla beroenden inbakade!
Att prova göra en egen snap är busenkelt (för Ubuntu: https://developer.ubuntu.com/en/snappy/build-apps/your-first-snap/). Det är när man skall baka in massor av beroenden som det blir lite mera komplicerat. Att bygga en snap för QGIS är därför inte något jag tänker ge mig på.
it seems that snap is not so good as it is presented:
https://www.happyassassin.net/2016/06/16/on-snappy-and-flatpak-business-as-usual-in-the-canonical-propaganda-department/