Di recente stavo usando Disk Usage Analyzer per vedere se potevo liberare spazio sul mio desktop Ubuntu 18.10 quando ho notato il /var/lib/snapd/snaps/
La cartella era piuttosto grande.
Mentre stavo cercando come liberare spazio / svuotare la cache di snap /var/lib/snapd/snaps/
Cartella senza rimuovere i pacchetti snap che ho installato, ho scoperto che dopo gli aggiornamenti dei pacchetti snap, 3 versioni snap vengono salvate dal sistema per impostazione predefinita. Ciò significa che per ogni pacchetto Snap che ho installato con almeno 2 aggiornamenti, sul mio sistema sono state salvate 3 revisioni che hanno occupato un bel po' di spazio su disco.
C'è un'opzione Snap (da Snapd versione 2.34), chiamato refresh.retain
, per impostare il numero massimo di revisioni snap salvate dal sistema dopo il prossimo aggiornamento, che sono impostate su un numero compreso tra 2 e 20. possono essere regolate . Puoi cambiarlo dall'impostazione predefinita 3 a 2 utilizzando:
sudo snap set system refresh.retain=2
Correlato, ma per i pacchetti Flatpak:come rimuovere i runtime Flatpak inutilizzati per liberare spazio
E se volessi rimuovere tutte le versioni di tutti i pacchetti snap con aggiornamenti sul sistema? Questo è uno script creato da Popey, Community Manager presso Ubuntu Engineering presso Canonical per rimuovere TUTTE le vecchie versioni di Snap e mantenere solo la versione attiva corrente (aggiornata con LANG=en_US.UTF-8
quindi funziona con locali non inglesi, grazie a William nei commenti):
#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
snap remove "$snapname" --revision="$revision"
done
L'uso di questo script dovrebbe liberare spazio su disco significativo (a seconda del numero di pacchetti Snap installati sul sistema e della disponibilità di aggiornamenti da quando sono stati installati). Nel mio caso lo script ha la dimensione del /var/lib/snapd/snaps/
Cartella di oltre il 50%.
Aggiornamento:sembra che questo script funzioni solo con l'inglese. Per le altre lingue è necessario sostituire /disabled/
al comando con la sua traduzione nella tua lingua.
Per utilizzare questo script, crea un file chiamato remove-old-snaps
, incolla il contenuto dal blocco di codice sopra, salva il file nella tua home directory e rendilo eseguibile con:
chmod +x remove-old-snaps
Esegui lo script con sudo
per rimuovere le vecchie revisioni di snap (assicurati di chiudere tutti gli snap in esecuzione prima di eseguire lo script):
sudo ./remove-old-snaps
Questo è lo script che viene eseguito sul mio sistema e rimuove le vecchie revisioni del pacchetto Snap:
$ sudo ./remove-old-snaps
atom (revision 223) removed
atom (revision 222) removed
bitwarden (revision 15) removed
bitwarden (revision 16) removed
canonical-livepatch (revision 50) removed
canonical-livepatch (revision 54) removed
chromium (revision 607) removed
chromium (revision 660) removed
core (revision 6531) removed
core (revision 6405) removed
core18 (revision 719) removed
core18 (revision 731) removed
gallery-dl (revision 36) removed
gallery-dl (revision 167) removed
gimp (revision 110) removed
gimp (revision 113) removed