Limpiar la caché de pacman en Arch Linux y derivadas

pacman-cacheDe la misma manera que casi todo lo que ha sucedido o vaya a suceder parece que lo vimos antes en Los Simpson, la wiki de Arch es fuente inagotable de conocimiento para cualquier linuxero, en muchos casos independientemente de la distro que utilicemos ya que en pocos sitios encontraréis explicaciones tan completas, sobre conceptos comunes a cualquier distribución GNU/Linux: el kernel, los sistemas de inicio, la conexión de red, etc…

Hoy vamos a hablar de algo más específico, en concreto de pacman, el sistema de paquetes que utilizan Arch Linux y derivadas como Antergos, Manjaro, Arch Bang, Apricity (diablos!, tengo que probar esa distro, todo el mundo habla de ella!), Bridge Linux, etc…e incluso otras distros que tienen poco (Chakra) o nada que ver con Arch (KaOS).

Entre las características de pacman, además de su conocida rapidez a la hora de gestionar el software, se incluye la de guardar en caché las versiones antiguas de paquetes que hayamos instalado.

Algo útil si queremos revertir algún tipo de cambio o no tenemos conexión a internet y deseamos volver a instalar un programa que tuvimos hace tiempo.

El único problema de esta función, es que si somos de los que probamos continuamente programas, al final vamos a ver como el espacio en la partición raíz se nos va a quedar algo corto, lleno de archivos pkg.tar.xz en el directorio /var/cache/pacman/pkg.

Para solucionar eso tenemos el comando:

sudo pacman -Sc

Que nos libra de las versiones anteriores de programas que ya no tengamos instalados.

Si queremos eliminar tambien todos los paquetes antiguos .pkg del software que si tenemos instalados en este momento, lo deberíamos poder hacer mediante (tal como comentan en la wiki):

sudo pacman -Scc

Sin embargo ese ultimo comando en los dos ordenadores que probé (con Antergos y Manjaro) no me dio resultado, por lo que tiré de otro comando llamado “paccache” que también provee packman:

sudo paccache -rk0

Si queremos afinar un poco más, podemos especificar el número de versiones a mantener (en este caso 2):

sudo paccache -rk2

O apuntar también a los paquetes de programas que ya no están instalados en el sistema (lo que habíamos hecho antes con pacman -Sc)

sudo paccache -ruk0

Mas información sobre como utilizar el comando paccache la podéis obtener ejecutando:

paccache --help

Por cierto, desde hace unas horas está disponible GNOME 3.18 en los repositorios de Arch (yo ya actualicé mi Antergos y por ahora sin problemas), así que quizás ya tengáis ocasión de poner en práctica algo de esto 🙂

12 thoughts on “Limpiar la caché de pacman en Arch Linux y derivadas”

  1. Francisco Rojas Jorquera says:

    Muy buena guía,excelente,saludos.

    1. tannhausser says:

      gracias amigo!

  2. 9acca9 says:

    Yo actualicé y… tuve un problema… Resulta que la máquina inicia, todo, ok… pero cuando voy a seleccionar usuario, tan sólo mover el touchpad… se pone toda la pantalla en blanco… la flechita se sigue viendo pero todo lo demás no… igual… aprieto enter, como si estuviera seleccionando mi usuario, meto mi contraseña y luego carga todo ok….. pero el inicio lo hago a ciegas………

    1. tannhausser says:

      Eso tiene tiene pinta de ser cosa del gestor de sesiones.

      Metiéndome a adivino y suponiendo que tengas Antergos con lightdm (que es el que suele traer esa distro por temas de compatibilidades con otros entornos) probaría a meterle GDM como gestor de sesiones que es que se usa por defecto en GNOME

      Para ello tendrías que tocar un poco los servicios de systemd

      primero deshabilitar lightdm
      systemctl disable lightdm

      y luego habilitar gdm
      systemctl enable gdm

      si no te va cuando reinicies quizas le haga falta un
      systemctl start gdm

      En mi caso (GNOME/Antergos/GDM) no me dio ningún problema la actualización más alla de tener que tocar algún archivo JSON de alguna extensión de GNOME para que funcionaran

  3. mantisfistjabn says:

    Muy buen dato, tomando en cuenta que estoy decidiéndome si instalo Antergos en una partición de mi HDD

    1. tannhausser says:

      Llevo unas semanas con ella de sistema principal y me gusta bastante.
      Estaba esperando esta transición a GNOME 3.18 a ver que tal se comportaba y como comenté antes muy bien…sin problemas, así que creo que seguiré con Antergos durante un tiempo 😉

      1. Emanuel Almonte says:

        A mi, Antergos, me curó totalmente el mal de la versionitis. Llevo desde enero con ella y todo muy bien. Habrá que probar Apricity. Y KaOS es un vicio viejo.

  4. shadow says:

    “De la misma manera que casi todo lo que ha sucedido o vaya a suceder parece que lo vimos antes en Los Simpson…”

    Buenísimo, esto es una conversación recurrente entre mi mujer y yo, una gran verdad xD

    Buen artículo, es importante saberlo para que no te pase lo que a mí en una de mis primeras instalaciones de Arch: creía que el sistema había petado y solamente había que vaciar la caché porque había llenado el disco.

    1. tannhausser says:

      @shadow algo parecido me paso en su momento con openSUSE, con archivos btfrs y sus famosas snapshots, en un momento dado no cabía un alfiler y el sistema no iba.
      Y lo de pacman lo descubrí mirando el otro día el equipo con Manjaro, estaba a tope y no sabía porqué.
      Al principio borré el directorio con la caché a lo bruto (+ 11 gb), pero después me dije: “a ver… no seas animal, investiga que tiene que haber una manera algo más elegante de hacer eso xD”

  5. D'Artagnan says:

    Yo encontré este tema mirando por ahí y lo he solucionado cambiando el GDM, que es lo mismo que dice tannhausser :
    http://viveantergos.blogspot.com.es/2014/04/cambiar-lightdm-por-gdm-en-antergos.html

    Lo cuelgo aquí por si alguien quiere echar una ojeada.

  6. Robin Hood says:

    Muy útil.

    Comencé con Manjaro en verano y precisamente estos días me percaté de que mi partición “/” había disminuido poco a poco sin razón aparente. La verdad es que la caché de pacman es muy útil pero prefiero recuperar los gigas pérdidos jaja.

  7. Javier Blancato says:

    sudo pacman -Rs $(pacman -Qtdq)

    Busca los paquetes huérfanos y te pregunta si deseas eliminarlos.

Deja un comentario