¿Problemas con glibc al actualizar ArchLinux? Solución Paso a Paso

Monday 16 de July de 2012, 8:27 am 29 Comments

Acabas de ejecutar sudo pacman -Syu en ArchLinux y obtienes lo siguiente:

error: error al realizar la transacción (archivos en conflicto)
glibc: /lib existe en el sistema de archivos
Ocurrieron errores, no se actualizaron paquetes

De inmediato, tu impulso es volver a ejecutar el comando con --force, pero…. ¡NO LO HAGAS! Dejarás tu sistema más corrupto que la clase política mexicana.

Hace unos días se implementó un cambio importante en nuestra querida distro, y ahora todos los paquetes que tenían sus archivos en el directorio /lib se movieron a /usr/lib, y ahora /lib pasa a ser un symlink a /usr/lib.

¿Qué hacer entonces? Allan McRae nos avisa de este conflicto y pone a nuestra disposición una guía detallada para solucionarlo. Si me lo permiten, aquí les dejo los puntos importantes.

Los comandos a usar son

pacman -Syu --ignore glibc
pacman -Su

Si al final sigues obteniendo el error de conflicto, ejecuta el siguiente comando:

$ sudo find /lib -exec pacman -Qo -- {} +

Debes obtener una extensa lista de archivos y directorios, algunos propiedad de glibc y otros que nadie posee, y estos últimos son los que nos están ocasionando el problema. Lo que debemos hacer es eliminarlos, ya que en realidad son “sobras” de actualizaciones pasadas. En mi caso (tú podrías obtener otro resultado), todas esas sobras se encontraban dentro del directorio /lib/modules/, por lo que el comando apropiado para eliminar dicho directorio y todo su contenido es:

¡Advertencia! Ten mucho cuidado al eliminar archivos y directorios, este blog y su autor no se hacen responsables por sistemas inestables y/o corruptos.

sudo rm -rf /lib/modules/

Entonces, volvemos a ejecutar pacman -Su para actualizar glibc, ¡y eso es todo!

Si siguen obteniendo errores, o si desean leer más a fondo sobre el problema, les recomiendo leer la guía detallada que mencioné previamente.

Share

Post tags