Curso avanzado de administración de sistemas Linux

Rafael Varela Pet

Unidad de Sistemas

Área de Tecnologías de la Información y Comunicaciones

Universidad de Santiago de Compostela

Versión 0.3

Curso avanzado de administración de sistemas Linux

Recuperación

Recuperación del sistema

Olvido de la contraseña de root

Recuperación del arranque

Particiones dañadas

Consideraciones previas

Puede ser que /usr/ no se encuentre accesible.

Necesitamos un editor situado en /bin/

Alternativas:

elvis-tiny: editor vi reducido (vi para comenzar)

nano / nano-tiny

ed: editor mínimo (difícil de usar)

Consideraciones previas (2)

Recopilar información:

Tabla de particiones

/etc/fstab

Disponer disco de arranque:

disquete

CD

Consideraciones previas (3)

Identificar dispositivos

/dev clásico

Entradas estáticas para cada dispositivo que pueda llegar a ser usado

http://www.lanana.org/docs/device-list/devices.txt

Consideraciones previas (4)

udev: userspace devices

/dev se genera dinámicamente

obtiene la información de sysFS

dispositivos nombrados según LSB (www.linuxbase.org)

destinado al kernel 2.6

Olvido contraseña root

Iniciar sistema sólo con una shell:
boot: Linux init=/bin/sh

Editar fichero /etc/shadow

El sistema raíz puede estar montado en modo de sólo lectura:
mount -n -o remount,rw /

Olvido contraseña root (2)

Problema: /bin/sh es un ejecutable dinámico

Puede no iniciarse correctamente

Utilizar sash (paquete sash)

Iniciar sistema:
boot: Linux init=/bin/sash

Olvido contraseña root (3)

Alternativa: iniciar con disco de arranque

Montamos partición raíz y editamos fichero
/etc/shadow

Generar disco de arranque

LILO: mkrescue
Genera disquetes o CDs de arranque usando la información en /etc/lilo.conf

GRUB

Paquete grub-disk

Generar a mano

Generar disco GRUB

mkdir -p iso/boot/grub

cp /lib/grub/i386-pc/stage2_eltorito iso/boot/grub

(Opcional) Crear fichero menu.lst en iso/boot/grub

(Opcional) Añadir otras utilidades al directorio

Crear una imagen ISO9660:
$ mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \ -boot-load-size 4 -boot-info-table -o grub.iso iso

Generar disco de arranque (2)

Alternativas:

Primer disco Debian

knoppix u otro liveCD: disponemos de un sistema completamente funcional con múltiples herramientas

Arranque con GRUB

Buscar la partición donde está el arranque del sistema:
find /boot/grub/stage1

Establecer el “root device”:
root (hd0,2)

Establecer el kernel a iniciar:
kernel /vmlinuz root=/dev/hda3 single

Arrancar:
boot

Instalar GRUB

Repetir pasos anteriores (excepto kernel):
find /boot/grub/stage1
root (hd0,2)

Instalarlo en el sector de arranque del primer disco:
setup (hd0)

Falla /var

Perdemos la información sobre los paquetes instalados (/var/lib/dpkg/status)

Podemos encontrar copias en
/var/lib/dpkg/status-old
/var/backups/dpkg.status.*.

Problema: también están en /var

Colocar /var/backups en otro lado

Falla /var (2)

Guardar la selección de paquetes con
dpkg --get-selections "*" > selecciones

Recuperar /var de otro sistema con Sarge

Volver a establecer la selección de paquetes
dpkg –set-selections < selecciones

Falla /usr

Ciertas utilidades dejan de funcionar al no existir /usr/bin /usr/lib ...

Recuperar de otro sistema similar

Otros

Instalar paquetes en un sistema que no arranca:
Utilizar disco de arranque
Montar la(s) particion(es) del sistema
dpkg --root /destino -i nombre_paquete.deb

Si dpkg no funciona:
lynx http://ftp.usc.es/mirror/linux/debian/pool/main/d/dpkg/
ar x dpkg_version_arquit.deb
tar xzfv data.tar.gz

Recuperación

Curso avanzado de administración de sistemas Linux

Autor:
Rafael Varela Pet
Area de Tecnologías de la Información y Comunicaciones
Universidad de Santiago de Compostela

2006-01-13T18:22:28