Ricerca nel sito web

Una guida per principianti agli snap in Linux - Parte 1


Negli ultimi anni, la comunità Linux è stata benedetta con alcuni notevoli progressi nell'area della gestione dei pacchetti sui sistemi Linux, soprattutto quando si tratta di confezionamento e distribuzione di software universale o a distribuzione incrociata. Uno di questi progressi è il formato del pacchetto Snap sviluppato da Canonical, i creatori del popolare Ubuntu Linux.

Cosa sono i pacchetti Snap?

Gli Snap sono applicazioni a distribuzione incrociata, prive di dipendenze e facili da installare, complete di tutte le relative dipendenze per essere eseguite 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.

Gli snap sono sicuri: sono confinati e sandbox in modo da non compromettere l'intero sistema. Funzionano a diversi livelli di confinamento (che è il grado di isolamento dal sistema di base e tra loro). Più in particolare, ogni snap ha un'interfaccia accuratamente selezionata dal creatore dello snap, in base ai requisiti dello snap, per fornire accesso a risorse di sistema specifiche al di fuori dei loro confini come l'accesso alla rete, l'accesso al desktop e altro ancora.

Un altro concetto importante nell'ecosistema snap sono i Canali. Un canale determina quale versione di uno snap viene installata e monitorata per gli aggiornamenti ed è composta ed è suddivisa in 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 i tuoi snap su un sistema Linux.
  • snap: sia il formato del pacchetto dell'applicazione che lo strumento dell'interfaccia della riga di comando utilizzato per installare e rimuovere gli snap e fare molte altre cose nell'ecosistema degli snap.
  • snapcraft: il framework e il potente strumento da riga di comando per creare snap.
  • snap store: un luogo in cui gli sviluppatori possono condividere i propri snap e gli utenti Linux cercarli e installarli.

Inoltre, anche gli snap si aggiornano automaticamente. È possibile configurare quando e come si verificano gli aggiornamenti. Per impostazione predefinita, il demone snapd controlla la presenza di aggiornamenti fino a quattro volte al giorno: ogni controllo degli aggiornamenti è chiamato refresh. È inoltre possibile avviare manualmente un aggiornamento.

Come installare Snapd su Linux

Come descritto sopra, il demone snapd è il servizio in background che gestisce e mantiene l'ambiente snap su un sistema Linux, implementando le politiche di confinamento e controllando le interfacce che consentono agli snap di accedere a risorse di sistema specifiche. Fornisce inoltre il comando snap e serve a 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 la presa di comunicazione principale snap, utilizzando i comandi systemctl come segue.

Su Ubuntu e sui suoi derivati, questo dovrebbe essere attivato automaticamente dal programma di installazione del pacchetto.

sudo systemctl enable --now snapd.socket

Tieni presente che non puoi eseguire il comando snap se snapd.socket non è in esecuzione. Esegui i seguenti comandi per verificare se è attivo ed è abilitato per l'avvio automatico all'avvio del sistema.

sudo systemctl is-active snapd.socket
sudo systemctl status snapd.socket
sudo systemctl is-enabled snapd.socket

Successivamente, abilita il supporto classic snap 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 da riga di comando snap installato sul tuo sistema, esegui il comando seguente.

snap version 

Come installare gli snap in Linux

Il comando snap ti consente di installare, configurare, aggiornare e rimuovere gli snap e interagire con l'ecosistema di snap più ampio.

Prima di installare uno snap, puoi verificare se esiste nello snap store. Ad esempio, se l'applicazione appartiene alla categoria "server di chat" o "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. Tieni presente che i nomi vengono cercati sia nell'archivio degli snap 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 viene fornita alcuna opzione, viene installato uno snap che traccia il canale "stabile", con rigidi limiti di sicurezza.

sudo snap install rocketchat-server

Puoi scegliere di installare da un canale diverso: edge, beta o candidate, per un motivo o per l'altro, utilizzando il --edge, --beta o --candidate rispettivamente. Oppure usa 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

Gestisci gli snap in Linux

In questa sezione impareremo come gestire gli snap nel sistema Linux.

Visualizzazione degli snap installati

Per visualizzare un riepilogo degli snap installati sul tuo sistema, utilizza il seguente comando.

snap list

Per elencare la revisione corrente di uno snap in uso, specificarne il nome. Puoi anche elencare tutte le revisioni disponibili aggiungendo l'opzione --all.

snap list mailspring
OR
snap list --all mailspring

Aggiornamento e ripristino degli snap

È possibile aggiornare uno snap specificato o tutti gli snap nel sistema se non ne viene specificato nessuno come segue. Il comando aggiorna 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'app a una nuova versione, puoi ripristinare una versione utilizzata in precedenza utilizzando il comando ripristina. Tieni presente che verranno ripristinati anche i dati associati al software.

sudo snap revert mailspring

Ora quando controlli tutte le revisioni di mailspring, l'ultima revisione è disabilitata, una revisione utilizzata in precedenza è ora attiva.

snap list --all mailspring

Disabilitare/abilitare e rimuovere gli snap

Puoi disattivare uno snap se non vuoi utilizzarlo. Una volta disabilitati, i file binari e i servizi di Snap non saranno più disponibili, tuttavia tutti i dati saranno ancora presenti.

sudo snap disable mailspring

Se hai bisogno di utilizzare nuovamente lo snap, puoi attivarlo nuovamente.

sudo snap enable mailspring

Per rimuovere completamente uno snap dal tuo sistema, utilizza il comando rimuovi. 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

È fondamentale notare che quando rimuovi uno snap, i suoi dati (come dati interni sull'utente, di sistema e di configurazione) vengono salvati da snapd (versione 2.39 e successive) come istantanea e archiviata nel sistema per 31 giorni. Se reinstalli lo snap entro 31 giorni, puoi 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 utilizzare gli snap in Linux. Abbiamo spiegato come installare snapd, installare gli snap, visualizzare gli snap installati, aggiornare e ripristinare gli snap e disabilitare/abilitare e rimuovere gli snap.

Puoi porre domande o contattarci tramite il modulo di feedback riportato di seguito. Nella parte successiva di questa guida, tratteremo la gestione degli snap (comandi, alias, servizi e istantanee) in Linux.