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

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

  • http://twitter.com/angelbladex Luis García

    Hola Yo moví el contenido /lib a otra ubicación y nada. creo que me pasé de literal. Ni modo a reparar con el cd :S

  • Luweeds

    Gracias por el post, a mi me sigue dando problemas, esperare un poco porque hay paquetes que necesitan actualizarse en los repos, para que no ocasionen problemas. Saludos ;-)

  • http://twitter.com/pablocardozo_uy Pablo Cardozo

    Me llevó como 2 semanas y gracias a compas de Costa Rica y España poder lograr superar ese problema. Aunque esa solución me sirvió para mi versión de 32 bits, para la de 64 fue algo más rápido, pero no me acuerdo bien los pasos, pero si los encuentro los agrego. Saludos!

    • Diego Garcia

      Dos semanas??? Pero si la actualización fue del 14 de julio…xD

  • http://twitter.com/pablocardozo_uy Pablo Cardozo

    Hola, a mí me ayudaron unos compas de Costa Rica y España a solucionarlo, pero esta solución me funcionó en mi versión de 32 bits de escritorio, en la laptop de 64 bits fue más rápida la solución pero no me acuerdo los detalles. Si los encuentro los publico para agregar a tu post. Saludos!

  • http://invernalia.homelinux.net JStitch

    esta rarisimo, a mi me funciono muy bien pero resulta que no puedo entrar a sesion con mis usuarios normales (me dice siempre ‘System is booting up’), asi que solo puedo entrar con root. Luego con root cambio de runlevel a uno sin modo grafico, luego regreso a uno con modo grafico, y listo! con eso ya puedo entrar :-O

    antes hice lo que dice aqui: https://bbs.archlinux.org/viewtopic.php?id=144483

  • Jorge

    Tuve la brillante idea de cambiarme a Ubuntu, ya que habia tenido muchos errores con pacman 4, no duré ni 3 días y me aburrió, asi que decidi volver Arch, ayer intenté instalarlo y todo bien hasta que hago un pacman -Syu y gualá, 1000000 errores, con glibc, el filesystem, además me pedia la actualizacion de pacman, y no podía. Me fuí directamente a la pagina de Archlinux, y no sabía que hacer, si primero actualizaba ignorando el filesystem o glibc, probé de las dos maneras, y ninguna funciono, luego intente ignorando ambas y no se actualizaba nada. Al final actualizé tan solo el filesystem y todo bien, pero me seguia dando error el glibc, y no pasaba nada al ignorarlo en la actualización, ya que seguian los errores. Hice lo de sudo find /lib -exec pacman -Qo — {}+ y listo, solucionado el problema del glibc, pero ahora miles de errores con el pacman ya que no se actualizó. En fin murió mi sistema, no duró ni media hora vivo, y ni un minuto funcional :(

    ¿Como lo hago ahora para instalarlo de 0?

    Gracias Gregorio :)

    • lordix

      Podrías probar haciendo una net-install para que descarge los paquetes al instalar el sistema.

      • Jorge

        Nunca había podido hacer net-install ya que dos paquetes causan un conflicto, no instalé el primero algo de system-algo jaja y me funciona a la perfección. Al fin tengo de nuevo a mi Arch :D

  • Fuuuuuuuuuuuuu

    Feel Like Tano Pasman :@

    Lección: Echar un vistazo a la pagina antes de Pacman -Syu.
    @knxoHp8VYa:disqus concuerdo con londrix… hacer un netinstall te evitara muchísimos problemas… ;)

  • http://www.facebook.com/manuelperezf Manuel Perez Figueroa

    vaya gestion mas mala por parte de Arch de este “cambio”… mi sistema esta inusable. No carga nada ni red ni X ni nada, me temo que me toca instalar de 0… no se si volver a mi debiannnn

    • http://gespadas.com Gregorio Espadas

      Lo que ya le urge a Arch es sacar una nueva ISO de instalación (¡ya tiene casi un año!), pues si alguien usa la actual para instalar de cero, se topará con infinidad de cambios al momento de ejecutar pacman -Syu (migración a pacman 4 y su firma de paquetes, este problema con glibc, etc).

      • Roberto Saldivar

        Exacto hace 2 dias intente instalar y me tope con este problemita, pero pasando primero el filtro de las llaves a la cual pacman no me genero el pacman.conf.new , me di a la tarea de escribirlo todo. Urge una ISO nueva.

  • Pingback: Erufenix .::. blog » Solución al glibc: /lib exists in filesystem vía Live CD()

  • http://www.ubuntronics.com/ Javier

    Gracias por la publicación, a mi me funciono de maravilla. Un saludo.

  • Claudio

    Gracias por la explicación, me funcionó !

  • http://lordcaos.com.ve/ David Salazar

    Gracias, me sirvió la solución y coincido con Fuuuuuuuuuuuuu “Lección: Echar un vistazo a la pagina antes de Pacman -Syu.”, pero la flojera, la flojera XD

  • octmg

    Tengo varios Linux en mi Pc, uno de ellso Arch (64). Actualicé con –force. No me arrancó Arch.
    Inicié con otro (Ubuntu). Monte arch en /mnt renombré /mnt/lib a /mnt/lib_old. cambie a /mnt hice un enlace ln -s usr/lib lib . Habían quedado “firmware, modules, udev ” en lib_old . Los copié a usr/lib. Pude arrancar de nuevo y actualizar Arch. No sé si luego habrá algún problema ….

    • http://twitter.com/waller_ A. Cid

      Podrias comprobar si tienes paquetes rotos: pacman -Qk

      • octmg

        Ok, había uno, lo reinstalé. Y por ahora sin problemas. Gracias

  • Pingback: Actualització d’ArchLinux, transformant /lib en /usr/lib()

  • Freddy Omar Lopez Quintero

    Yo perdí mi distribución y no ha habido forma humana posible de rescatarla. Anoche hice otro último intento y me estuve casi hasta el amanecer intentando y nada. Hoy, a punto ya de instalar otra distro, me encuentro con un nuevo iso en la página de arch. Probemos. Saludos y gracias.

  • http://twitter.com/Seguame Super Seguame

    Debí leer esto antes de aplicar el –force, pues como dices lo hice impulsivamente y tecnicamente el sistema murio :P

  • Abraham Tamayo

    Mi experiencia es mas complicada o algo asi ..
    Al ver que no podia actualizar normalmente no intente forzarlo ya tengo una experiencia anterior “GRACIAS FIRMAS” busque en esta pagina
    vi que alguien renombre la carpeta /lib a lib_old .. ERROR me dejo de funcionar TODO solo dejo el explorador firefox funcionando. (por que no lo habia cerrado).
    (Desde otra computadora)
    Baje el netinstall pero como mi instalacion en por wifi tenia mis dudas que lo pudiera hacer pero ya viene con netcfg que es lo que normalmente uso para conectarme asi que no tuve mayor problema con eso pues aunque es complicado ya lo se usar..
    Saber el numero de las particiones si fue un problemon pero puse el USB con el arch viejo solo para ver los numeros los apunte y volvi al netinstall .. Pensando que perderia toda mi configuracion de mi arch si me dio dolor de cabeza esto no es un ubuntu con todo listo .. pero despues de seguir un tuto de como instalar el nuevo arch me dio problemas el grub pero me dije .. a no se puede instalar por que ya hay un archivo con mi configuracion y segui adelante .. instale todo el core con netinstall y ya al reiniciar vi los errores que tenia al arranque asi que en lugar de poner USER = Root .. puse mi usuario y contraseña normal y WUALA todo estaba bien .. solo actualise algunos paquetes ya sin problemas .. asi que no perdi nada .. mi super configurado openbox ahi esta listo y mi tuneado gnome muy bien ..

  • http://www.facebook.com/belhor Francisco Villalobos

    En mi caso aparece: error: no puedo determinar el dueño del directorio ‘/lib’
    Alguna sugerencia? Ya que no quiero borrar o cambiar de ubicación este directorio ya que quiero imaginar que me voy a cargar el sistema.

  • Pingback: Actualització d’ArchLinux, transformant /lib en /usr/lib()

  • Miccaella

    dios mio borre /lib y no se que hacer se fue todo a la pija… me volvi loca… hay algo que pueda hacer??? no puedo ni abrir una terminal….

    • http://gespadas.com Gregorio Espadas

      Creo que sólo te queda reinstalar ArchLinux :-(

  • Leandroink

    Gracias como no busque el problem antes de eliminar lib jaja pero le habia echo una copia -menos mal- igual tube que iniciar con un live cd y volver a copiar lib a su lugar