Recuperación de sistemas con Knoppix.

Qué hacer cuando se echan a perder los buenos discos

Nivel: Intermedio

Carla Schroder (dworks-at-bratgrrl.com)
Consultant, Tux Computing
October 23, 2003

First published by IBM developerWorks at
http://www.ibm.com/developerWorks

Traducción de
Víctor Alonso Barberán <vmalonso@telefonica.net>
http://intercentres.cult.gva.es/cefire/12400551/asesorias/informat/knoppix/

Este artículo muestra cómo acceder a un sistema Linux que no arranca con un CD de Knoppix, obtener permisos de lectura-escritura en ficheros de configuración, crear y manejar particiones y sistemas de archivos, y copiar ficheros a varios medios de almacenamiento y a través de la red. Puede usar Knoppix para detección de hardware y configuración de sistemas y para crear y gestionar particiones y sistemas de archivos. Puede hacer todo esto desde las excelentes utilidades gráficas de Knoppix, o desde la línea de comandos.

Knoppix, que es un Linux completo arrancable en un CD, se ha convertido en mi elección como disco de rescate. Se publicó una excelente introducción a Knoppix en developerWorks hace unos pocos meses (“Knoppix proporciona Linux en un disco arrancable” por Cameron Laird).

Mi viejo apoyo era Tom's Root Boot “Lo mejor de GNU/Linux en un disquete”, y el CD SuperRescue de Peter Anvin. Ambos son discos de rescate de primera línea. Uno de mis alardes favoritos es hacer una reconstrucción del esqueleto del sistema usando sólo el disco Tom's Root Boot y una conexión a Internet.

A medida que los CD-ROMs se popularizaron en los PCs, yo usaba varios CDs SuperRescue. Sin embargo, está basado en Red Hat 7.2, que es una gran distribución pero ya obsoleta. Así, por ejemplo, la versión 7.2 no tiene soporte para el hardware, tal como USB o wireless, que se puede encontrar en las últimas distribuciones.

Ha nacido una estrella

Knoppix, el chico nuevo del barrio, ofrece importantes características:

Ese último punto no era importante para mí hasta que me trasladé a un área donde no había Internet de banda ancha. Sólo tenía línea telefónica de red conmutada, lo que hacía que descargas de 700 MB fueran poco prácticas.

Knoppix incorpora lo mejor de Debian, KDE, y sus propias utilidades de sistema. En este artículo, veremos cómo hacer cosas tanto desde la línea de comandos como desde utilidades gráficas. Asegúrese de que usa valores apropiados para su sistema, tales como números de partición, nombre de ficheros, y ordenadores de red.

Empezando

Si quiere ejecutar KDE o cualquier otro escritorio gráfico o gestor de ventanas, necesitará al menos 96 MB de RAM y un Pentium (o equivalente) o superior. En modo texto, sin X, necesita 20 MB para ser feliz e incluso funcionará en un viejo 486. Utilizará su fichero swap de Linux existente.

Opciones de arranque

Después de ejecutar el CD Knoppix, hará una pausa en el prompt de comandos durante 30 segundos, y continuará arrancando. Hay un gran número de opciones de arranque; pulse F2 para verlas. Por ejemplo, así es como utilizo Knoppix 3.2. en mis sistemas de prueba:

	knoppix lang=us knoppix wheelmouse knoppix desktop=icewm 

El mapa de teclado por defecto es alemán, así que siempre arranco con knoppix lang=us. Por defecto, Knoppix arranca con el escritorio KDE. knoppix 2 arranca en modo texto, sin iniciar las X. failsafe arranca con una detección de hardware mínima.

Knoppix se ejecuta completamente en memoria, o si quiere que suene más “elitista” , en un ramdisk (disco en memoria RAM). De hecho puede ver el ramdisk en el árbol de directorios. Recuerde, a veces será lento, porque tiene que extraer los ejecutables desde el CD, que es más lento que el disco duro. Puede instalarse en el disco duro, pero ese es un tema para otro día.

Recuperando un sistema Linux que no arranca

Este es el escenario más común. Algo se vuelve loco y boom, no arranca. “No problem”: arranque con Knoppix y verá todas sus particiones locales en forma de bonitos iconos en su escritorio KDE. (O recorra el árbol de directorios hasta /mnt). Pulse en el icono correcto, y ahí están todos sus ficheros. Pero prudentemente han sido montados en modo sólo-lectura. De nuevo, “no problem”: pulse con el botón derecho del ratón y aparecerá un bonito menú con la opción “Cambiar modo lectura/escritura”. Esto monta el sistema de ficheros de la partición como lectura/escritura. Ahora puede editar cualquier fichero.

El usuario por defecto es knoppix. Para operaciones que requieran privilegios de root, necesita hacer "su" a root y asignar una contraseña:

knoppix@ttyp0[knoppix]# su
root@ttyp0[knoppix]# passwd 

Para montar un sistema de ficheros de lectura/escritura desde la línea de comandos:

root@ttyp0[knoppix]# mount -t reiserfs -o rw /dev/hda5 /mnt/hda5 

Para desmontar:

root@ttyp0[knoppix]# umount /mnt/hda5 

Si obtiene un mensaje de error “Could not unmount device, device is busy”, algo está leyendo el sistema de ficheros. Cierre ficheros y cambie de directorio (cd) fuera del sistema de ficheros en cuestión.

¿Cómo saber qué punto de montaje y sistema de ficheros hay que especificar? Simplemente lea /etc/fstab:

root@ttyp0[knoppix]# cat /etc/fstab
 ...
 # Added by Knoppix
/dev/hda5 /mnt/hda5 reiserfs noauto,users,exec 0 0

Detección de hardware

Antes de continuar con la juerga de editar ficheros de configuración, a menudo conviene examinar información del hardware. Knoppix es excelente para esto, ya que contiene las excelentes últimas ediciones de la utilidades del sistema de Linux: fdisk, lspci, iwconfig, ifconfig, dmesg, /proc, y más. (Comprobar información del hardware también es útil para averiguar la compatibilidad de un sistema Linux antes de comprarlo. Tarjetas de sonido, modems software, y tarjetas de red wireless presentan problemas especialmente; los fabricantes a menudo cambian los chipsets sin cambiar los números de modelo, y usted necesita saber los chipsets para determinar si existen drivers Linux. El CD de Knoppix también contiene un gran número de ficheros de sonido, para hacer una rápida comprobación del audio, empezando con “OpenMusic” en el pantalla de bienvenida).

Y por supuesto KDE proporciona un bonito interfaz gráfico de usuario para ver todo esto; vaya a Sistema > Centro de información.

Recuperación de ficheros de datos

Normalmente la primera rutina de rescate es copiar ficheros de datos desde el disco con problemas. Este es mi método favorito cuando hay una gran cantidad de ficheros a copiar: instale un segundo disco duro, luego arranque Knoppix, copie los ficheros del viejo disco al nuevo. Incluso aunque no tenga bonitos discos intercambiables en caliente o cajas de discos extraíbles, sólo cuesta un par de minutos abrir la caja y enchufar uno. Tiene un disco duro nuevo y vacío, o uno viejo que necesite ser borrado y reformateado? “no problem”, prepare los discos desde Knoppix.

Particionado y formateo

Primero instale el segundo disco duro. Después arranque Knoppix y abra un shell de root. Si ya hay particiones en el segundo disco duro, simplemente reformatee las que necesite. Tenga en cuenta que los discos SCSI se designan sd, mientras que los discos IDE son hd. Este comando muestra las particiones existentes en el disco; asegúrese de usar valores apropiados para su sistema:

 root@ttyp0[knoppix]# fdisk -l /dev/hdb 

Para formatear una partición del disco:

 root@ttyp0[knoppix]# mkfs.ext2 -c /dev/hdb1 

Ésto crea un sistema de ficheros plain-vanilla ext2. -c comprueba los bloques erróneos. Por supuesto, puede utilizar el tipo que quiera, como: ext3, ReiserFS, lo que quiera:

 root@ttyp0[knoppix]# mke2fs -j -c /dev/hdb1
 root@ttyp0[knoppix]# mkreiserfs /dev/hdb1 

¿Cómo, no hay particiones? Primero, aquí tiene cómo crearlas desde la línea de comandos, con fdisk. Es medianamente seguro trastear con fdisk, ya que los cambios no son escritos en disco hasta que se lo diga con el comando apropiado. Así que puede probar diferentes opciones y ver la tabla de particiones antes de ejecutar los cambios. Esta secuencia de comandos crea una partición sencilla:

 root@ttyp0[knoppix]# fdisk /dev/hdb 

Teclee “m” en cualquier momento para mostrar una tabla de los comandos de fdisk. Después pulse “n” para crear una nueva partición. Ahora pulse “p” para que la partición sea primaria. Pulse Enter dos veces para aceptar los valores por defecto. O si no quiere usar el disco completo, pulse Enter una vez para aceptar el punto de inicio, luego seleccione el tamaño deseado:

 +1000M 

Pulse “p” en cualquier momento para ver cómo quedaría la tabla de particiones. Cuando todo esté correcto, pulse “w” para grabar los cambios en disco. Por defecto, fdisk crea una partición del tipo 83, lo que significa que es Linux. Para ver una lista de todos los tipos de partición pulse “l”. Para cambiar el tipo de partición, pulse “t”. ¿Quiere borrar una partición? Tan sencillo como hacer un pastel: pulse “d” y siga los mensajes.

QTParted

Incluso más sencillo es iniciar KDE y ejecutar QTParted (Sistema > QTParted). QTParted crea, borra y cambia tamaños de particiones de forma no destructiva (incluso NTFS). Así que puede hacer espacio para copiar sus datos sin perder nada.

Copiar ficheros en modo gráfico

Me gustan los manejadores de ficheros gráficos. Es mucho mas sencillo pinchar y arrastrar que escribir cadenas de texto. Pinche en los iconos en el escritorio de KDE que representan su disco fuente y el disco al que quiere copiarlos. Cada uno abre su propio explorador de ficheros, para que rápida y fácilmente pinche y arrastre. Asegúrese de hacer el disco de destino escribible.

Copiar ficheros desde la línea de comandos

No olvide crear un directorio para copiar ficheros en él:

 # mkdir /mnt/hdb1/home/carla/backup
 # cp -r /mnt/hda5/home/carla /mnt/hdb1/home/carla/backup 

Clonar un disco entero

Necesitará dos discos duros del mismo tamaño, o un disco de destino mayor que el de origen. Asegúrese de que no hay particiones montadas en ninguno de los discos. En este ejemplo /dev/hda es el disco origen, /dev/hdb es el disco de destino. El comando dd hace una copia exacta byte a byte, incluyendo el MBR (master boot record):

 # dd if=/dev/hda of=/dev/hdb 

Confusión en el montado

¿Está perdiendo la pista de lo que está montado y en qué estado? “no problem”, /proc viene al rescate

 # cat /proc/mounts 

Esto muestra todos los sistemas de archivos montados, los tipos de sistemas de archivos, el estado de lectura/escritura, y otros atributos. ¿Cuántos discos duros hay en el sistema? Uno de estos comandos se lo dirá (y recuerde, los discos SCSI son sd, los IDE son hd):

 # fdisk -l 
o
 # dmesg | grep hd 
o 
 # dmesg | grep sd 

Copiar a CD

KDE y Knoppix lo hacen sencillo. Suponiendo que haya un grabador de CDs en el sistema, simplemente pulse con el botón derecho del ratón sobre el icono de la partición que contiene sus ficheros, y verá la opción “Crear CD de datos con K3b”. Haga Archivo > Nuevo proyecto > Nuevo proyecto de datos, pinche y arrastre los ficheros que desea copiar y ya está. K3b es muy bueno detectando y configurando los dispositivos de CD; debería hacerlo todo por usted. Si algo no funciona, por favor, lea el artículo de developerWorks “ Burning CDs on Linux", que también le enseña cómo grabar CDs desde la línea de comandos.

Copiar a otros soportes

Discos Zip, disquetes, y dispositivos de almacenamiento USB serán reconocidos automáticamente por Knoppix, y los iconos serán colocados en el escritorio. Sencillamente haga escribible el disco al que quiere copiar los archivos y pinche y arrastre hasta que termine.

Copiar a través de la red

Puede configurar Knoppix para conectar a una red, como cualquier otro Linux. Knoppix tiene su propia utilidad gráfica de configuración: en el menú principal busque Knoppix > Red/Internet. De nuevo entra en juego la excelente detección de hardware de Knoppix; incluso funciona con tarjetas de red wireless (¡suponiendo que la tarjeta de red wireless sea soportada por Linux!). Sólo tiene que contestar una serie de preguntas, y ya está.

Es igual de fácil desde la línea de comandos. Como root ejecute:

 # netcardconfig 

Una vez están configurados los parámetros de su red, faltan varias opciones para transferir los ficheros. cp está bien para sistemas de ficheros ya montados. El copiado de ficheros a través de una red no fiable debería hacerse con scp (secure copy), y de hecho Knoppix no le dejará utilizar otra cosa. scp utiliza ssh para transferencias de ficheros encriptadas y le permite mover ficheros sin configurar NFS o Samba. Necesitará un servidor ejecutando ssh en algún sitio de la red para recibir los ficheros. Este comando copia un directorio completo:

 # scp -rp /mnt/hda5/home/carla 192.168.1.5:/home/carla/tmp 

Guía rápida de SSH

¡Cómo! ¿no tiene servidor ssh? Si de verdad aún no tiene ssh instalado, aquí tiene una guía rápida para ejecutar SSH. Pero antes de usarlo, aunque sea para tareas rutinarias de administración remota, debería estudiar ssh en más profundidad. Tenga en cuenta que ha habido una buena cantidad de parches de seguridad importantes publicados recientemente.

Open SSH viene con todas las principales distribuciones Linux, y la suya ya debería tenerlo. (para averiguarlo, teclee sshd). Si no es así, descárguelo e instálelo. No necesita estar en una máquina especial; cualquier PC con Linux ejecutando SSH. Inícielo de esta forma:

 # /etc/init.d/ssh start 

Luego, todo lo que necesita es que el mismo usuario tenga cuentas en ambas máquinas. Usar root es lo más sencillo, pero potencialmente peligroso. Y, por supuesto, puede crear las cuentas que necesite en Knoppix, con useradd y passwd. Luego ejecute el comando scp como en el ejemplo anterior, y ya está.

La primera vez que conecte, se mostrará el mensaje “The authenticity of host X can't be established...are you sure you want to continue connecting?”. Conteste “yes”. Le preguntará la contraseña de root del servidor SSH, y luego es usted libre para mover ficheros como un usuario distinto de root:

 # scp -rp /mnt/hda5/home/carla carla@192.168.1.5:/home/carla/tmp 

Abrir una consola de root en el sistema al que se ha conectado

Esto le permite operar en el sistema al que se ha conectado, como si estuviera conectado a él directamente. Identifique la partición en la que está el sistema remoto , luego abra una consola de root y móntela.

 root@ttyp0[knoppix]# mount /dev/hda1 /mnt/hda1
 root@ttyp0[knoppix]# chroot /mnt/hda1
 root@Knoppix:/ 

Fallos de Knoppix

Ejecutar programas desde un CD puede causar algunos problemas extraños, especialmente en portátiles. Normalmente es debido al gestor de energía, que puede hacer que la sesión de Knoppix se haga un lío: cuando se “despierta” la máquina, lo que puede hacer que Knoppix no responda a ningún comando. La única solución que conozco es deshabilitar la gestión de energía, o simplemente pulsar el botón de encendido e iniciar de nuevo.

Algunas veces, Knoppix se cuelga durante el arranque, y se cuelga a mitad del inicio de KDE (o cualquier sesión de las X). Cambie a la primera consola virtual (Ctrl + Alt + F1) para ver mensajes del sistema en directo; esto debería mostrarle dónde está el problema, Pulse Alt + F5 para volver a la sesión X por defecto. Por ejemplo, en uno de mis sistemas de prueba se quedó colgado haciendo la detección de SCSI. ¿Por qué? Quién sabe. Deshabilité la detección SCSI añadiendo “knoppix no scsi” en el boot prompt, y con eso se solucionó.

Fermento creativo de Knoppix

Linux siempre ha inspirado la creatividad divertida. Knoppix ha aparecido a lo grande, y hay docenas de proyectos innovadores inspirados en Knoppix, tales como Inside Security Rescue Toolkit, OpenGroupware Knoppix, Damn Small Linux, y Overclockix. Vea la sección de Recursos más abajo para más información y enlaces a “comos” para crear su propia distribución Linux.

Recursos

man fdisk

man mkfs

man fstab

man ifconfig

man mount

man proc

man dmesg

man iwconfig

man chroot

man scp

man sshd

man dd

man lspci

Sobre la autora

Carla Schroder es una revisora de PCs freelance , administradora de sistemas Linux y Windows para pequeñas empresas, y escritora de how-tos (cómos) para gente real. Carla descubrió los ordenadores y las nuevas tecnologías sobre 1994, y es la prueba viviente de que una persona autodidacta de mediana edad puede ser una buena gurú de los ordenadores. Léala en el nuevo libreo de O'Reilly, "The Linux Cookbook". Puede ponerse en contacto con Carla en dworks-at-bratgrrl.com.

Artículo original en inglés aquí:
http://www-106.ibm.com/developerworks/linux/library/l-knopx.html?ca=dgr-lnxw82Knoppix