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 2 e 28 (in 26 versioni)
Versione 2 del 12/02/2008 19.55.07
Dimensione: 4018
Autore: LeoIannacone
Commento: Un primo salvataggio.
Versione 28 del 23/11/2023 02.15.04
Dimensione: 8711
Autore: jeremie2
Commento: Tabelle: rimozione vecchi colori standard
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
#format wiki
#LANGUAGE it
<<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 2: Linea 10:
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''.
Linea 4: Linea 11:
||<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.'' || 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.

{{{#!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'
}}}

Per disattivare digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:
{{{
sudo su -c 'echo 0 > /proc/sys/kernel/sysrq'
}}}

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 ||
Linea 7: Linea 88:
= Elenco delle combinazioni =
Segue una tabella con le varie combinazioni di tasti e i loro effetti sul sistema.
##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.
Linea 10: Linea 90:
||<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'''||
{{{#!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 30: Linea 115:
Se si possiede una macchina senza ''monitor'' o in connessione remota, le '''Magic Sys Req''' possono essere eseguiti sulla linea di comando sul terminale remoto.[[BR]]
Per eseguire le combinazioni sopra elencate da linea di comando è 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:

È 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 33: Linea 120:
echo b > /proc/sysrq-trigger sudo su -c 'echo B > /proc/sysrq-trigger'
Linea 35: Linea 122:
Sostituire la lettera '''b''' con una delle variabili sopracitate per avere l'effetto desiderato.
= 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
}}}

= 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 =

 * [[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]]

----
CategoryAmministrazione


Guida verificata con Ubuntu: 20.04

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