Avete presente quel misterioso tasto, talvolta chiamato R Sist (in italiano) o Sys Rq (in inglese)? Mi son chiesto per anni a cosa servisse e soprattutto se funzionava davvero… Un amico una volta mi disse, con aria mistica “Ti dà sempre una shell anche col computer in panne!”.

Vediamo di dare una risposta a questo interrogativo.

SysRq sta per System Request, ed è un tasto che, utilizzato in combinazioni particolari, lancia dei comandi alla macchina che possono essere particolarmente utili in caso di kernel panic, per esempio.

Per una lista completa, o una trattazione più approfondita potete consultate la relativa pagina su wikipedia .

Sfortunatamente (o fortunatamente, dipende dai punti di vista) questo tasto e le relative macro non sono abilitate di default (at least in Archlinux). Per un’abilitazione temporanea possiamo fare (da root):

# echo 1 > /proc/sys/kernel/sysrq

Per renderlo permanente al boot invece modifichiamo (o creiamo se non esiste) il file /etc/sysctl.conf modificando (o aggiungendo) la riga:

kernel.sysrq = 1

Invocando sysctl -p ricarichiamo la configurazione del file appena modificato.

In caso di kernel panic, o di blocco della macchina, prima di togliere brutalmente la corrente, possiamo provare questa combinazione: Un famoso “ritornello” per ricordarselo è “R*eboot *Even I*f *System U*tterly *Broken”, o “BUSIER” al contrario… Io REISUB me lo ricordo abbastanza bene.

Alt + SysRQ + r (unraw)
Alt + SysRQ + e (Terminate)
Alt + SysRQ + i (Kill)
Alt + SysRQ + s (Sync)
Alt + SysRQ + u (Unmount)
Alt + SysRQ + b (Reboot)

Questo permette di evitare di corrompere il filesystem, e soprattutto, inviando un SIGTERM a tutti i processi permette ai programmi di terminare in maniera corretta.

Che aggiungere… Buon disaster recovery a tutti…

Leave a Reply