Repara tu Arch Linux y derivados con chroot, un liveCD e internet!

Elp1692

Bovino maduro
#1
Bueno, pues hoy con chakra me dió por actualizar el xorg de los repos core a los repos testing, y ¡Sorpresa! no funcionaba ni el mouse ni el teclado y no había manera de mover absolutamente nada, y pues ¿que hacer en estos casos? pues hay una bonita herramienta bastante útil llamada "chroot" que permite manipular,desde cualquier liveCD, el sistema instalado y de esta manera, poder reparar lo mal hecho.
En mi caso lo único que necesitaba era bajar los repos testing a core de nuevo e instalar de nuevo el xorg de estos repositorios.
Primero que nada, tenemos que reiniciar la computadora con un liveCD dentro, iniciar con el y conectarlo a internet y continuamos con lo siguiente:

  • Abrimos Gparted, partition manager o cualquier programa de manipulación de particiones e identificar la partición raiz "/", en mi caso es la /dev/sda5.


  • El siguiente paso es abrir una terminal y montar la raiz (todo es como root, ejecutamos el comando: $sudo -i):

Código:
# mount /dev/sda# /mnt
  • Despues vamos a montar /dev /sys y /proc con los siguientes comandos:
Código:
# mount -t proc none /mnt/proc 
# mount -t sysfs none /mnt/sys 
# mount --bind /dev /
  • Conectamos el chroot a internet (Cortesía de Radiocaca)
Código:
# cp /etc/resolv.conf /mnt/etc
  • Cuando todo esté bien montado ejecutamos chroot:
Código:
#chroot /mnt
  • Notaremos que nuestra terminal va a cambiar un poco, en mi caso usé el liveCD de ubuntu por lo tanto de estar así:
Código:
root@ubuntu:~#
Cambió así:
Código:
[root@ubuntu /]#
Ahora ya podemos trabajar ahí y reparar el sistema, pondré de ejemplo lo que yo hice para reparar chakra.
  • Después de hacer lo anterior, abrí la lista de repositorios de esta manera:
Código:
[root@ubuntu /]# nano /etc/pacman.conf
Y agregué # a los repositorios testing para desactivarlos.

  • Actualicé los repositorios de chakra:
Código:
[root@ubuntu /]# pacman -Syy
  • Limpié el caché:
Código:
[root@ubuntu /]# pacman -Scc
  • Ahora instalé el xorg desde los repositorios core:
Código:
[root@ubuntu /]#pacman -S xorg-server
Ya con esto quedó listo ahora solo reinicié chakra y todo regresó a la normalidad.

Fuente
 

radiocaca

Bovino Milenario
#5
No es necesario si en el live estás conectado a internet...
sip es necesario, sobre todo si te conectas a una red diferente a la ultima conectada en la instalacion del disco duro, por ejemplo, supongamos que te conectas a una wireless llamada "casa" desde tu disco duro, y se te descompone la instalacion, inicias desde el live cd para hacer chroot y te conectas a la misma red "casa", en este caso no es necesario copiar el resolv.conf, por que la copia del disco duro tiene los mismos parametros. pero supongamos que cuando se te descompone e inicias el live cd para hacer el chroot te conectas a una red diferente, por ejemplo una llamada "vecino", en este caso es necesario copiar el archivo resolv.conf a hacia el chroot, por que el archivo del disco duro difiere con el del livecd. y si son diferentes, el chroot no va a poder encontrar el servidor de nombres y no podra accerder a internet.

Mas info desde la toda poderosa wiki de archlinux: https://wiki.archlinux.org/index.php/Change_Root
 

Elp1692

Bovino maduro
#6
sip es necesario, sobre todo si te conectas a una red diferente a la ultima conectada en la instalacion del disco duro, por ejemplo, supongamos que te conectas a una wireless llamada "casa" desde tu disco duro, y se te descompone la instalacion, inicias desde el live cd para hacer chroot y te conectas a la misma red "casa", en este caso no es necesario copiar el resolv.conf, por que la copia del disco duro tiene los mismos parametros. pero supongamos que cuando se te descompone e inicias el live cd para hacer el chroot te conectas a una red diferente, por ejemplo una llamada "vecino", en este caso es necesario copiar el archivo resolv.conf a hacia el chroot, por que el archivo del disco duro difiere con el del livecd. y si son diferentes, el chroot no va a poder encontrar el servidor de nombres y no podra accerder a internet.

Mas info desde la toda poderosa wiki de archlinux: https://wiki.archlinux.org/index.php/Change_Root
Buen dato entonces.. Gracias ahora mismo lo agrego al post...
 
Arriba