Búsqueda de sitios web

Cómo limpiar la caché de paquetes en Arch Linux


Esta guía explica qué es el script Paccache y cómo limpiar la caché de paquetes en Arch Linux y sus variantes, como EndeavourOS y Manjaro Linux.

¿Qué es Paccache?

Todos sabemos que Pacman, el administrador de paquetes predeterminado para Arch Linux y sus derivados, almacenará todos los paquetes descargados en /var/cache/pacman/pkg/ . directorio .

También sabemos que Pacman no eliminará automáticamente los paquetes antiguos o desinstalados del caché. Después de un período de tiempo determinado, la carpeta de caché aumentará de tamaño.

Por lo tanto, se recomienda limpiar la caché de paquetes periódicamente en Arch Linux para liberar espacio en el disco duro.

Pacman tiene una opción incorporada para eliminar todos los paquetes almacenados en caché. Puede limpiar los paquetes almacenados en caché ejecutando el comando sudo pacman -Sc.

Sin embargo, este comando eliminará todas las versiones antiguas almacenadas en caché y dejará disponibles solo las versiones de los paquetes que están instalados actualmente. Esta no es una forma recomendada.

Porque, a veces es posible que desees degradar un paquete en particular a su versión anterior. Entonces, si limpió todos los paquetes antiguos, no tiene otra opción que instalarlos desde la carpeta Caché. Sólo puedes instalarlos desde los repositorios oficiales de Arch Linux.

Aquí es donde el script Paccache resulta útil. El script Paccache lo proporciona el propio paquete Pacman. Por lo tanto, no tiene que preocuparse por los pasos de instalación.

Paccache mantendrá las 3 versiones más recientes del paquete de forma predeterminada. Excepto las 3 versiones de paquetes más recientes, eliminará todas las versiones almacenadas en caché de cada paquete, independientemente de si están instaladas o no.

Este breve tutorial enseña cómo limpiar adecuadamente el caché de paquetes en Arch Linux y sus derivados usando el script paccache.

A. Limpiar el caché de paquetes en Arch Linux usando Paccache

1. Primero, verifique cuántos paquetes almacenados en caché están disponibles en mi carpeta de caché.

$ sudo ls /var/cache/pacman/pkg/ | wc -l
3185

2. Como puede ver en el resultado anterior, tengo 3185 paquetes en caché en total. Déjame comprobar el espacio total en disco utilizado por la carpeta de caché.

$ du -sh /var/cache/pacman/pkg/
9.7G /var/cache/pacman/pkg/

Actualmente, tengo paquetes en caché de 9,7 GB de tamaño. Esto es demasiado. No quiero conservarlos todos.

3. Para limpiar todos los paquetes, excepto las 3 versiones más recientes, ejecute el siguiente comando:

$ sudo paccache -r
[sudo] password for sk:

==> finished: 854 packages removed (disk space saved: 4.37 GiB)

¿Ver? Paccache eliminó 854 paquetes antiguos y/o desinstalados del caché y ahorró 4,37 GB de espacio en disco.

4. Déjame comprobar nuevamente cuántos paquetes quedan en la carpeta de caché.

$ sudo ls /var/cache/pacman/pkg/ | wc -l
2331

¡Excelente! Ahora, hay 2331 paquetes almacenados en caché disponibles en la carpeta Caché. Estas son las 3 versiones más recientes de cada paquete almacenado en caché.

5. Ahora, verifique el espacio total en disco utilizado por la carpeta de caché.

$ du -sh /var/cache/pacman/pkg/
5.4G /var/cache/pacman/pkg/

¡Excelente! He ahorrado hasta 4 GB de espacio en disco.

6. ¿Aún quieres eliminar más paquetes? ¡Por supuesto que puede! Paccache le permite decidir cuántas versiones recientes desea conservar.

Por ejemplo, ejecute el siguiente comando si desea conservar solo una versión más reciente:

sudo paccache -rk 1

Donde, k indica mantener num de cada paquete en el caché.

7. Para eliminar todas las versiones almacenadas en caché de los paquetes desinstalados, vuelva a ejecutar paccache con el indicador u:

sudo paccache -ruk0

Donde, la bandera u indica los paquetes desinstalados.

8. También puede utilizar el siguiente comando pacman para eliminar todos los paquetes desinstalados:

sudo pacman -Sc

9. Para eliminar completamente todos los paquetes (ya estén instalados o desinstalados) del caché, ejecute el siguiente comando:

sudo pacman -Scc

Tenga cuidado al utilizar este comando. No hay forma de recuperar los paquetes almacenados en caché una vez que se eliminan.

Descarga recomendada - Libro electrónico gratuito: "Aprenda Linux en 5 días"

B. Limpiar automáticamente la caché de paquetes en Arch Linux

1. Si eres demasiado vago para limpiar el caché del paquete manualmente, puedes automatizar esta tarea usando ganchos pacman. El gancho de pacman limpiará automáticamente la caché del paquete después de cada transacción de pacman.

Para hacerlo, cree un archivo /etc/pacman.d/hooks/clean_package_cache.hook:

sudo mkdir /etc/pacman.d/hooks
sudo nano /etc/pacman.d/hooks/clean_package_cache.hook

Agregue las siguientes líneas:

[Trigger]
Operation = Upgrade
Operation = Install
Operation = Remove
Type = Package
Target = *
[Action]
Description = Cleaning pacman cache...
When = PostTransaction
Exec = /usr/bin/paccache -r

2. Guarde y cierre el archivo. De ahora en adelante, la caché del paquete se limpiará automáticamente después de cada transacción de pacman (como actualizar, instalar, eliminar). No es necesario ejecutar el comando paccache manualmente cada vez.

Para obtener más detalles, consulte la sección de ayuda de Paccache ejecutando el siguiente comando:

paccache -h

Lectura relacionada:

  • Habilitar la descarga paralela en Pacman en Arch Linux
  • Cómo instalar Paru AUR Helper en Arch Linux
  • Recuperar la lista de espejos más reciente usando Reflector en Arch Linux

Conclusión

En esta guía, aprendimos cómo limpiar la caché del paquete usando el script Paccache y cómo limpiar automáticamente la caché del paquete con un gancho pacman en Arch Linux. Ambas herramientas te ayudarán a mantener limpio tu Arch Linux y te ahorrarán mucho espacio en disco.

Artículos relacionados