Negli ultimi anni, la comunità Linux è stata benedetta con alcuni straordinari progressi nel campo della gestione dei pacchetti nei sistemi Linux, soprattutto quando si tratta di software di packaging universale o cross-distribution e distribuzione. Uno di tali progressi è il formato di pacchetto Snap sviluppato da Canonical, i creatori del popolare Ubuntu Linux.
Cosa sono i pacchetti Snap?
Snaps sono applicazioni cross-distribution, prive di dipendenze e facili da installare, racchiuse con tutte le loro dipendenze per funzionare su tutte le principali distribuzioni Linux. Da un singolo build, uno snap (applicazione) funzionerà 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 sandboxati in modo che non compromettano l’intero sistema. Girano sotto diversi livelli di confinamento (che è il grado di isolamento dal sistema base e l’uno dall’altro). Più notevolmente, ogni snap ha un’interfaccia accuratamente selezionata dal creatore dello snap, in base alle esigenze dello snap, per fornire accesso a specifici risorse del sistema al di fuori del loro confinamento come accesso a rete, accesso al desktop e altro ancora.
Un altro concetto importante nell’ecosistema snap sono i Canali. Un canale determina quale versione di un snap è installata e tracciata per gli aggiornamenti e consiste di, ed è suddiviso in, tracce, livelli di rischio e rami.
I principali componenti del sistema di gestione dei pacchetti snap sono:
- snapd – il servizio di background che gestisce e mantiene i tuoi snaps su un sistema Linux.
- snap – sia il formato del pacchetto dell’applicazione che lo strumento dell’interfaccia a riga di comando utilizzato per installare e rimuovere gli snaps e fare molte altre cose nell’ecosistema snap.
- snapcraft – il framework e potente strumento a riga di comando per la costruzione di snaps.
- negozio snap – un luogo dove gli sviluppatori possono condividere i loro snaps e gli utenti Linux cercarli e installarli.
Inoltre, gli snaps 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 degli aggiornamenti è chiamato aggiornamento. Puoi anche avviare manualmente un aggiornamento.
Come installare Snapd in Linux
Come descritto sopra, il demone snapd è il servizio di background che gestisce e mantiene il tuo ambiente snap su un sistema Linux, implementando le politiche di confinamento e controllando le interfacce che consentono agli snaps di accedere a risorse specifiche del sistema. Fornisce anche il comando snap e svolge molti altri scopi.
Per installare il pacchetto snapd sul tuo sistema, esegui il comando appropriato per la tua distribuzione Linux.
------------ [On Debian and Ubuntu] ------------ $ sudo apt update $ sudo apt install snapd ------------ [On Fedora Linux] ------------ # dnf install snapd ------------ [On CentOS and RHEL] ------------ # yum install epel-release # yum install snapd ------------ [On openSUSE - replace openSUSE_Leap_15.0 with the version] ------------ $ 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 ------------ [On Manjaro Linux] ------------ # pacman -S snapd ------------ [On Arch Linux] ------------ # git clone https://aur.archlinux.org/snapd.git # cd snapd # makepkg -si
Dopo aver installato snapd sul tuo sistema, abilita l’unità systemd che gestisce il socket di comunicazione principale di snap, utilizzando i comandi systemctl come segue.
Su Ubuntu e le sue derivate, questo dovrebbe essere attivato automaticamente dall’installatore del pacchetto.
$ sudo systemctl enable --now snapd.socket
Nota che non puoi eseguire il comando snap se il snapd.socket non è in esecuzione. Esegui i seguenti comandi per verificare se è attivo e abilitato per l’avvio automatico del sistema.
$ sudo systemctl is-active snapd.socket $ sudo systemctl status snapd.socket $ sudo systemctl is-enabled snapd.socket

Successivamente, abilita il supporto snap classico creando un collegamento simbolico tra /var/lib/snapd/snap e /snap come segue.
$ sudo ln -s /var/lib/snapd/snap /snap
Per verificare la versione di snapd e dello strumento a riga di comando snap installato sul tuo sistema, esegui il seguente comando.
$ snap version

Come Installare Snaps in Linux
Il comando snap ti permette di installare, configurare, aggiornare e rimuovere snaps, e interagire con l’ampio ecosistema snap.
Prima di installare uno snap, puoi verificare se esiste nello snap store. Ad esempio, se l’applicazione appartiene alla categoria dei “chat server” o dei “lettori multimediali“, 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, ad 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, ad esempio, rocketchat-server, esegui il seguente comando. Se non vengono fornite opzioni, uno snap viene installato seguendo il canale “stable“, con un rigido confinamento della sicurezza.
$ sudo snap install rocketchat-server

Puoi scegliere di installare da un canale diverso: edge, beta, o candidate, per un motivo o per un altro, utilizzando le opzioni --edge
, --beta
, o --candidate
rispettivamente. Oppure utilizza l’opzione --channel
e specifica il canale da cui desideri installare.
$ sudo snap install --edge rocketchat-server $ sudo snap install --beta rocketchat-server $ sudo snap install --candidate rocketchat-server
Gestire gli Snaps in Linux
In questa sezione, impareremo come gestire gli snaps nel sistema Linux.
Visualizzazione degli Snaps Installati
Per visualizzare un riepilogo degli snaps installati sul tuo sistema, utilizza il seguente comando.
$ snap list

Per elencare la revisione attuale di un snap in uso, specifica il suo nome. Puoi anche elencare tutte le sue revisioni disponibili aggiungendo l’opzione --all
.
$ snap list mailspring OR $ snap list --all mailspring

Aggiornamento e ripristino degli snap
Puoi aggiornare uno snap specificato, o tutti gli snap nel sistema se nessuno è specificato come segue. Il comando refresh controlla il canale tracciato dallo snap e scarica e installa una versione più recente dello snap se disponibile.
$ sudo snap refresh mailspring OR $ sudo snap refresh #update all snaps on the local system

Dopo aver aggiornato un’applicazione a una nuova versione, puoi ripristinare una versione precedentemente utilizzata usando il comando revert. Nota che i dati associati al software saranno anch’essi ripristinati.
$ sudo snap revert mailspring

Ora quando controlli tutte le revisioni di mailspring, l’ultima revisione è disattivata, una revisione precedentemente utilizzata è ora attiva.
$ snap list --all mailspring

Disabilitazione/Abilitazione e Rimozione degli snap
Puoi disabilitare uno snap se non vuoi usarlo. Quando disabilitato, i binari e i servizi di uno snap non saranno più disponibili, tuttavia, tutti i dati rimarranno.
$ sudo snap disable mailspring
Se hai bisogno di utilizzare nuovamente lo snap, puoi abilitarlo nuovamente.
$ sudo snap enable mailspring
Per rimuovere completamente uno snap dal tuo sistema, utilizza il comando remove. Per impostazione predefinita, tutte le revisioni di uno snap vengono rimosse.
$ sudo snap remove mailspring
Per rimuovere una revisione specifica, utilizza l’opzione --revision
come segue.
$ sudo snap remove --revision=482 mailspring
È importante notare che quando si rimuove uno snapper, i suoi dati (come utente interno, sistema e dati di configurazione) vengono salvati da snapd (versione 2.39 e successiva) come uno snapshot e archiviati sul sistema per 31 giorni. Nel caso in cui si reinstalli lo snap entro i 31 giorni, è possibile ripristinare i dati.
Conclusioni
Snaps stanno diventando sempre più popolari all’interno della comunità Linux in quanto forniscono un modo facile per installare software su qualsiasi distribuzione Linux. In questa guida, abbiamo mostrato come installare e lavorare con gli snaps in Linux. Abbiamo coperto come installare snapd, installare snaps, vedere gli snaps installati, aggiornare e ripristinare gli snaps e disattivare/attivare e rimuovere gli snaps.
È possibile fare domande o contattarci tramite il modulo di feedback qui sotto. Nella prossima parte di questa guida, tratteremo il gestione degli snaps (comandi, alias, servizi e snapshot) in Linux</diy