ant

SALIR DE UNA CATASTROFE
4.11

sig

4.11 Que Hacer En Una Emergencia

En algunas ocasiones, el administrador de sistemas se encuentra con el problema de recuperarse de un desastre completo, como puede ser el olvidarse la palabra clave de root, o el enfrentarse con sistemas de ficheros dañados. El mejor consejo es, obrar sin pánico. Todo el mundo comete errores estúpidos esta es la mejor forma de aprender sobre administración de sistemas: la forma difícil.

Linux no es una versión inestable de UNIX. Linux también se beneficia de un fuerte complemento de asistentes que pueden ayudar a salir del agujero.

El primer paso al investigar cualquier problema es intentar arreglarlo uno mismo. Hurgue alrededor, vea como funcionan las cosas. Demasiadas veces, un administrador de sistemas pondrá un mensaje desesperado rogando ayuda antes de investigar el problema. Muchas de las veces, encontrará que arreglar problemas por uno mismo es realmente muy fácil. Este es el camino que debe seguir para convertirse en un gurú.

Hay pocos casos en los que sea necesario reinstalar el sistema desde cero. Muchos nuevos usuarios borran accidentalmente algún fichero esencial del sistema, e inmediatamente acuden a los discos de instalación. Esta no es una buena idea.

Antes de tomar medidas drásticas como esa, investigar el problema y preguntar a otros ayudará a solucionar las cosas. En prácticamente todos los casos, podrá recuperar el sistema desde un disquete de mantenimiento.

4.11.1 Recuperación utilizando un disquete/cd de mantenimiento

Una herramienta indispensable para el administrador de sistemas es el llamado "disco arranque/raíz" ("boot/root disk") un disquete desde el que se puede arrancar un sistema Linux completo, independiente del disco duro. Los discos de arranque/raíz son realmente muy simples se crea un sistema de ficheros raíz en el disquete, se ponen todas las utilidades necesarias en él y se instala LILO y un núcleo arrancable en el disquete. Otra técnica es usar un disquete para el núcleo y otro para el sistema de ficheros raíz. En cualquier caso, el resultado es el mismo: Ejecutar un sistema Linux completamente desde disquete. El ejemplo más claro de un disco de arranque/raíz son los discos de arranque Slackware.

Estos disquetes contienen un nucleo arrancable y un sistema de ficheros raíz, todo en disquete. Están diseñados para usarse en la instalación de la distribucion Slackware, pero vienen muy bien cuando hay que hacer mantenimiento del sistema. El disco de arranque/raíz de H.J Lu, disponible en /pub/Linux/GCC/rootdisk en sunsite.unc.edu, es otro ejemplo de este tipo de discos de mantenimiento. O, si se es ambicioso, se puede crear uno su propio disco. En muchos casos, sin embargo, la utilización de un disco de arranque/raíz prefabricado es mucho mas simple y probablemente será mas completo. La utilización de un disco de arranque/raíz es muy simple. Tan solo arranque el sistema con el disco, y haga login como root (normalmente sin password). Para poder acceder a los ficheros del disco duro, se necesitará montar el sistema de ficheros a mano. Por ejemplo, el comando

# mount -t ext2 /dev/hda2 /mnt montará un sistema de ficheros ext2fs existente en /dev/hda2 bajo /mnt.
Recuerde que / es ahora el propio disco de arranque/raíz; se necesitará montar los sistemas de ficheros de su disco duro bajo algún directorio para poder acceder a los ficheros. Por lo tanto, el fichero /etc/passwd de su disco duro es ahora /mnt/etc/passwd si se montó el sistema de ficheros raíz bajo /mnt.

Pero quien quiere un disquette existiendo las versiones Live-Cd de Linux, con las cuales no hace falta nada más que introducir el Cd en el Pc, arrancarlo y ya tendremos Linux funcionando. (un ejemplo KNOPPIX)

4.11.2 Arreglando la password de root

Si se olvida de la password de root, no hay problema. Solo hay que arrancar del disco de arranque/raíz (o desde un live-cd como Knoppix), montar su sistema de ficheros raíz en /mnt, y eliminar el campo de password de /root en /mnt/etc/passwd, como por ejemplo:

root::0:0:root:/root:/bin/bash

Ahora root no tiene password; al rearrancar desde el disco duro debería ser capaz de hacer login como root y poner la password que desee utilizando passwd.

¿No le gusto el haber aprendido a utilizar vi? En su disco de arranque/raíz probablemente no estarán disponibles otros editores como pueda ser Emacs, pero vi debería estarlo. (Tranquilo, en los live-cd de linux, como por ejemplo Knoppix, encontrará gran cantidad de software adicional además del Vi)

4.11.3 Arreglando sistemas de ficheros corrompidos

Si se corrompiese de alguna forma el sistema de ficheros, se puede ejecutar e2fsck (si se usa el sistema de ficheros ext2fs, por supuesto) para corregir desde disquete cualquier dato dañado en el sistema de ficheros. Otros tipos de sistemas de ficheros utilizan diferentes formas de comando fsck; véase la Sección 4.8 para mas detalles. Cuando se comprueba el sistema de ficheros desde disquete, es mejor que no este montado. Una causa común de daño en un sistema de ficheros es la corrupción del super bloque. El super bloque es la "cabecera" del sistema de ficheros que contiene información acerca del estado del sistema de ficheros, tamaño, bloques libres, y demás. Si se corrompe el super bloque (por ejemplo, escribiendo accidentalmente datos directamente a la partición del sistema de ficheros), el sistema no puede reconocer nada del sistema de ficheros. Cualquier intento de montar el sistema de ficheros fallara y e2fsck no será capaz de arreglar el problema. Felizmente, el tipo de sistema de ficheros ext2fs salva copias del super bloque en los limites de "grupos de bloques" en el disco _normalmente cada 8K bloques. Para poder decirle al e2fsck que utilice una copia del super bloque, se puede utilizar un comando tal que # e2fsck -b 8193 donde es la partición en la que reside el sistema de ficheros. La opcion -b 8193 le dice al e2fsck que utilice la copia del super bloque almacenada en el bloque 8193 del sistema de ficheros.

4.11.4 Recuperando ficheros perdidos

Si accidentalmente se borrasen ficheros importantes del sistema no habría forma de "desborrarlos". Sin embargo, se pueden copiar los ficheros relevantes desde el disquete al disco duro. Por ejemplo, si se hubiese borrado /bin/login de su sistema (que le permite hacer login), simplemente arranque del disquete de arranque/raíz, monte el sistema de ficheros raíz en /mnt, y use el comando # cp -a /bin/login /mnt/bin/login La opcion -a le dice a cp que conserve los permisos en los ficheros que se están copiando. Por supuesto, si los ficheros que se borraron no fueses ficheros esenciales del sistema que tengan contrapartidas en el disquete de arranque/raíz, se habrá acabado la suerte. Si se hicieron copias de seguridad, siempre se podrá recuperar de ellas.

4.11.5 Arreglando librerias corrompidas

Si accidentalmente se llegasen a corromper las librerias de enlaces simbólicos en /lib, es mas que seguro que comandos que dependan de estas librerias no vuelvan a funcionar (Véase la sección 4.7.2). La solución mas simple es arrancar del disquete de arranque/raíz, montar el sistema de ficheros raíz y arreglar las librerias en /mnt/lib.