Negli ultimi anni, la comunità Linux è stata benedetta con alcuni notevoli progressi nell’area della gestione dei pacchetti sui sistemi Linux, specialmente quando si tratta di pacchettizzazione e distribuzione universale o cross-distribuzione del software. Uno di questi progressi è il formato di pacchetto Snap sviluppato da Canonical, i creatori del popolare Ubuntu Linux.
Cosa sono i pacchetti Snap?
Snaps sono applicazioni cross-distribuzione, senza dipendenze e facili da installare, confezionate con tutte le loro dipendenze per funzionare su tutte le principali distribuzioni Linux. Da una singola build, uno snap (applicazione) verrà eseguito su tutte le distribuzioni Linux supportate su desktop, nel cloud, e IoT. Le distribuzioni supportate includono Ubuntu, Debian, Fedora, Arch Linux, Manjaro, e CentOS/RHEL.
Snaps sono sicuri – sono confinati e sandboxed in modo che non compromettano l’intero sistema. Funzionano sotto diversi livelli di confinamento (che è il grado di isolamento dal sistema di base e dagli altri). Più in particolare, ogni snap ha un’interfaccia accuratamente selezionata dal creatore dello snap, basata sui requisiti dello snap, per fornire l’accesso a specifiche risorse di sistema al di fuori del loro confinamento, come l’accesso alla rete, l’accesso al desktop, e altro ancora.
Un altro concetto importante nell’ecosistema snap è Canali. Un canale determina quale release di uno snap è installata e tracciata per gli aggiornamenti e consiste di, ed è suddiviso da, tracce, livelli di rischio e rami.
I componenti principali del sistema di gestione dei pacchetti snap sono:
- snapd – il servizio in background che gestisce e mantiene gli snap su un sistema Linux.
- snap – sia il formato del pacchetto applicativo che lo strumento di interfaccia a riga di comando usato per installare e rimuovere gli snap e fare molte altre cose nell’ecosistema snap.
- snapcraft – il framework e il potente strumento a riga di comando per costruire gli snap.
- snap store – un posto dove gli sviluppatori possono condividere i loro snap e gli utenti Linux cercarli e installarli.
Inoltre, gli snap si aggiornano automaticamente. Puoi configurare quando e come avvengono gli aggiornamenti. Per impostazione predefinita, il demone snapd controlla gli aggiornamenti fino a quattro volte al giorno: ogni controllo di aggiornamento è chiamato un refresh. Puoi anche avviare manualmente un aggiornamento.
Come installare Snapd in Linux
Come descritto sopra, il demone snapd è il servizio in background che gestisce e mantiene il tuo ambiente snap su un sistema Linux, implementando le politiche di confinamento e controllando le interfacce che permettono agli snap di accedere a specifiche risorse di sistema. Fornisce anche il comando snap e serve molti altri scopi.
Per installare il pacchetto snapd sul vostro sistema, eseguite il comando appropriato per la vostra distribuzione Linux.
------------ ------------ $ sudo apt update $ sudo apt install snapd------------ ------------# dnf install snapd------------ ------------# yum install epel-release # yum install snapd------------ ------------$ sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy$ sudo zypper --gpg-auto-import-keys refresh$ sudo zypper dup --from snappy$ sudo zypper install snapd------------ ------------# pacman -S snapd------------ ------------# git clone https://aur.archlinux.org/snapd.git# cd snapd# makepkg -si
Dopo aver installato snapd sul vostro sistema, abilitate l’unità systemd che gestisce il socket principale di comunicazione snap, usando i comandi systemctl come segue.
Su Ubuntu e le sue derivate, questo dovrebbe essere attivato automaticamente dal programma di installazione dei pacchetti.
$ sudo systemctl enable --now snapd.socket
Nota che non puoi eseguire il comando snap se il socket snapd.socket non è in esecuzione. Esegui i seguenti comandi per controllare se è attivo ed è abilitato ad avviarsi automaticamente all’avvio del sistema.
$ sudo systemctl is-active snapd.socket$ sudo systemctl status snapd.socket$ sudo systemctl is-enabled snapd.socket
In seguito, abilita il supporto classico di snap creando un link simbolico tra /var/lib/snapd/snap e /snap come segue.
$ sudo ln -s /var/lib/snapd/snap /snap
Per controllare la versione di snapd e dello strumento a riga di comando snap installato sul tuo sistema, esegui il seguente comando.
$ snap version
Come installare gli snap in Linux
Il comando snap ti permette di installare, configurare, aggiornare e rimuovere gli snap, e interagire con il più ampio ecosistema snap.
Prima di installare uno snap, puoi controllare se esiste nello snap store. Per esempio, se l’applicazione appartiene alla categoria “chat server” o “media player”, puoi eseguire questi comandi per cercarla, che interrogheranno lo store per i pacchetti disponibili nel canale stabile.
$ snap find "chat servers"$ snap find "media players"
Per mostrare informazioni dettagliate su uno snap, per esempio, rocketchat-server, puoi specificarne il nome o il percorso. Nota che i nomi vengono cercati sia nello snap store che negli snap installati.
$ snap info rocketchat-server
Per installare uno snap sul tuo sistema, per esempio, rocketchat-server, esegui il seguente comando. Se non vengono fornite opzioni, uno snap viene installato tracciando il canale “stabile”, con uno stretto confinamento di sicurezza.
$ sudo snap install rocketchat-server
Puoi scegliere di installare da un canale diverso: edge, beta, o candidate, per una ragione o l’altra, usando rispettivamente le opzioni --edge
, --beta
, o --candidate
. Oppure usa l’opzione --channel
e specifica il canale da cui vuoi installare.
$ sudo snap install --edge rocketchat-server $ sudo snap install --beta rocketchat-server$ sudo snap install --candidate rocketchat-server
Gestire gli snap in Linux
In questa sezione, impareremo come gestire gli snap nel sistema Linux.
Visualizzare gli snap installati
Per visualizzare un riassunto degli snap installati sul tuo sistema, usa il seguente comando.
$ snap list
Per elencare la revisione corrente di uno snap in uso, specifica il suo nome. Puoi anche elencare tutte le revisioni disponibili aggiungendo l’opzione --all
.
$ snap list mailspringOR$ snap list --all mailspring
Aggiornamento e ripristino degli snap
Puoi aggiornare uno snap specificato, o tutti gli snap nel sistema se non sono specificati, come segue. Il comando refresh controlla il canale monitorato dallo snap e scarica e installa una versione più recente dello snap se è disponibile.
$ sudo snap refresh mailspringOR$ sudo snap refresh#update all snaps on the local system
Dopo aver aggiornato un’applicazione a una nuova versione, puoi tornare a una versione usata in precedenza usando il comando revert. Nota che anche i dati associati al software saranno ripristinati.
$ sudo snap revert mailspring
Ora quando controlli tutte le revisioni di mailspring, l’ultima revisione è disabilitata, una revisione usata in precedenza è ora attiva.
$ snap list --all mailspring
Disabilitazione/abilitazione e rimozione degli snap
Puoi disabilitare uno snap se non lo vuoi usare. Quando disabilitato, i binari e i servizi di uno snap non saranno più disponibili, tuttavia, tutti i dati saranno ancora lì.
$ sudo snap disable mailspring
Se hai bisogno di usare di nuovo lo snap, puoi abilitarlo nuovamente.
$ sudo snap enable mailspring
Per rimuovere completamente uno snap dal tuo sistema, usa il comando remove. Per default, tutte le revisioni di uno snap vengono rimosse.
$ sudo snap remove mailspring
Per rimuovere una revisione specifica, usa l’opzione --revision
come segue.
$ sudo snap remove --revision=482 mailspring
È fondamentale notare che quando rimuovi uno snap, i suoi dati (come i dati interni di utente, sistema e configurazione) vengono salvati da snapd (versione 2.39 e superiore) come snapshot, e memorizzati sul sistema per 31 giorni. Nel caso in cui si reinstalli lo snap entro i 31 giorni, è possibile ripristinare i dati.
Conclusione
Gli snap stanno diventando sempre più popolari all’interno della comunità Linux poiché forniscono un modo semplice per installare software su qualsiasi distribuzione Linux. In questa guida, abbiamo mostrato come installare e lavorare con gli snap in Linux. Abbiamo coperto come installare snapd, installare gli snap, visualizzare gli snap installati, aggiornare e ripristinare gli snap, e disabilitare/abilitare e rimuovere gli snap.
Puoi fare domande o raggiungerci attraverso il modulo di feedback qui sotto. Nella prossima parte di questa guida, tratteremo la gestione degli snap (comandi, alias, servizi e istantanee) in Linux.
.