sábado, julio 04, 2009

Apagado seguro en Linux con la tecla SysRQ (PetSis)


Aunque no es normal que suceda, en algún momento podría sufrir un cuelgue nuestro computador con Linux y en la mayoría de los casos, la gente tiende a simplemente presionar el botón de Reset.

Como dije, no es normal que se cuelgue un sistema Linux; pero no es perfecto y puede llegar a suceder. Tomando en cuenta que el computador no tiene daños físicos claro.

Ahora, un cierre inesperado del sistema producido por el botón de reset puede provocar daños en el sistema de archivos que no quisieramos, para evitar esto, el kernel tiene una pequeña opción llamada Magic SysRQ Keyque nos permitiría hacer un apagado correcto en caso de un cuelgue o un Kernel Panic.

Esta opción es cargada en un espacio de memoria especial y deberías poder usarla incluso en los momentos más caóticos, aunque he visto casos en los que no es así.

Para usar la opción necesitamos primero tenerla compilada en el kernel; la conseguimos en: Kernel Hacking -> Magic SysRq Key

Para usar el magic key debemos presionar: Alt+SysRQ (PetSis)+tecla_acción

Nota: En algunos casos la tecla SysRQ es llamada Impr Pant - PetSis

Las teclas de acción son:

‘b’ - Reiniciará inmediatamente el sistema sin sincronizar ni desmontar los discos.
‘c’ - Reinicio mediante kexec, conocido como reinicio rápido, no se hace la llamada al boot loader sino que se vuelve a cargar el kernel.
‘d’ - Muestra los bloqueos por pantalla.
‘e’ - Manda un SIGTERM a todos los procesos, excepto para init.
‘f’ - Fuerza una llamada oom_killer, esto hace que se mate al proceso que la funcion badness considere menos importante con el fin de liberar memoria.
‘h’ - Muesta una ayuda en pantalla.
‘i’ - Manda un SIGKILL a todos los procesos, excepto para init.
‘k’ - Mata todos los programas en la consola virtual actual, útil para limpiar la tty donde corre un servidor x o para acceder de modo seguro si se cree que puede haber algun key logger esperando para copiar nuestro password.
‘l’ - Manda un SIGKILL a todos los procesos, INCLUYENDO init.
‘m’ - Volcará la información actual de la memoria a su consola.
‘o’ - Apagará el sistema (si el harware lo soporta) sin sincronizar ni desmontar los discos
‘p’ - Volcará los registros y banderas actuales a su consola.
‘q’ - Muestra todos los temporizadores en pantalla.
‘r’ - Cambia el teclado del modo raw al modo XLATE.
’s’ - Intentará sincronizar todos los sistemas de ficheros montados.
‘t’ - Volcará una lista de las tareas en ejecución y su información a su consola.
‘u’ - Intentará montar de nuevo todos los sistemas de archivos montados como solo lectura.
‘w’ - Muestra todas las tareas en estado bloqueado.
‘0′-’9′ - Establece el nivel de información en consola, controlando los mensajes del núcleo que se mandarán a la consola, es equivalente a modificar klogd. (’0′, por ejemplo haría que sólo los mensajes de emergencia salieran en su consola.)

Apagado seguro:

Luego de un cuelgue del sistema o un Kernel Panic podríamos tratar de seguir los siguientes pasos para un apagado seguro:

1. Alt+SysRQ+R : Devuelve el control del teclado de modo RAW a XLATE (Switch the keyboard from raw mode, the mode used by programs such as X11 and svgalib, to XLATE mode)

2. Alt+SysRQ+E : Envía la señal SIGTERM a los procesos excepto a INIT (Send the SIGTERM signal to all processes except init)

3. Alt+SysRQ+I : Envía la señal SIGKILL a los procesos excepto a INIT (Send the SIGKILL signal to all processes except init)

4. Alt+SysRQ+S : Sincronizar discos para terminar de escribir lo que había en el buffer y evitar pérdida de datos (Sync all mounted filesystems)

5. Alt+SysRQ+U : Desmonta las unidades y las monta de nuevo como solo lectura (Remount all mounted filesystems in read-only mode)

6. Alt+SysRQ+B : Reinicio inmediato del sistema (Immediately reboot the system, without unmounting partitions or syncing)

Con eso hacemos un reinicio del sistema seguro sin esperar daños en el disco o sistema de archivos :)

Vía: http://util-pc.com/blog/category/otros-utiles/


0 comentarios:

 
Búsqueda personalizada