HowToRecoverYourDebianInstallation/es

From Super Grub Disk Wiki
Jump to navigationJump to search

Como recuperar Debian

Introduccion

Intentando instalar un paquete he mezclados dos libc 2.4 y 2.6. Esto al final resulto en que en parte del arranque mi Linux se paraba. Ademas no podia entrar en modo single (monousuario) y encima no se podia hacer chroot en él(Daba un segmentation fault).

Este proceso de recuperación lo hice desde otra distribución (Guadalinex) que tenía instalada en paralelo a la mia pero intentaré reproducirlo para el caso generico de un live cd de Ubuntu con un pendrive (lapiz usb) de asistencia.

Eso sí, este proceso borra la partición root de Debian, si uno no tiene una partición /home deberá hacer una copia de seguridad de sus datos y sus configuraciones porque siguiendo este howto los perderá.

Acceder a particion Debian y Pendrive

Ejecutamos mount desde la consola. Lo primero que debemos hacer es introducir el pendrive que usaremos para guardar la información mínima necesaria de nuestro sistema. Como trabajamos en ubuntu nos aparecerá el pendrive ya montado. Volvemos a ejecutar mount desde la consola y podremos identificar cual es el directorio dónde se monta el pendrive. Vamos a suponer que es: /media/disk.

Luego debemos identificar nuestra partición root de Debian y montarla. Después de hacer un:

sudo su
sfdisk -lu

podemos, por ejemplo, averiguar que nuestra partición /root de Debian es /dev/sda3.

Creamos un directorio para montar la partición:

mkdir /mnt/test

Y la montamos (aqui suponemos que es de tipo ext3):

mount -t ext3 /dev/sda3 /mnt/test


Listado de paquetes instalados en Debian

Como no podemos hacer chroot y ejecutar dpkg -l en nuestro Debian usaremos el comando dpkg de nuestro ubuntu.

Siguiente como root haremos:

dpkg -l --root=/mnt/test > /media/disk/paquetes_dpkg_l_debian.txt

Ahora mejoraremos estos datos con awk, nos quedaremos sólo con los paquetes:

cat /media/disk/paquetes_dpkg_l_debian.txt | awk '{print $2}' > /media/disk/paquetes_dpkg_l_debian_SOLO_PAQUETES.txt

Se abre el fichero con gedit:

gedit /media/disk/paquetes_dpkg_l_debian_SOLO_PAQUETES.txt

y se quitan las lineas de arriba que se ven claramente que no son paquetes sino una descripción de los diferentes campos de la salida original de dpkg -l, se guarda y se sale de gedit.

Una vez hecho esto paso el fichero por una tuberia tr que lo ponga todo en una misma linea.

cat /media/disk/paquetes_dpkg_l_debian_SOLO_PAQUETES.txt | tr '\n' ' ' > /media/disk/paquetes_dpkg_l_debian_SOLO_PAQUETES_UNA_LINEA.txt

Ya nos queda preparado el fichero para poder llamar a apt-get install con esa linea. Pero eso será más tarde.

Más ficheros que copiar

Fichero de configuración de las X:

cp /etc/X11/xorg.conf /media/disk/xorg.conf

Fichero de configuración de particiones y dispositivos

cp /etc/fstab /media/disk/fstab

Fichero de usuarios:

cp /etc/passwd /media/disk/passwd

Fichero de usuarios y grupos:

cp /etc/group /media/disk/group

Fichero de apt (paquetes): /etc/apt/sources.list

cp /etc/apt/sources.list /media/disk/sources.list

Guardando y reiniciando

Finalmente cerramos todas las ventanas abiertas y localizamos el lapicero usb en el escritorio. Pulsamos en él con el botón derecho del ratón y elegimos Desmontar.

Finalmente reiniciamos gracias a Sistema -> Reiniciar.

Tenemos preparado el disco de instalación de nuestra distribución.

Instalacion de Debian minima

Ahora instalaré un Debian mínimo sobre el que ya tenía y después haré que se termine de instalar mi sistema anterior con todos los paquetes que tenia. En el caso de Ubuntu como no deja elegir paquetes se reinstala en la misma partición y ya está.

A la hora de instalar Debian lo hacemos manualmente y elegimos como root la partición root del Debian que nos da problemas y forzamos a que se borren sus datos (por defecto está forzado).

(Solo Debian). Elegimos sistema mínimo (si es que existe esa opción). En la selección de paquetes dejamos todo sin marcar (ni siquiera hay que elegir sistema estandar) e instalamos.

Preparacion del sistema

(Inicio de sólo Debian) 

Al arrancar, (me dije... ¡¡Si en la instalacion no me pidio contrasena!!). Poniendo root y sin contrasena ya entraba como root. Usaremos:

passwd root

para poner la contrasena de root.

Crearemos el usuario que ya teníamos:

addgroup adrian -gid 1000
adduser adrian -uid 1000 -gid 1000

Si tenemos una home podremos obtener los gid e uid que teníamos con ls -l /home. No obstante siempre los podemos consultar en los ficheros passwd y group del pendrive.

(Fin de sólo Debian)

Acceso al pendrive desde el sistema instalado

(Para Debian. En Ubuntu introducirlo y ya aparecerá en el escritorio)

Ejecutaremos:

sfdisk -lu.

Introduciremos nuestro pendrive. Ejecutaremos

sfdisk -lu 

otra vez dónde aparecerá ahora sí el pendrive. Supongamos que su partición es sdb1.

Creamos un directorio para montar el pendrive:

mkdir /mnt/pendrive

Lo montamos:

mount -t vfat /dev/sdb1 /mnt/pendrive

Reinstalación de paquetes

(Para Ubuntu usar /media/disk en vez de /mnt/pendrive o el nombre que toque.)

Actualizacion de sources.list

Ahora procederemos a reinstalar los paquetes que teníamos en nuestra instalación pero para ellos debemos actualizar nuestro sources.list.

Podremos hacer:

sudo -i | su
cp /etc/apt/sources.list /etc/apt/sources_ORIGINAL.lst
cp /mnt/pendrive/sources.list /etc/apt/sources.list
apt-get update

Instalando todo otra vez

En Ubuntu recomiendo situarse en una consola de texto gracias a la combinación de teclas: CTRL+ALT+F1.

Ahora haremos:

sudo -i | su
apt-get install `cat /mnt/pendrive/paquetes_dpkg_l_debian_SOLO_PAQUETES_UNA_LINEA.txt`
Se necesitan descargar 1,5GB y luego ademas se necesitaran: 3707 MB.

ADELANTE!!!

En Debian para terminar mejoramos nuestro usuario, por ejemplo: adrian según los grupos en que estaba presente (ver fichero group del pendrive):

usermod -a -G lp,cdrom,floppy,audio,video,plugdev,users,lpadmin,scanner,postgres,avahi,fuse,haldaemon  adrian

Retoques finales

Muchas veces hasta este punto ya tendremos nuestro sistema como antes. Si las X no se configuran bien, o ya las teniamos configuradas siempre podemos echar mano del xorg.conf que ya habiamos copiado. En este punto, habrá usuarios avanzados que mejoren su fstab con lineas que ellos mismos ya habian añadido y que están en el fstab del pendrive.

Como digo, al reiniciar nuestra máquina con:

shutdown -r now

deberíamos tener nuestro Debian/Ubuntu igual que antes.