Recientemente instalé Arch Linux y descubrí que estoy consumiendo una gran cantidad de almacenamiento relativamente rápido. Por alguna razón, ya he usado 17 GB en solo 2 semanas. No tengo una gran cantidad de software instalado, por lo que creo que todos los paquetes antiguos se mantienen en alguna parte.
Para respaldar esto, me di cuenta de que si instalé un paquete, eliminé ese paquete y luego lo volví a instalar, pacman simplemente desempaqueta y vuelve a instalar el software sin tener que volver a descargarlo.
Después de instalar mi sistema base, antes del software adicional, usé aproximadamente 2 GB o más. Desde entonces, solo he instalado Matlab, Skype, Wine y algunos otros programas pequeños. Por supuesto, también he instalado bibliotecas faltantes y cosas por el estilo, pero no vale casi 15 GB.
¿Me equivoco por completo aquí o Arch nunca elimina los paquetes antiguos al descargar/actualizar a nuevas versiones?
Si es así, ¿cómo elimino estos paquetes no utilizados?
Además, cuando elimino paquetes instalados, uso pacman -R ...
Respuesta aceptada:
No, pacman no elimina los paquetes antiguos de tu caché (/var/cache/pacman/pkg
) para que, con el tiempo, pueda llenarse.
Puede adoptar dos enfoques para borrar el caché:el de fuerza bruta con pacman -Sc
:
-c, –clean
Elimina los paquetes que ya no están instalados del caché, así como las bases de datos de sincronización que no se utilizan actualmente para liberar espacio en el disco.
Cuando pacman descarga paquetes, los guarda en un directorio de caché. Además, las bases de datos se guardan para cada base de datos de sincronización que
descargue y no se eliminan incluso si se eliminan del archivo de configuración pacman.conf(5). Use un interruptor de limpieza
para eliminar solo los paquetes que ya no están instalados; use dos para eliminar todos los archivos del caché. En ambos casos, tendrá
una opción de sí o no para eliminar paquetes y/o bases de datos descargadas no utilizadas.
O, para un enfoque más matizado, puede usar una de las utilidades que se incluyen con pacman-contrib, paccache
:
paccache es una utilidad flexible de limpieza de caché de pacman, que tiene numerosas
opciones para ayudar a controlar cuánto y qué se elimina de cualquier directorio
que contenga tarballs de paquetes de pacman.
Por defecto, paccache -r
eliminará todas menos las últimas tres versiones de un paquete instalado, pero puede cambiar este número con -k, --keep
cambiar. También hay un -d, --dryrun
cambiar para obtener una vista previa de los cambios. También puede usar el -m, --move <dir>
opción para mover los paquetes a un directorio separado de su elección. Ver paccache -h
o paccache --help
para todos los interruptores.
Hay una serie de utilidades en el paquete pacman-contrib para ayudar con la administración de paquetes, vale la pena examinarlas todas y comprender cómo funcionan y pueden hacer que ejecutar Arch sea mucho más fácil. Puedes ver la lista completa con:
pacman -Ql pacman-contrib | awk -F"[/ ]" '//usr/bin/ {print $NF}'