Snap su Ubuntu: come rimuovere tutte le versioni obsolete in un solo comando

Ogni aggiornamento snap lascia una copia della versione precedente sul disco. Con il tempo, queste revisioni disabilitate si accumulano e rubano spazio prezioso. Ecco come liberarsene in pochi secondi e come evitare che il problema si ripresenti.

Se usi Snap su Ubuntu da poco, probabilmente non ti sei mai chiesto cosa succede alle vecchie versioni degli snap dopo un aggiornamento. La risposta è semplice: restano lì, sul disco, etichettate come “disabilitate”. Snap le conserva come meccanismo di rollback, nel caso qualcosa vada storto con la versione più recente.

L’idea di fondo non è sbagliata. Ma il comportamento predefinito di snapd prevede di mantenere fino a tre revisioni per ogni pacchetto. Moltiplica questo numero per tutti gli snap installati e il conto sale in fretta.

Per verificare la situazione sul tuo sistema, apri un terminale e lancia:

snap list --all

Non serve sudo per la sola consultazione. Nella colonna “Note” vedrai la dicitura disabilitato (o disabled se il tuo sistema è in inglese) accanto alle revisioni che non sono più in uso. Nel mio caso ne ho trovate 17: browser, runtime, librerie GNOME, perfino lo store stesso. Tutte copie inutili che occupavano spazio senza alcun beneficio reale.

La soluzione: un comando per rimuoverle tutte

La documentazione ufficiale di Snapcraft suggerisce di rimuovere le singole revisioni con snap remove --revision, specificando nome e numero di revisione uno per uno. Funziona, ma se hai una dozzina di revisioni da eliminare diventa un lavoro noioso e ripetitivo.

Si puo fare molto meglio con una sola riga:

sudo snap list --all | awk '/disabilitato/{print $1, $3}' | while read name rev; do sudo snap remove "$name" --revision="$rev"; done

Se il tuo sistema e in inglese, sostituisci “disabilitato" con “disabled".

Come funziona, passo per passo

Il comando e composto da tre parti collegate tra loro con il pipe (|):

  1. sudo snap list --all elenca tutti gli snap installati, comprese le revisioni non attive.
  2. awk '/disabilitato/{print $1, $3}' filtra solo le righe che contengono la parola “disabilitato” e ne estrae il primo campo (il nome dello snap) e il terzo (il numero di revisione).
  3. while read name rev; do sudo snap remove "$name" --revision="$rev"; done legge ogni coppia nome-revisione e la passa al comando di rimozione.

Il risultato è che tutte le revisioni disabilitate vengono rimosse in sequenza, senza toccare quelle attive. Nessun rischio per il sistema, nessuna applicazione che smette di funzionare.

Prevenire: ridurre le revisioni conservate

Una volta ripulito il sistema, vale la pena intervenire anche sulla causa del problema. Snapd permette di configurare il numero massimo di revisioni da mantenere. Il minimo consentito è 2 (la versione attiva piu una di rollback):

sudo snap set system refresh.retain=2

Con questa impostazione, dopo ogni aggiornamento il sistema conservera al massimo due revisioni per snap. Addio accumuli silenziosi.

Verifica

Dopo aver eseguito la pulizia, un nuovo snap list --all dovrebbe mostrare solo le versioni attive, senza alcuna riga con la dicitura “disabilitato”. Nel mio caso sono passato da 44 voci a 27, eliminando tutte e 17 le revisioni obsolete.

Conclusione

La gestione dello spazio disco è uno di quei compiti che non noti finche non ti ritrovi con il sistema appesantito senza motivo apparente. Snap fà molte cose bene, ma la politica di conservazione predefinita è troppo generosa per la maggior parte degli utenti. Due revisioni sono sufficienti per garantire un rollback sicuro, tutto il resto è zavorra.

Un singolo comando per la pulizia, una riga di configurazione per rimuovere tutte le versioni obsolete. A volte la manutenzione del sistema è davvero semplice e veloce.

Fonti e Riferimenti

emanuelegori
emanuelegori

Emanuele Gori scrive di software libero, privacy digitale e self-hosting.
Homelab Notes nasce dalla convinzione che la tecnologia debba servire chi la usa, non chi la vende. Qui trovi guide pratiche e analisi per riprendere il controllo della tua vita digitale, un servizio alla volta.
Sul Fediverso come nella vita: senza algoritmi di mezzo.
Quando non scrive, è online nel Fediverso con spirito indipendente e tanta voglia di condividere conoscenza.

Un commento

  1. @emanuelegori fatto, grazie! Ne avevo 19!!!

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Leave the field below empty!