Evitando reiniciar en linux
Excelente artÃculo, donde se explica como evitar tener que reiniciar tu ordenador y poder “seguir trabajando”.
El texto ha sido extraÃdo de esta web.
Aprovecho otra vez para explicaros cómo me he salvado de un reinicio inevitable, gracias al kernel precompilado de Ubuntu. Funciona para otras distros, siempre que tengan el sysrq activado.
Sysrq es un genial sistema salvavidas de linux (desconozco si funciona para otros UNIX) que permite decirle al sistema “haz lo que quieras, pero no te mueras”. Cuando el ordenador está frito, puede ser que siga reaccionando al teclado, pero no pueda procesar la orden por estar saturado. Por ello los diseñadores implementaron el SysRq por encima de toda prioridad, para recuperar todo lo que fuera posible. Ese “lo que quieras” es, según el orden que sigo siempre yo:
- Alt + SysRq + R: Poner el teclado en modo Raw. Le dice al sistema que descargue todos los controladores de teclado. Si el entorno gráfico está muerto, a veces un alt+sysrq+r permite hacer ctrl+alt+F1 y abrir una terminal para matar al proceso que está jodiendo al sistema. Si esto no funciona, tenemos que pasar al
- Alt + SysRq + S: Sincroniza los discos duros. Como a partir de ahora puede ser que reiniciemos el ordenador, es mejor decirle al sistema que guarde nuestros datos para que al arrancar no tenga que hacer un fsck (scandisk). Entonces intentamos hacer un
- Alt + SysRq + E: tErminar todos los procesos del sistema, excepto init. A mi me funcionó esta vez. Cerró todos los programas, y se me abrió una consola. Si no funciona, tendremos que probar el
- Alt + SysRq + I: kIll (matar) todos los procesos, menos init. En lugar de decirle a los programas que se cierren, los mata con alevosÃa y mala leche. El resultado suele ser el mismo que en el paso anterior, una terminal. Si tampoco hemos conseguido que reaccione, entonces tendremos que reiniciar. Haremos un
- Alt + SysRq + U: Umount (desmontar) los discos. Igual que en el segundo paso guardamos los datos de las cachés, ahora los desconectamos del sistema, para que no se casquen al reiniciar. Y ahora, un
- Alt + SysRq + B: reBoot (reiniciar). Como apretar el botón de reset, pero sin agacharse. Obviamente, perderemos todos los datos. Si hemos podido sincronizar y desmontar el disco, el sistema no se corromperá
Un mnemotécnico que leà en un libro hace años y permite recordar la combinación de teclas es: Raising Skinny Elephants Is Utterly Boring. Como su significado es realmente estúpido, es fácil acordarse de las palabras.La salida de dmesg me dice lo siguiente:
1. SysRq : HELP : loglevel0-8 reBoot tErm kIll saK showMem powerOff showPc unRaw Sync showTasks Unmount
2. SysRq : Keyboard mode set to XLATE
3. SysRq : Emergency Sync
4. Emergency Sync complete
5. SysRq : Terminate All Tasks
La primera lÃnea activa el modo SysRq, porque pulsé la R. Esto lo dice en la segunda lÃnea. La tercera fue cuando intenté hacer el S, y la cuarta nos muestra que no hubo errores. En la quinta el sistema cerró todos los procesos.
Claro, si E o I funcionan, nos quedamos en una puta terminal con solamente el init abierto. ¿Cómo volvemos al estado anterior? Yo entré en el directorio /etc/rc2.d (porque normalmente o en init 2, si no lo sabéis mirad qué número aparece en la lÃnea arrancid:2:initdefault: del archivo /etc/inittab) y empecé a ejecutar ./SXXnombre start, para cada uno de los archivos que hay allà (cambiad XXnombre por lo que corresponda). Una vez abierto el gestor de ventanas gdm o kdm ya volvéis a tener el sistema perfecto, aunque posiblemente hayáis perdido los archivos abiertos, esto es inevitable
Cuando se os cuelgue el sistema, no desesperéis. Si tenéis una red local, y el servidor SSH activado (cosa que recomiendo, ni que esté sólo escuchando conexiones del otro PC), podéis entrar remotamente al PC “muerto” para matar los programas que estén cascados. Si no, se puede intentar hacer un SysRq. Aun con todo, podremos reiniciar el sistema de forma ordenada y sin corrupción de datos. Y si todo estuviera totalmente muerto, y no funcionara el teclado, apretando el botón de apagado de la torre -y con acpid o apmd instalado- el sistema entenderá lo mismo que un SysRq + S,I,B. Como veis, el ctrl-alt-supr de Windows es basura comparado con los métodos de recuperación existentes en linux.
Mar 22

Julio 3rd, 2007 a las 12:00 am
[...] Como he empezado a trastear como un niño chico con un juguete nuevo no han tardado en aparecer los problemas, creo que debido a los “efectos del escritorio” he provocado un fallo y me he quedado colgado, menos mal que hace tiempo escribà un artÃculo para casos de emergencia en linux [...]