IndiceBR TableOfContents |
Introduzione
La combinazione di tasti Magic Sys Req attiva una comunicazione con il kernel che consente di eseguire diversi comandi a basso livello utilizzando semplicemente la sequenza di tasti Alt+R Sist+Tasto (equivalente anche a Alt+Stamp+Tasto nella maggior parte delle tastiere). Questo evento ha priorità assoluta su tutti gli altri processi attivi sul sistema, a prescindere anche dallo stato attuale dello stesso. Anche per questa proprietà, la combinazione Magic Sys Req viene spesso usata per recuperare o riavviare un sistema bloccato senza corrompere i filesystem.
Normalmente tale combinazione funziona sempre, anche quando sembra che la tastiera non risponda, lo schermo sia bloccato, Ctrl+Alt +Canc non genera nessun cambiamento e sia impossibile accedere alle varie console tty.
Se si utilizza un kernel non precompilato, è opportuno verificare che sia stata abilitata l'opzione «CONFIG_MAGIC_SYSRQ», senza la quale la combinazione di tasti non può funzionare. |
Abilitazione delle combinazioni di tasti
Per motivi di sicurezza potrebbe essere opportuno abilitare o disabilitare le SysRq in base alle proprie necessità.
Per attivarle, è sufficiente digitare il seguente comando in una finestra di terminale:
sudo echo 1 > /proc/sys/kernel/sysrq
Per disattivarle è sufficiente digitare il seguente comando:
sudo echo 0 > /proc/sys/kernel/sysrq
È possibile controllare in qualsiasi momento l'abilitazione delle SysRq sul proprio sistema digitando il seguente comando in una finestra di terminale:
sudo cat /proc/sys/kernel/sysrq
Elenco delle combinazioni
Segue una tabella con le varie combinazioni di tasti usabili nella combinazione «Alt+R Sist+Tasto» per tastiere ti tipo [http://it.wikipedia.org/wiki/Qwerty QWERTY] con i relativi effetti sul sistema:
Tasto |
Effetto |
0...9 |
imposta il livello di log, che controlla i tipi di messaggi del kernel che vengono stampati alla console. Per tastiere AZERTY non serve usare il tasto Shift |
b |
ravvia il sistema senza smontare le partizioni e/o sincronizzare i dischi |
c |
riavvia il servizio kexec produce un dump di sistema che contiene informazioni sul blocco avvenuto |
e |
invia il segnale SIGTERM a tutti i processi eccetto init (processo con PID 1) |
f |
invoca oom_kill che termina automaticamente il processo che sta consumando tutta la memoria disponibile |
h |
mostra in una console l'help. Qualunque altra lettera non assegnata ad un comando produrrà lo stesso effetto |
i |
invia il segnale SIGKILL a tutti i processi eccettuato init |
k |
termina tutti i processi nell'attuale console virtuale (molto usato per killare applicazioni grafiche) |
l |
invia il segnale SIGKILL a tutti i processi, incluso init |
m |
mostra nella console informazioni correnti sulla memoria. Per tastiere AZERTY usare come tasto , |
o |
arresta il sistema |
p |
invia alla console le informazioni sui registri e le flag correnti |
r |
passa la tastiera dalla modalità raw (quella utilizzata da programmi come X11 e svgalib) alla modalità XLATE |
s |
sincronizza tutti i filesystem montati |
t |
invia alla console una lista dei task attuali e le loro relative informazioni |
u |
rimonta tutti i filesystem in sola lettura |
v |
stampa a video informazioni sul processore SMP Voyager |
In un ambiente grafico (server X), normalmente funzionante, si potrebbero avere alcuni problemi data l'interferenza con altre scorciatoie da tastiera, come ad esempio gli screenshot del desktop, collegati al tasto Stamp; si consiglia di provarle solo su tty testuali o a sistema bloccato. |
Sistemi in remoto
Se si possiede una macchina senza monitor o in connessione remota, le Magic Sys Req possono essere eseguite sulla linea di comando.BR Per eseguire le combinazioni sopra elencate è sufficiente reindirizzare le varie variabili, tramite il servizio echo, su /proc/sysrq-trigger. Ad esempio, se si desidera riavviare il sistema (combinazione: «Alt+R Sist+b») è sufficiente digitare in un terminale con i permessi di super-utente il seguente comando:
sudo echo b > /proc/sysrq-trigger
Sostituire la lettera b con una delle variabili sopracitate per avere l'effetto desiderato.
Un esempio di utilizzo: il riavvio sicuro
Per effettuare un riavvio sicuro su un sistema in freeze è sufficiente utilizzare la combinazione di tasti: «Alt+R Sist+ r e i s u b ». Per ricordare tale combinazione ci sono vari acronimi e mnemonici in inglese come ad esempio:
Raising Elephants Is So Utterly Boring
o anche BUSIER, da leggere al contrario
Utilizzare queste combinazioni di tasti ad un paio di secondi di distanza l'una dall'altra per assicurare una corretta applicazione ed evitare la necessità di un fsck delle partizioni nella successiva fase di riavvio.
In alcuni casi dopo l'uso come della combinazione «Alt+R Sist+e» o di «Alt+R Sist+i» si riottiene il controllo del sistema, potendo così evitare di proseguire fino al riavvio.
Ulteriori risorse
[http://en.wikipedia.org/wiki/Magic_SysRq_key Articolo su en.wikipedia.org]