GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo limpiar las versiones de Snap Package en Linux [Consejo rápido]

Los paquetes Snap no son los favoritos de todos, pero son una parte integral del ecosistema de Ubuntu.

Tiene sus pros y sus contras. Uno de los aspectos negativos es que los paquetes Snap suelen ser más grandes y ocupan mucho espacio en disco.

Esto podría ser un problema si se está quedando sin espacio en disco, especialmente en la partición raíz.

Permíteme compartir un buen truco que podrías usar para reducir el espacio en disco que usan los paquetes Snap.

Limpieza de versiones antiguas de paquetes Snap para liberar espacio en disco

Los archivos del sistema relacionados con snap se almacenan en el directorio /var/lib/snapd. Según la cantidad de paquetes Snap que haya instalado, el tamaño de este directorio podría ser de varios GB.

No solo confíe en mi palabra. Haga una evaluación usando el comando du para verificar el tamaño del directorio.

[email protected]:~$ sudo du -sh /var/lib/snapd
5.4G	/var/lib/snapd

También puede usar la herramienta GUI del Analizador de uso del disco para ver el uso del disco en Ubuntu.

Eso es mucho, ¿verdad? Podrías liberar algo de espacio en disco aquí.

Por diseño, Snap mantiene al menos una versión anterior de los paquetes que ha instalado en su sistema.

Puede ver este comportamiento usando el comando Ajustar:

snap list --all

Debería ver el mismo paquete listado dos veces con diferente versión y número de revisión.

Para liberar espacio en disco, puede eliminar las versiones de paquetes adicionales. ¿Cómo saber cuál eliminar? Puede ver que estos paquetes más antiguos están etiquetados como "deshabilitados".

No te preocupes. No tienes que hacerlo manualmente. Hay una especie de forma automática de hacerlo gracias a un ingenioso guión bash escrito por Alan Pope mientras trabajaba en el equipo de Snapcraft.

Espero que sepas cómo crear y ejecutar un script bash shell. Básicamente, cree un nuevo archivo llamado clean-snap.sh y agréguele las siguientes líneas.

#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
snap list --all | awk '/disabled/{print $1, $3}' |
    while read snapname revision; do
        snap remove "$snapname" --revision="$revision"
    done

Guárdelo y cierre el editor.

Para ejecutar este script, guárdelo en su directorio de inicio y luego abra la terminal en Ubuntu y ejecute este comando:

sudo bash clean-snap.sh

Puede ver que comienza a eliminar la versión anterior de los paquetes.

Si verifica el espacio en disco utilizado por Snap ahora, verá que el tamaño del directorio se reduce ahora.

[email protected]:~$ sudo du -sh /var/lib/snapd
3.9G	/var/lib/snapd

Si esto funciona para usted, puede ejecutar este comando de vez en cuando.

¿Cómo funciona este script?

Si tiene curiosidad acerca de lo que hace este script, déjeme explicarlo.

Ya ha visto el resultado del comando "snap list –all". Su salida se pasa al comando awk. Awk es una poderosa herramienta de secuencias de comandos.

La parte awk ‘/disabled/{print $1, $3}’ busca la cadena ‘disabled’ en cada fila y, si la encuentra, extrae la primera y la tercera columna.

Esta salida se pasa además a una combinación de comando while y read. El comando de lectura obtiene el valor de la primera columna snapname y la tercera columna a la variable de revisión.

Estas variables luego se usan para ejecutar el comando de eliminación instantánea para eliminar con el nombre del paquete de extensión y su número de revisión.

El bucle while se ejecuta siempre que se encuentren filas con una cadena "deshabilitada".

Todo esto tiene sentido fácilmente si sabe un poco sobre secuencias de comandos de shell. Si no está familiarizado, tenemos una serie de tutoriales de bash para principiantes para usted.

¿Recuperaste tus GB?

Es posible que vea algunos foros que aconsejan configurar el valor de retención del paquete Snap en 2.

sudo snap set system refresh.retain=2

No creo que sea necesario más. El comportamiento predeterminado de Snap ahora es almacenar un total de 2 versiones para cualquier paquete.

En total, si se está quedando sin espacio, deshacerse de la versión del paquete adicional seguramente podría ser una de las formas de liberar espacio en disco en Ubuntu.

Si este tutorial te ayudó a liberar espacio, házmelo saber en la sección de comentarios.

Artículo Original


Linux
  1. Cómo particionar un disco en Linux

  2. Cómo instalar y usar Snap Package Manager en Alma Linux 8

  3. Cómo crear un paquete RPM de Linux

  4. Cómo instalar XML::LibXML en Ubuntu Linux [Consejo rápido]

  5. Linux:¿cómo minimizar el uso del espacio en disco?

Cómo usar archivos RAR en Ubuntu Linux [Consejo rápido]

Cómo agregar un directorio a PATH en Linux [Consejo rápido]

¿Cómo limpiar algo de espacio en disco en una instancia de Linux?

Cómo cifrar la partición en Linux

Cómo instalar Snap Package Manager en Rocky Linux 8

Cómo instalar Snap Package Manager en distribuciones de Linux