miércoles, 18 de julio de 2012

Problema al actualizar glibc en ArchLinux

A estas alturas ya es casi historia la actualización por la cual el directorio /lib pasa a ser un enlace simbólico de /usr/lib.

Para instalar dicha actualización, como se indica en esta guía, en el mejor de los casos, bastará con ejecutar:

pacman -Syu --ignore glibc
pacman -Sd binutils gcc gcc-libs
rm -rf /lib/modules
pacman -Syu

No ejecutar nunca la opción --force, ya que dejará el sistema inservible.

Pero... 
¿Qué pasa si estos consejos llegan tarde, ya hemos dejado nuestro sistema inservible y pretendemos instalar Arch desde cero?
Pues hasta que no se pongan las pilas y nos dejen disponible una imagen *.iso de instalación actualizada para este año 2012; 
si no queréis perder demasiado tiempo pegando palos de ciego, aquí os dejo la simplificación de los pasos necesarios, una vez hayamos instalado el sistema:

pacman -Syu --ignore glibc 
(actualizar el sistema ignorando el paquete glibc, lo que actualizará parte del sistema)

pacman -U http://pkgbuild.com/~allan/glibc-2.16.0-1-'arch'.pkg.tar.xz
(descargar e instalar la versión anterior a la actual del paquete glibc, sustituyendo 'arch' por i686 o x86_64, según nuestra arquitectura)

pacman -Sd binutils gcc gcc-libs 
(instalar manualmente 3 paquetes necesarios para proseguir con la actualización del sistema)

rm -rf /lib/modules 
(eliminar el directorio conflictivo para proceder con la actualización total del sistema)

rm /etc/mtab
rm /etc/profile.d/locale.sh
rm -rf /var/run
(eliminar a mano dos archivos y un directorio que dan conflicto en la actualización del paquete filesystem, ya que, como se dijo anteriormente, forzar su instalación dejará el sistema inservible)

pacman -Syu --ignore glibc 
(terminar de actualizar el sistema, ignorando el paquete glibc)

pacman -Syu
(actualizar el sistema, en este caso, el único paquete restante, glibc)

Espero que os sirva.

2 comentarios:

  1. Me pregunto, igual y es una reverenda estupidez... ¿Se podrá quitar el enlace simbólico que provoca esto sin mas ni mas? De seguro esto causará un ridículo problema...

    ResponderEliminar
  2. Hola Luis,
    Muchas veces 'cortar por lo sano' es una buena solución;
    sin ir más lejos, en esta misma entrada, ante otro problema, recomiendo borrar 3 archivos que impiden la actualización del paquete filesystem.
    Sin embargo, para esta actualización en concreto no nos vale, ya que el problema radica en que un directorio, que tiene contenido, se convierte en un enlace simbólico apuntando a otro directorio.
    Como ves, sólo tendremos el enlace simbólico una vez hayamos instalado esta actualización con éxito;
    y si lo eliminamos, seguramente, tendremos futuros problemas en la instalación de otros paquetes.
    Una posible opción sería eliminar el directorio tal cual, pero esto sólo será válido (como indica la guía oficial a la que hago referencia), cuando el directorio esté vacío y su contenido haya sido migrado.
    Muchas gracias por comentar!!!

    ResponderEliminar