Vamos a empezar en plan hardcore con un buen spoiler alert: Linux se cuelga. ¡Oh!… ¡Ah!… puedo oír cómo se rasgan las vestiduras de algunos; y las comisuras de otros, de tanto sonreír. Pues sí amiguitos, Linux puede colgarse por motivos muy variados, que van desde errores en módulos del kernel hasta problemas con dispositivos, pasando por mi novia tocando el ordenador (lo siento cariño, sabes que es verdad).
Hace unos minutos, una memoria USB malvada, que usamos en casa para grabar cosas de la tele, me ha dejado el sistema completamente atontado. En las distintas tty sólo podían leerse errores de lectura en FAT, y todo el sistema respondía como si de un 386 se tratara.
Pero, aún cuando el sistema parezca estar jodido más allá de cualquier posibilidad de recuperación… aún ahí, hay esperanza de hacer las cosas bien. Para ello, usaremos la tecla mágica conocida como SysRq (PetSis en algunos teclados).
Lo primero será entrar en una terminal virtual o tty, pulsando la combinación de teclas “Ctrl + Alt + F1” (o cualquier otra tecla de función para una terminal virtual válida). Tras ello, pulsaremos las teclas “Alt” y “SysRq” simultáneamente para, a continuación, pulsar en orden las siguientes teclas: RSEIUB. Para recordar la combinación suele usarse el nemotécnico “Raising Skinny Elephants Is Utterly Boring“. El efecto que dichas teclas ocasionan es el siguiente:
- R devuelve el control al teclado, al configurarlo en modo RAW.
- S sincroniza los sistemas de ficheros montados, para evitar pérdidas de información.
- E envía la señal SIGTERM a todos los procesos excepto init (PID 1).
- I envía la señal SIGKILL a todos los procesos excepto init (PID 1).
- U vuelve a montar todos los sistemas de ficheros en modo de sólo lectura.
- B reinicia el sistema de forma inmediata, sin desmontar sistemas de ficheros ni sincronizar (dado que ya lo hemos hecho nosotros).
Así que ya sabéis: ante un cuelgue con muy mala pinta, acordaos de los elefantitos. Por cierto, ¿a que siempre os habíais preguntado para qué demonios servía la tecla “SysRq”? :-P

The aim of the blog is to write about things relevant to our Linux geeks ‐ which might often be interesting to other Linux geeks as well.
Para que esto funcione tiene que estar incluida la opción “CONFIG_MAGIC_SYSRQ” en el Kernel (normalmente lo está en las distribuciones de GNU/Linux actuales) y también tiene que estar activado en /proc/sys/kernel/sysrq (también suele venir activado por defecto).
Para comprobar si está activado (tiene que salir un 1):
cat /proc/sys/kernel/sysrq
Para activarlo en la sesión actual:
echo 1 > /proc/sys/kernel/sysrq
Para activarlo para posteriores rearranques del sistema:
echo “kernel.sysrq = 1″ >> /etc/sysctl.conf
Más info: http://www.mjmwired.net/kernel/Documentation/sysrq.txt
Sí, la triste realidad es que es cierto… aunque yo no hago nada aposta! ;p
Casualidades de la vida, hace un par de dias tuve que utilizar esto… el modulo de la tarjeta wifi de un colega se colgaba la autenticarse en eduroam con WPA…
De todas maneras pensaba que el orden era REISUB (que en realidad creo que tiene mas sentido, pues sincroniza después de matar a los procesos… así pues el mnemónico yo lo conocia por “Raising Elephants Is So Utterly Boring” y también había unos tiempos de espera entre unas peticiones y otras, para dar tiempo al cacharro a que termine la anterior peticion; de todas maneras acabo de investigar un poco por google y me parece que cada uno usa lo que le da la gana, total, a poco que se haga, mejor que el botonazo a la alimentación será…
Joder ya te digo yo que se cuelga….