Gestione dei pacchetti Snap | Guida ai pacchetti Snaps

Gestione dei pacchetti Snap



Uno snap è un bundle di una o più applicazioni che funziona senza dipendenze o modifiche su molte diverse distribuzioni Linux. Gli snap sono rilevabili e installabili dallo Snap Store, un app store pubblico con un pubblico di milioni di persone.

Questo pagina presenta tutte le principali funzionalità di snap. Ti consigliamo di seguire i primi passaggi e poi di giocare con ciò che hai imparato. Torna quando ti sentirai a tuo agio e vorrai approfondire le tue conoscenze.

Alla fine della lettura e della messa in pratica delle informazioni di questa pagina, avrai una buona comprensione di come utilizzare gli snap, da come vengono installati e aggiornati, a come vengono sottoposti a backup e rimossi.

Vediamo gli argomenti di questa guida per gestire gli snap:


Requisiti


Gli snap possono essere installati e rimossi con un gestore di pacchetti grafico, come Ubuntu Software Centre, ma la maggior parte delle funzionalità avanzate è disponibile solo dalla shell dei comandi Linux.

La shell dei comandi è accessibile da Terminale e da molte applicazioni simili. È utile avere una certa familiarità con questo, ma se non ce l'hai, questo tour è di per sé un'introduzione ideale per iniziare.

Molte distribuzioni Linux, tra cui Ubuntu, supportano snap per impostazione predefinita. Puoi controllare eseguendo il comando snap. Se il comando snap non viene trovato, dai un'occhiata alla pagina Installare Snapd.


Elenco degli snap installati


Snap viene installato insieme ad altri snap e un buon punto di partenza è visualizzarli digitando nel terminale il comando:

snap list

Si avrà come risultato una schermata simile a questa:

$ snap list
Name             Version        Rev    Tracking         Publisher   Notes
core22           20231123       1033   latest/stable    canonical✓  base
firefox          120.0.1-1      3504   latest/stable    mozilla✓    -
snapd            2.60.4         20290  latest/stable    canonical✓  snapd

Versioni e revisioni, rispettivamente nelle colonne Version e Rev, trasmettono dettagli diversi su una specifica release di uno snap:

  • Version: la versione del software in fase di confezionamento, come assegnata dagli sviluppatori

  • Revision: il numero di sequenza assegnato dallo store quando è stato caricato il file snap

La Version: è un nome o un numero assegnato arbitrariamente a una release dai suoi sviluppatori, in base alle loro pratiche di sviluppo. Indica all'utente quale contenuto aspettarsi da uno snap. La Revision: è un numero automatico assegnato dallo store per dare a ogni release di snap un'identità univoca all'interno del canale in ogni architettura supportata dallo snap.


Trovare gli snap


Ci sono snap per molte applicazioni popolari, tra cui Spotify, Slack e il browser web Chromium.

Il modo migliore per trovare nuovi snap è usare lo Snap Store online, cercando app e parole che ti interessano, come "Spotify", "music" o "maths (matematica)", oppure sfogliando le categorie.

Per cercare snap con "media player" nei nomi o nelle descrizioni, digita nel terminale il comando:

snap find "media player"

Si avrà come risultato una schermata simile a questa:

$ snap find "media player"
Name  Version  Developer    Notes  Summary
vlc   3.0.4     videolan✓   -      The ultimate media player.

Il simbolo ✓ accanto a videolan nell'output soprastante indica che lo snap publisher è stato verificato. Gli snap publisher sono considerati affidabili per produrre e mantenere pacchetti di alta qualità e includono istituzioni, fondazioni e aziende.


Cerca gli snap per categoria


Digitando snap find senza argomenti verrà restituito un elenco di snap suggeriti e tali suggerimenti possono anche essere limitati a una categoria con un argomento aggiuntivo --section=. I seguenti nomi di sezione sono validi:


Maggiori informazioni su uno snap


Digitando nel terminale il comando:

snap info nome_snap

Si hanno maggiori dettagli su uno snap specifico. Questi dettagli includono cosa fa uno snap, chi lo pubblica, quali comandi fornisce.

La parte finale dell'output elenca i canali per lo snap, come per esempio in questo caso:

channels:
  latest/stable:    3.0.19                      2023-10-13 (3721) 336MB -
  latest/candidate: 3.0.19                      2023-10-02 (3721) 336MB -
  latest/beta:      3.0.20-27-g795b1bc62b       2023-12-13 (3862) 336MB -
  latest/edge:      4.0.0-dev-26928-g9bc7ded0f0 2023-12-13 (3863) 692MB -
installed:          3.0.19                                 (3721) 336MB -

I canali (channels) dichiarano quale release di uno snap è installata e monitorata per gli aggiornamenti. Il canale più recente/stabile (latest/stable) è utilizzato per impostazione predefinita, ma scegliere di installare da un canale diverso può essere utile per testare nuove funzionalità o per installare vecchie versioni legacy di un'applicazione. Quali snap vengono rilasciati su quali canali dipende interamente dall'editore dello snap.


Installare un pacchetto snap


Per installare un pacchetto snap digitare nel terminale il comando:

sudo snap install nome_snap

Per esempio per installare il pacchetto snap di vlc digitare nel terminale il comando:

sudo snap install vlc

Quando install viene eseguito per la prima volta, una o più dipendenze potrebbero essere installate automaticamente insieme allo snap richiesto. La velocità della tua rete determinerà la durata di questo processo. Le operazioni snap possono sempre essere annullate in sicurezza con ctrl+c e una delle migliori caratteristiche di snap è che un'operazione ha successo o viene ripristinata in modo pulito allo stato precedente.

Un canale può anche essere specificato facoltativamente con l'opzione channel:

sudo snap install --channel=edge vlc

Dopo l'installazione, è possibile modificare il canale monitorato per gli aggiornamenti con:

sudo snap switch --channel=stable vlc


Esegui app e comandi dallo snap


La stragrande maggioranza delle applicazioni installate tramite snap verrà eseguita come previsto, dalla riga di comando o dal launcher del desktop.

Se l'esecuzione diretta di un comando non funziona, utilizzare il comando snap run digitando per esempio per avviare lo snap di vlc il comando:

snap run vlc

I collegamenti alle applicazioni acquisite si trovano in /snap/bin, che viene aggiunto al $PATH di sistema.


Aggiorna gli snap installati


Per aggiornare manualmente tutti gli snap installati, usa il seguente comando:

sudo snap refresh

Il comando sopra controllerà se sono disponibili versioni più recenti degli snap installati, se sono presenti verranno scaricate e installate.

Gli snap vengono aggiornati automaticamente tuttti insieme. Tuttavia, per controllare manualmente gli aggiornamenti di un singolo snap, usa il seguente comando:

sudo snap refresh nome_snap

Quanto sopra controllerà il canale tracciato dallo snap. Se è disponibile una versione più recente dello snap, verrà scaricata e installata.

La modifica del canale tracciato e l'aggiornamento dello snap possono essere eseguiti con un singolo comando:

sudo snap refresh --channel=beta vlc

Gli aggiornamenti vengono installati automaticamente entro 6 ore da una revisione effettuata su un canale tracciato, mantenendo la maggior parte dei sistemi aggiornati. Questa pianificazione può essere regolata tramite opzioni di configurazione e disattivata con l'opzione --hold.


Sospendi o interrompi gli aggiornamenti automatici


Il comando snap refresh --hold sospende o posticipa gli aggiornamenti degli snap per singoli snap o per tutti gli snap del sistema, indefinitamente o per un periodo di tempo specificato.

snap refresh --hold=durata_stop snap1 snap2 ...

Le unità di durata del tempo possono essere secondi (s), minuti (m) o ore (h), o una combinazione di questi. Per posticipare gli aggiornamenti indefinitamente, è valido anche il valore di forever (per sempre).

$ snap refresh --hold=24h firefox
General refreshes of "firefox" held until 2023-10-26T14:10:53+01:00

Se non viene specificata alcuna durata, il periodo di attesa predefinito è per sempre.

Per maggiori dettagli, fare riferimento a Managing update di Canonical Snapcraft


Ripristinare una revisione precedente


Uno snap può essere riportato a una revisione precedente con il comando snap revert. Per impostazione predefinita, tenterà di tornare alla revisione precedente:

$ sudo snap revert vlc
vlc reverted to 3.0.5-1

L'argomento facoltativo --revision può essere specificato per richiedere una revisione specifica:

snap revert vlc --revision 500

Questa operazione ripristinerà sia la revisione dello snap che i dati di configurazione associati al software. Se la revisione dello snap utilizzata in precedenza proviene da un canale diverso, tale snap verrà installato ma il canale tracciato non cambierà.

I dati utente, come i dati generati dallo snap e archiviati in un database, vengono spesso archiviati in una directory comune e non verranno ripristinati.

Uno snap non verrà aggiornato automaticamente a una versione da cui è stato ripristinato in precedenza e l'output di snap refresh continuerà a indicare Tutti gli snap aggiornati. Uno snap ripristinato verrà aggiornato automaticamente quando una revisione nuova e diversa verrà resa disponibile dall'editore.

Tuttavia, aggiungendo esplicitamente il nome dello snap a snap refresh, lo snap verrà aggiornato, indipendentemente dal fatto che l'ultima revisione sia stata ripristinata in precedenza o meno:

$ snap list --all vlc
Name  Version  Rev  Tracking  Publisher  Notes
vlc   3.0.5-1  768  stable    videolan✓  -
vlc   3.0.6    770  stable    videolan✓  disabled
$ sudo snap refresh
All snaps up to date.
$ sudo snap refresh vlc
vlc 3.0.6 from VideoLAN✓ refreshed

Uno snap precedentemente utilizzato e da cui è stato eseguito il ripristino verrà visualizzato come disabilitato nella colonna Notes dell'output.


Rimuovere un pacchetto Snap


Per rimuovere uno snap dal tuo sistema, insieme ai suoi dati utente, di sistema e di configurazione interni, usa il comando remove. Per esempio per rimiìuovere lo snap di vlc digitare nel terminale:

sudo snap remove vlc

Si avrà come risultato una schermata simile a questa:

$ sudo snap remove vlc
vlc removed

Aggiungi l'opzione --no-wait per tornare immediatamente al prompt dei comandi ed eseguire la rimozione in background.

Per impostazione predefinita, vengono rimosse anche tutte le revisioni di uno snap. Per rimuovere una revisione specifica, aggiungi l'argomento --revision=numero_revisione al comando di rimozione.

Prima della rimozione (tranne sui sistemi Ubuntu Core), i dati interni di utente, sistema e configurazione di uno snap vengono salvati come snapshot (snapd 2.39+) e conservati per 31 giorni.

Per rimuovere uno snap senza generare uno snapshot, usa l'argomento aggiuntivo --purge:

$ sudo snap remove vlc --purge
vlc removed