//(Tutorial] Installazione e uso di Snap su Linux Mint 18.x

(Tutorial] Installazione e uso di Snap su Linux Mint 18.x

0 votes
Share on FacebookShare on Google+Tweet about this on TwitterEmail this to someonePrint this page

This post has already been read 237 times!

Pur essendo basata su Ubuntu 16.04 Linux Mint 18 non supporta il nuovo sistema di Package Snap in questo tutorial vedremo come installarlo.

Installazione di Snap su Linux Mint 18.x

Nota: Il tutorial è stato scritto utilizzando come banco di prova una Linux Mint 18.2 KDE ma è sicuramente valido per una qualsiasi versione Linux Mint 18.x.
Visto che partiamo da zero assicuriamoci di utilizzare l’ultima versione disponibile utilizzando un repository ppa esterno:

 

sudo add-apt-repository ppa:snappy-dev/edge -y

Ottimo adesso possiamo aggiornare il database di apt e installare il pacchetto

sudo apt-get update
sudo apt install snapd ubuntu-core-launcher

Uso di Snap su Linux Mint 18.x

Cerchiamo i pacchetti disponibili con:

snap find

La console ci mostra:

Name               Version      Developer     Notes    Summary
atom               1.18.0       snapcrafters  classic  A hackable text editor for the 21st Century.
kubectl            1.7.0        canonical     classic  kubectl controls the Kubernetes cluster manager.
heroku             6.12.7       dickeyxxx     -        Heroku CLI
corebird           1.5.1        diddledan     -        Corebird Twitter Client
rocketchat-server  0.57.2       rocketchat    -        Group chat server for 100s,  installed in seconds.
anbox-installer    1            morphis       classic  Installer for the Android in a Box runtime environment
nextcloud          11.0.3snap6  nextcloud     -        Nextcloud Server
lxd                2.15         canonical     -        System container manager and API
hiri               1.1.0.0      hiri          -        Hiri email client

Ho installato snap per provare Visual Studio Code, inspiegabilmente con il comando precedente non viene visualizzato ma è possibile installarlo ugualmente.

Installazione di un pacchetto

Come possiamo vedere ci sono due tipi di package e classic

I pacchetti con classic richiedono l’uso di un parametro aggiuntivo:,

sudo snap install --classic packagename

Per gli altri il parametro –classic non è necessario quindi basta un semplice:

sudo snap install -packagename

Visualizzare i pacchetti installati sul sistema

Utilizziamo il comando:

sudo snap list

Che restituisce un output simile al seguente:

Name    Version            Rev   Developer      Notes 
atom    1.18.0             9     snapcrafters   classic 
core    16-2.26.9          2381  canonical      core 
vscode  1.14.0-1499719149  13    flexiondotorg  classic

Rimuovere un pacchetto

Il comando è simile al precedente e quindi:

sudo snap remove packagename

Aggiornare un pacchetto

Ad oggi non esiste un comando utile per aggiornare tutti i pacchetti installati quindi dovremo aggiornarli uno a uno:

sudo snap refresh nomepacchetto

Ma cos’è Snap

Dalla serie prima il piacere  e poi il dovere, cerchiamo di capire cos’è Snap
La frammentazione dei pacchetti in Linux si sente in maniera molto pesante, abbiamo infatti apt per debian e derivate, rpm per redhat e derivate e molti altri ancora. Secondo molti sviluppatori e soprattutto molti “so tutto io e quindi critico tutto” la mole di distribuzioni e sopratutto di sistemi di packages ha portato Linux ad essere poco utilizzato nel desktop (senza tener però di conto che Lunux è uno degli S.O. più usati al mondo sopratutto in ambito server).
Si è cercato di correre ai ripari creando un package manager unificato.
In particolare, ogni pacchetto Snap è fornito oltre che dell’applicazione di tutte le dipendenze necessarie. Grazie a una sandbox (scatola di sabbia) le applicazioni Snap possono essere installate, aggiornate e rimosse senza compromettere l’integrità della distribuzione.
Le app Snap infatti vengono installate in una particolare directory all’interno della root (/snap). Secondo me questo sistema porta anche molti svantaggi, uccidendo di fatto il concetto di libreria condivisa. Nel mio sistema ho isstalalto infatti due applicazioni con Snap: atom (la versione di atom presente nei repository snap è più aggiornata) e vscode
La mia direcotry snap contiene 4 sotto direcotry:

totale 16
drwxr-xr-x 3 root root 4096 lug 19 14:11 atom
drwxr-xr-x 2 root root 4096 lug 19 14:15 bin
drwxr-xr-x 3 root root 4096 lug 19 14:07 core
drwxr-xr-x 3 root root 4096 lug 19 14:15 vscode

Le cartelle atom e vscode contengono oltre ai binari anche tutte le librerie utili, che magari sono le stesse installate nel sistema (spero che se a due app instalalte con Snap è necessaria la stessa libreria non venga installata due volte)
Non conoscendo snap prima di scrivere questa guida mi sono documentato, molti pensano che possa soppiantare apt e similari, personalmente lo vedo molto difficile.

Bibliografia: Chimera Revo