Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmministrazioneSistema/MagicSysReq"
Differenze tra le versioni 5 e 29 (in 24 versioni)
Versione 5 del 12/02/2008 20.22.16
Dimensione: 4941
Commento:
Versione 29 del 02/12/2025 17.22.06
Dimensione: 8733
Autore: ivantu
Commento: +DaRevisionare
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from LeoIannacone/Prove/MagicSysReq
## page was upgraded by wilecoyote
Linea 3: Linea 5:
[[BR]]
||<tablestyle="float:right; font-size: 0.9em; width:35%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]] [[TableOfContents]]||
<<BR>>
<<Indice(deepth=2)>>
<<Informazioni(rilasci="20.04 18.04 16.04 14.04";forum="http://forum.ubuntu-it.org/viewtopic.php?f=46&t=639126")>>
Linea 8: Linea 11:
La combinazione di tasti '''Magic Sys Req''' è una modalità di comunicazione con il ''kernel'' di '''Linux''' che permette di eseguire diversi comandi a basso livello utilizzando semplicemente la sequenza di tasti «'''Alt'''+'''R Sist'''+'''''tasto'''''» (equivalente anche a «'''Alt'''+'''Stamp'''+'''''tasto'''''»). Questo evento ha priorità assoluta su tutti gli altri processi attivi sul sistema, a prescindere anche dallo stato in cui si trova il sistema stesso. Proprio per questa proprietà, la combinazione '''Magic Sys Req''' viene spesso usata per recuperare sistemi bloccati o per riavviare il '''PC''' senza corrompere il proprio ''filesystem''. Il kernel '''Linux''' offre una modalità di comunicazione a basso livello che permette l'esecuzione di comandi importanti, come l'arresto del sistema, con una semplice combinazione di tasti, chiamata '''!MagicSysReq''', composta da '''Alt+R Sist+''Tasto''''' (equivalente a '''Alt+Stamp+''Tasto''''' nella maggior parte delle tastiere).
Linea 10: Linea 13:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Se si possiede un kernel compilato da se, è opportuno verificare se è stata abilitata in fase di compilazione l'opzione `CONFIG_MAGIC_SYSRQ`, senza la quale la combinazione di tasti non potrebbe funzionare.'' || L'evento generato dalla pressione di questi tasti, ha priorità assoluta su tutti gli altri processi attivi sul sistema, a prescindere anche dallo stato attuale del sistema stesso.
Linea 12: Linea 15:
= Abilitazione delle SysRq =
Per motivi di sicurezza potrebbe essere opportuno abilitare e/o disabilitare le '''Sys``Rq''' in base alle proprie necessità:
 * per attivarle, digitare in un terminale il seguente comando con i permessi di super-utente:
 {{{
echo 1 > /proc/sys/kernel/sysrq
}}}
 * per disattivarle digitare invece:
 {{{
echo 0 > /proc/sys/kernel/sysrq
Proprio per questa proprietà, la combinazione '''!MagicSysReq''' viene spesso usata per recuperare o riavviare un sistema bloccato in modalità sicura, 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 virtuali.

{{{#!wiki note
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 '''!MagicSysReq''' in base alle proprie necessità.

Per attivare digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:
{{{
sudo su -c 'echo 1 > /proc/sys/kernel/sysrq'
Linea 23: Linea 31:
= Elenco delle combinazioni =
Segue una tabella con le varie combinazioni di tasti e i loro effetti sul sistema.
Per disattivare digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:
{{{
sudo su -c 'echo 0 > /proc/sys/kernel/sysrq'
}}}
Linea 26: Linea 36:
||<tablestyle="width:100%" : 10% style="background-color:#FB8B00;">'''Tasto''' ||<style="background-color:#FB8B00;":>'''Effetto''' ||
||<:>'''0...9''' ||imposta il livello di log, che controlla i tipi di messaggi del kernel che vengono stampati alla console||
||<:>'''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.||
||<:>'''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'''||
Per verificare lo stato d'attivazione digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:
{{{
cat /proc/sys/kernel/sysrq
}}}

Nel caso appaia un valore numerico differente da '''''1''''' o '''''0''''', per significato e impostazione consultare il paragrafo [[#parziale|Attivazione parziale]].

== Impostazioni permanenti ==

Per rendere permanenti le impostazioni seguire questi passaggi.

 0. Aprire coi [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/sysctl.conf`.
 0. Rimuovere il {{{#}}} all'inizio della riga '''#kernel.sysrq=n''' e sostituirne il numero '''n''' col numero '''1'''.
 0. Salvare e chiudere il file.

{{{#!wiki note
Il file `/etc/sysctl.conf` è presente anche come collegamento simbolico nella directory `/etc/sysctl.d/` col nome di `99-sysctl.conf`.
}}}

= Lista delle combinazioni =

la seguente tabella mostra la lista di tasti usati colla combinazione '''Alt+Stamp''' colle tastiere di tipo [[http://it.wikipedia.org/wiki/Qwerty|QWERTY]]), colle azioni eseguite sul sistema:

||<tablestyle="width:80%;" :5%>'''Tasto''' ||<:95%>'''Significato parametro''' ||
||<:> '''0-9''' ||<:>Imposta il livello di log ||
||<:> '''B''' ||<:>Riavvia il sistema senza smontare le partizioni o sincronizzare i dischi ||
||<:> '''C''' ||<:>Riavvia il servizio kexec e produce un listato del sistema contenente tutte le informazioni sul blocco occorso ||
||<:> '''D''' ||<:>Mostra i '''Lock''' attivi ||
||<:> '''E''' ||<:>Invia il segnale '''SIGTERM''' a tutti i processi eccetto '''init''' ||
||<:> '''F''' ||<:>Termina il processo più esoso per memoria occupata ||
||<:> '''G''' ||<:>Usando il '''Kernel Mode Setting''' commuta alla console framebuffer del kernel, in presenza del '''Kernel Debugger (kdb)''' l'attiva ||
||<:> '''H''' ||<:>Mostra la guida in un terminale ||
||<:> '''I''' ||<:>Invia il segnale '''SIGKILL''' a tutti i processi eccetto '''init''' ||
||<:> '''J''' ||<:>Forza lo sblocco dei filesystem bloccati dal '''ioctl FIFREEZE''' ||
||<:> '''K''' ||<:>Termina tutti i processi listati nel terminale allo scopo di forzare la chiusura delle applicazioni grafiche ||
||<:> '''L''' ||<:>Invia il segnale '''SIGKILL''' a tutti i processi, incluso '''init''' ||
||<:> '''M''' ||<:>Mostra nel terminale le informazioni correnti sulla memoria ||
||<:> '''N''' ||<:>Azzera il livello del '''Nice''' di tutti i processi prioritari ||
||<:> '''O''' ||<:>Arresta il sistema ||
||<:> '''P''' ||<:>Invia al terminale le informazioni sui registri e le opzioni selezionate ||
||<:> '''Q''' ||<:>Mostra i timer e la fonte clock ||
||<:> '''R''' ||<:>Commuta la tastiera dalla modalità ''raw'' alla modalità ''XLATE'' ||
||<:> '''S''' ||<:>Sincronizza tutti i filesystem montati ||
||<:> '''T''' ||<:>Mostra nel terminale la lista dei processi attivi e le relative informazioni ||
||<:> '''U''' ||<:>Rimonta tutti i filesystem in sola lettura ||
||<:> '''V''' ||<:>Mostra le informazioni sul processore SMP Voyager ||
||<:> '''W''' ||<:>Mostra la lista dei processi bloccati (in stato D) ||
||<:> '''X''' ||<:>Mostra i registri dei processori con architettura SPARC-64 ||
||<:> '''Y''' ||<:>Produce un listato del buffer ftrace ||
||<:> '''Z''' ||<:>Stampa la lista dei tasti '''!MagicSysReq''' attivi ||


##In caso di ''layout'' di tastiera differente, considerare che per l'uso di questi tasti speciali è come se la vostra tastiera fosse ''QWERTY''. Considerare quindi le sostituzioni necessarie per il loro corretto uso.

{{{#!wiki tip
Durante l'uso di un [[AmbienteGrafico|ambiente grafico]] tali combinazioni di tasti potrebbero non funzionare correttamente, a causa delle interferenze con le scorciatoie da tastiera gestite dallo stesso ambiente, come ad esempio il tasto '''Stamp''', solitamente associato alla cattura dell'area di lavoro corrente; per tale motivo si consiglia di provare le '''!MagicSysReq''' solo su console virtuali '''tty''' o a sistema bloccato.}}}

<<Anchor(parziale)>>
= Attivazione parziale =

Normalmente la '''!MagicSysReq''' è preimpostata a usare dei parametri limitati, impostati tramite un valore numerico sommabili, in '''Ubuntu''' tipicamente a '''''176'''''.

La seguente tabella mostra il significato d'ogni valore numerico:

||<tablestyle="width:80%;" :5%>'''Tasto''' ||<:95%>'''Significato parametro''' ||
||<:> '''0''' ||<:>Disabilita completamente '''!MagicSysReq''' ||
||<:> '''1''' ||<:>Abilita completamente '''!MagicSysReq''' ||
||<:> '''2''' ||<:>Abilita controllo del livello dei log console ||
||<:> '''4''' ||<:>Abilita controllo della tastiera ||
||<:> '''8''' ||<:>Abilita il debug dei listati dei processori ||
||<:> '''16''' ||<:>Abilita comando '''Sync''' ||
||<:> '''32''' ||<:>Abilita il rimontaggio in solo lettura ||
||<:> '''64''' ||<:>Abilita segnalamento dei processi '''Term''' e '''Kill''' ||
||<:> '''128''' ||<:>Permette riavvio/spegnimento ||
||<:> '''256''' ||<:>Permette il controlla il livello del '''Nice''' di tutti i task Real Time ||

 Ad esempio, il valore numerico '''''176''''' è la somma corrispondente a '''''128+32+16'''''.
Linea 46: Linea 115:
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:

È possibile eseguire una '''!MagicSysReq''' anche su macchine remote.

Per eseguire le combinazioni sopra elencate è sufficiente reindirizzare con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] le varie variabili, tramite il comando '''echo''', sul file `/proc/sysrq-trigger`. Per esempio, se si desidera riavviare il sistema con la combinazione '''Alt+Stamp+B''', una volta autenticati, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:
Linea 49: Linea 120:
echo b > /proc/sysrq-trigger sudo su -c 'echo B > /proc/sysrq-trigger'
Linea 51: Linea 122:
Sostituire la lettera '''b''' con una delle variabili sopracitate per avere l'effetto desiderato.
Linea 53: Linea 123:
= Un esempio di utilizzo: il riavvio sicuro = = Utilizzi comuni =
Linea 55: Linea 125:
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:
 * '''''R'''aising '''E'''lephants '''I'''s '''S'''o '''U'''tterly '''B'''oring''
 * o anche '''''BUSIER''''', da leggere al contrario
Per effettuare un riavvio sicuro su un sistema bloccato è sufficiente utilizzare la serie di combinazioni '''Alt+Stamp+''R E I S U B''''', prestando attenzione a premere i tasti nell'ordine sopra indicato e ad un paio di secondi di distanza l'uno dall'altro.
Linea 59: Linea 127:
Utilizzare queste combinazioni di tasti ad un paio di secondi di distanza l'una dall'altra per impedire un ''fsck'' nella successiva fase di riavvio. In alcuni casi, dopo l'uso delle combinazioni '''Alt+Stamp+E''' e '''Alt+Stamp+I''', si ottiene nuovamente il controllo del sistema, evitando dunque il riavvio del sistema.
Linea 62: Linea 130:
 * [http://en.wikipedia.org/wiki/Magic_SysRq_key Articolo su en.wikipedia.org]
 * [[https://www.kernel.org/doc/Documentation/sysrq.txt|Guida sul sito di Kernel.org]]
 * [[http://ubuntuforums.org/showthread.php?t=617349|Guida sul forum internazionale]]
 * [[http://en.wikipedia.org/wiki/Magic_SysRq_key|Voce enciclopedica]]
Linea 65: Linea 136:
CategoryAmministrazione CategoryAmministrazione CategoryDaRevisionare


Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Il kernel Linux offre una modalità di comunicazione a basso livello che permette l'esecuzione di comandi importanti, come l'arresto del sistema, con una semplice combinazione di tasti, chiamata MagicSysReq, composta da Alt+R Sist+Tasto (equivalente a Alt+Stamp+Tasto nella maggior parte delle tastiere).

L'evento generato dalla pressione di questi tasti, ha priorità assoluta su tutti gli altri processi attivi sul sistema, a prescindere anche dallo stato attuale del sistema stesso.

Proprio per questa proprietà, la combinazione MagicSysReq viene spesso usata per recuperare o riavviare un sistema bloccato in modalità sicura, 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 virtuali.

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 MagicSysReq in base alle proprie necessità.

Per attivare digitare nel terminale il seguente comando:

sudo su -c 'echo 1 > /proc/sys/kernel/sysrq'

Per disattivare digitare nel terminale il seguente comando:

sudo su -c 'echo 0 > /proc/sys/kernel/sysrq'

Per verificare lo stato d'attivazione digitare nel terminale il seguente comando:

cat /proc/sys/kernel/sysrq

Nel caso appaia un valore numerico differente da 1 o 0, per significato e impostazione consultare il paragrafo Attivazione parziale.

Impostazioni permanenti

Per rendere permanenti le impostazioni seguire questi passaggi.

  1. Aprire coi privilegi di amministrazione e con un editor di testo il file /etc/sysctl.conf.

  2. Rimuovere il # all'inizio della riga #kernel.sysrq=n e sostituirne il numero n col numero 1.

  3. Salvare e chiudere il file.

Il file /etc/sysctl.conf è presente anche come collegamento simbolico nella directory /etc/sysctl.d/ col nome di 99-sysctl.conf.

Lista delle combinazioni

la seguente tabella mostra la lista di tasti usati colla combinazione Alt+Stamp colle tastiere di tipo QWERTY), colle azioni eseguite sul sistema:

Tasto

Significato parametro

0-9

Imposta il livello di log

B

Riavvia il sistema senza smontare le partizioni o sincronizzare i dischi

C

Riavvia il servizio kexec e produce un listato del sistema contenente tutte le informazioni sul blocco occorso

D

Mostra i Lock attivi

E

Invia il segnale SIGTERM a tutti i processi eccetto init

F

Termina il processo più esoso per memoria occupata

G

Usando il Kernel Mode Setting commuta alla console framebuffer del kernel, in presenza del Kernel Debugger (kdb) l'attiva

H

Mostra la guida in un terminale

I

Invia il segnale SIGKILL a tutti i processi eccetto init

J

Forza lo sblocco dei filesystem bloccati dal ioctl FIFREEZE

K

Termina tutti i processi listati nel terminale allo scopo di forzare la chiusura delle applicazioni grafiche

L

Invia il segnale SIGKILL a tutti i processi, incluso init

M

Mostra nel terminale le informazioni correnti sulla memoria

N

Azzera il livello del Nice di tutti i processi prioritari

O

Arresta il sistema

P

Invia al terminale le informazioni sui registri e le opzioni selezionate

Q

Mostra i timer e la fonte clock

R

Commuta la tastiera dalla modalità raw alla modalità XLATE

S

Sincronizza tutti i filesystem montati

T

Mostra nel terminale la lista dei processi attivi e le relative informazioni

U

Rimonta tutti i filesystem in sola lettura

V

Mostra le informazioni sul processore SMP Voyager

W

Mostra la lista dei processi bloccati (in stato D)

X

Mostra i registri dei processori con architettura SPARC-64

Y

Produce un listato del buffer ftrace

Z

Stampa la lista dei tasti MagicSysReq attivi

Durante l'uso di un ambiente grafico tali combinazioni di tasti potrebbero non funzionare correttamente, a causa delle interferenze con le scorciatoie da tastiera gestite dallo stesso ambiente, come ad esempio il tasto Stamp, solitamente associato alla cattura dell'area di lavoro corrente; per tale motivo si consiglia di provare le MagicSysReq solo su console virtuali tty o a sistema bloccato.

Attivazione parziale

Normalmente la MagicSysReq è preimpostata a usare dei parametri limitati, impostati tramite un valore numerico sommabili, in Ubuntu tipicamente a 176.

La seguente tabella mostra il significato d'ogni valore numerico:

Tasto

Significato parametro

0

Disabilita completamente MagicSysReq

1

Abilita completamente MagicSysReq

2

Abilita controllo del livello dei log console

4

Abilita controllo della tastiera

8

Abilita il debug dei listati dei processori

16

Abilita comando Sync

32

Abilita il rimontaggio in solo lettura

64

Abilita segnalamento dei processi Term e Kill

128

Permette riavvio/spegnimento

256

Permette il controlla il livello del Nice di tutti i task Real Time

  • Ad esempio, il valore numerico 176 è la somma corrispondente a 128+32+16.

Sistemi in remoto

È possibile eseguire una MagicSysReq anche su macchine remote.

Per eseguire le combinazioni sopra elencate è sufficiente reindirizzare con i privilegi di amministrazione le varie variabili, tramite il comando echo, sul file /proc/sysrq-trigger. Per esempio, se si desidera riavviare il sistema con la combinazione Alt+Stamp+B, una volta autenticati, digitare nel terminale il seguente comando:

sudo su -c 'echo B > /proc/sysrq-trigger'

Utilizzi comuni

Per effettuare un riavvio sicuro su un sistema bloccato è sufficiente utilizzare la serie di combinazioni Alt+Stamp+R E I S U B, prestando attenzione a premere i tasti nell'ordine sopra indicato e ad un paio di secondi di distanza l'uno dall'altro.

In alcuni casi, dopo l'uso delle combinazioni Alt+Stamp+E e Alt+Stamp+I, si ottiene nuovamente il controllo del sistema, evitando dunque il riavvio del sistema.

Ulteriori risorse


CategoryAmministrazione CategoryDaRevisionare