Recientemente estaba usando Disk Usage Analyzer para ver si podía liberar algo de espacio en mi escritorio Ubuntu 18.10 cuando noté el /var/lib/snapd/snaps/
La carpeta era bastante grande.
Mientras investigaba cómo liberar espacio / borrar la memoria caché instantánea /var/lib/snapd/snaps/
Carpeta sin eliminar los paquetes instantáneos que instalé, descubrí que después de las actualizaciones de los paquetes instantáneos, el sistema guarda 3 versiones instantáneas de forma predeterminada. Eso significa que por cada paquete Snap que instalé con al menos 2 actualizaciones, tenía 3 revisiones guardadas en mi sistema que ocupaban bastante espacio en disco.
Hay una opción Ajustar (de Snapd versión 2.34), llamado refresh.retain
, para establecer el número máximo de revisiones instantáneas guardadas por el sistema después de la próxima actualización, que se establecen en un número entre 2 y 20. se puede ajustar . Puede cambiar esto del valor predeterminado 3 a 2 usando:
sudo snap set system refresh.retain=2
Relacionado, pero para paquetes Flatpak:Cómo eliminar tiempos de ejecución de Flatpak no utilizados para liberar espacio
¿Pero qué sucede si desea eliminar todas las versiones de todos los paquetes instantáneos con actualizaciones en el sistema? Ese es un script creado por Popey, Community Manager en Ubuntu Engineering en Canonical para eliminar TODAS las versiones antiguas de Snaps y mantener solo la versión activa actual (actualizada con LANG=en_US.UTF-8
por lo que funciona con configuraciones regionales que no sean en inglés, gracias a William en los comentarios):
#!/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
El uso de este script debería liberar una cantidad significativa de espacio en el disco (según la cantidad de paquetes Snap instalados en su sistema y si alguna actualización ha estado disponible para ellos desde que se instalaron). En mi caso el script es del tamaño del /var/lib/snapd/snaps/
Carpeta en más del 50%.
Actualización:parece que este script solo funciona en inglés. Para otros idiomas, debe reemplazar /disabled/
al mando con su traducción a tu idioma.
Para usar este script, cree un archivo llamado remove-old-snaps
, pegue el contenido del bloque de código anterior, guarde el archivo en su directorio de inicio y hágalo ejecutable con:
chmod +x remove-old-snaps
Ejecute el script con sudo
para eliminar revisiones antiguas de instantáneas (asegúrese de cerrar todas las instantáneas en ejecución antes de ejecutar el script):
sudo ./remove-old-snaps
Este es el script que se ejecuta en mi sistema y elimina las revisiones antiguas del paquete 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