#howto - Riavviare in emergenza con REISUB
Esiste una combinazione magica per riavviare in modo forzato il pc su Linux anche se totalmente bloccato. Ecco la combinazione REISUB.
Magic Sys Req
Il sistema di richieste di sistema Magic (Magic Sys Req) rappresenta una serie di combinazioni di tasti utilizzabili su Linux che permette di eseguire alcuni comandi di sistema a prescindere dallo stato in cui si trova, bypassando permessi, gui, e altri aspetti.
Normalmente questo sistema è disabilitato.
Attenzione:
Per accedere al Magic Sys Req è necessario il tasto “R Sist”, normalmente si trova come alternativa (tasto di secondo livello) al tasto “Print”
Riattivare il Magic Sys Req
È possibile riattivare il sistema in due modi differenti:
- temporaneo: ovvero valido fino a chiusura del pc.
- persistente: valido anche dopo il riavvio.
Riavvio temporaneo
Per riavviarlo fino a chiusura è possibile scrivere:
echo "1" | sudo tee /proc/sys/kernel/sysrq
Per disattivarlo:
echo "0" | sudo tee /proc/sys/kernel/sysrq
Riavvio persistente
Per il riavvio persistente è necessario invece modificare il file /etc/sysctl.conf
kernel.sysrq = 1
Per disattivare basta eliminare la stessa riga.
Elenco delle possibili combinazioni
Tramite le Magic Sys Req è possibile dare una varietà di comandi, per l’elenco completo si può fare affidamento anche alla relativa pagina di Wikipedia.
Per eseguire una combinazione bisogna sempre premere i tasti ALT+RSIST
, inoltre un ulteriore tasto. Di seguito un estratto (anche utile a capire il resto dell’articolo) dei tasti che è possibile premere:
- r: passa la tastiera da modalità “raw” a modalità XLATE (passaggio necessario per dare le altre combinazioni)
- b: riavvio del sistema
- c: riavvia kexec e produce un dump di sistema
- i: invia il segnale di SIGKILL a tutti i processi eccetto quello di avvio
- j: scongela i file system bloccati
- n: riorganizza le priorità dei processi secondo metodologia Real Time
- u: rimonta tutti i file system in sola lettura
- s sincronizza i file system
- e: invia il segnale SIGTERM a tutti i processi eccetto quello di avvio
- v: ripristina i framebuffer della console
REISUB
Con l’acronimo REISUB si intende quella sequenza di Magic Sys Req che, se date, riavvia in sicurezza il sistema se totalmente bloccato.
ATTENZIONE:
Scrivete piano le combinazioni! Non abbiate fretta, ogni operazione ha un costo in termini di tempo, se fatte velocemente potrebbero non terminare correttamente e potreste perdere dati.
Si analizzino le combinazioni
- r: attiva le combinazioni di tastiera
- e: invia il segnale di SIGTERM
- i: invia il segnale di SIGKILL (più aggressivo)
- s: sincronizza i file system
- u: rimonta i file system in sola lettura
- b: riavvia
Quindi tenendo premuto ALT+RSIST
e scrivendo in lenta successione R,E,I,S,U,B, si riavvierà il sistema (a prescindere dal suo stato).
G
La lettera G cattura l’input nel caso sia trattenuto da qualche applicazione su X11, può essere usato per maggiore sicurezza prima della sequenza REISUB (che diventerebbe quindi GREISUB).
Magic Sys Req in remoto
È possibile utilizzare le combinazioni in remoto scrivendo sul file /proc/sysrq-trigger
. Ad esempio per dare la combinazione con la lettera “i” scrivere:
echo B | sudo tee /proc/sysrq-trigger