[ArchBang] Problema con /bin, /sbin, /usr/sbin exists al actualizar

Hace unas semanas me puse a actualizar mi ArchBang… Crucé los dedos y lógicamente todo salió como el tuje.

Después de un día y medio buscando alguna solución (el blog de Archlinux siempre fue muy escueto)  caí en este post que fue mi gran salvación:

Agradezco al autor y les paso la traducción en español:

1. pacman -Syu
2. Obtendrás un error como este:

3. Si usas paquetes AUR, analiza los paquetes usando este comando

$ pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -

Si tienes resultados positivos, es recomendable removerlos (pacman -R)

Consejo: Si queremos tener el sistema tal cual lo teníamos antes, lo recomendable es anotar a mano la lista…
4. Analiza los paquetes en los repositorios (si usas un repositorio no oficial)

$ paclist <repo> | awk ' { print $1 } ' | pacman -Ql - | grep ' /s\?bin/\| /usr/sbin/'

<repo> cambie su lista de repositorios (core, extra, community, multilib,etc) Si solo usas los repositorios oficiales, puedes evitar esto.

Si el comando tuvo resultados, remueva esos paquetes (pacman -R)

5. Si tienes archivos en /bin, /sbin or /usr/sbin  que no son parte de ningun paquete. Necesitamos moverlos. Se pueden listar usando

$ find /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/dev/null

6. Ahora ¡Actualizar el sistema

$sudo pacman -Su –ignore filesystem,bash

7. Instalar bash
$sudo pacman -S bash

8. Instalar filesystem
$sudo pacman -S filesystem
o
$sudo pacman -Su

Si no limpió todos los paquetes en los pasos 3-5,  verás el  error de vuelta.

 

NOTA

En mi caso particular tuve que iniciar desde un livecd de Arch. Si tenemos el sistema en 64bits, iniciamos en 64bits. Si es de 32 bits iniciamos arch en 32 bits.

Una vez que tenemos consola desde el livecd debemos hacer arch-chroot. Para ello, los pasos son los siguientes:

1) mount /dev/sda3 /mnt

2) mount /dev/sda1/mnt/boot

3) arch-chroot /mnt

4) Ejecutar toda la secuencia de orden que describí arriba.

 

Fuente; http://www.archlinuxuser.com/2013/06/bin-sbin-usrsbin-exists-in-filesystem.html

Error “(32) Not authorized to control networking.” Archbang [Solucionado]

Este error me venía jodiendo bastante, porque cada vez que tenía que conectarme a una red nueva debía escribir en una consola:

$sudo nm-applet

y conectarme desde el applet del Network Manager pero abierto como Root. La solución la encontré (cuando no) en los foros de ArchBang, y es la siguiente:

1) Editamos el archivo ~/.xinitrc: $nano .xinitrc

2) Cambiamos la línea exec ck-launch-session dbus-launch openbox-session por exec dbus-launch openbox-session .

3) Guardamos, volvemos a entrar en la sesión y ¡Listo! Problema resuelto.

 

 

Problemas con glibc-2.16.0 ArchBang [Solucionado]

Después de batallar todo el dia con mi Notebook y ArchBang por fin pude dar con la solución a las actualizaciones… Reconozco que es un poco tediosa, pero si la cumplen al pie de la letra, las cosas funcan. :).

Copio y pego la solución que me funcionó:

El error se produce porque kmod mueve /lib/modules a /usr/lib/modules y la actualización de glibc da error ‘/lib exists in filesystem’. Si se utiliza –force para instalar en estas condiciones se rompe el sistema.
Para solucionar el problema se requiere un livecd de cualquier distribución (ubuntu, etc) y proceder como root:
1) ‘pacman -Syuf –ignore glibc’ (Instala kernels y demás. Requiere -f porque va a reescribir archivos ya existentes)
2) ‘cp -a /lib/* /usr/lib/’ (En todo caso elija el método que más le guste para copiar el contenido remanente de /lib a /usr/lib. Esto por kernels personalizados o librerías, generalmente provenientes de AUR, es decir por paquetes instalados con yaourt, que queden en /lib. Se debe seleccionar la opción omitir cuando pregunte por archivos que no se puenden modificar )
3) ‘ln -s usr/lib /libnew’ (Creamos el link a /usr/lib. La orden es efectivamente sin / antes de usr)
4) Reiniciar con el livecd y montar el sistema a terminar de actualizar
5) En el sistema montado renombrar /lib a /libold y /libnew a /lib (corregimos el link a /usr/lib y sacamos de circulación el molesto /lib original)
6) Reiniciar sin el livecd
7)’pacman -Syuf’ ( Instala glibc-2.16.0.2, –force es necesario porque va a reescribir librerías existentes)
8)Listo. Reiniciar. Recomiendo que usen systemd, ahorra muchos problemas con udev.
A mi me fue muy bien con este procedimiento

Editado: si bien a otros y a mí nos fue bien con este procecidimiento el tema fue creado cuando no encontraba información sobre como actualizar glibc. Aparentemente una solución simple y adecuada tecnicamente puede encontrarse en http://allanmcrae.com/2012/07/updating-arch-linux-from-a-core-install/

Editado: Como otro miembro de la comunidad, al seguir el procedimiento sugerido, ha reportado un error al ejecutar la orden ‘cp -a /lib/* /usr/lib/’ si esto sucede una alternativa es copiar el contenido de /lib y pegarlo en /usr/lib con el administrador de archivos con privilegios de root sin reemplazar archivos existentes y omitiendo los archivos que los cuadros de diálogo que van apareciendo indican que no se pueden modificar

Fuente: http://www.taringa.net/comunidades/archlinux/5700677/Actualizacion-de-kmod-9-2-y-glibc-2_16_0-2error_solucionado.html