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:
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.
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.
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.
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.
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.
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