Dimensione: 6660
Commento:
|
← Versione 28 del 23/11/2023 02.15.04 ⇥
Dimensione: 8711
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 |
|
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'''''» nella maggior parte delle tastiere). 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 o riavviare senza corrompere i ''filesystem'' un sistema bloccato. [[BR]] Di norma funziona sempre, anche quando sembra che la tastiera non risponda, lo schermo sia bloccato, '''Ctrl'''+'''Alt'''+'''Canc''' non genera nessun cambiamento e non si riesce ad accedere alle varie ''tty''.[[BR]] |
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 11: | Linea 13: |
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: |
||<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 non precompilato, è opportuno verificare se è stata abilitata in fase di compilazione l'opzione `CONFIG_MAGIC_SYSRQ`, senza la quale la combinazione di tasti non può funzionare.'' || | Proprio per questa proprietà, la combinazione '''!MagicSysReq''' viene spesso usata per recuperare o riavviare un sistema bloccato in modalità sicura, senza corrompere i ''filesystem''. |
Linea 14: | Linea 17: |
= Abilitazione delle SysRq = Per motivi di sicurezza potrebbe essere opportuno abilitare e/o disabilitare le '''Sys``Rq''' in base alle proprie necessità.[[BR]] * per attivarle, digitare in un terminale il seguente comando con i permessi di super-utente: {{{ sudo echo 1 > /proc/sys/kernel/sysrq }}} * per disattivarle digitare invece: {{{ sudo echo 0 > /proc/sys/kernel/sysrq }}} * in qualsiasi momento, per controllare lo stato delle '''Sys'''``'''Rq''' sul proprio sistema, è sufficiente digitare in un terminale il seguente comando: {{{ sudo cat /proc/sys/kernel/sysrq |
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 29: | Linea 31: |
Per disattivare digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando: {{{ sudo su -c 'echo 0 > /proc/sys/kernel/sysrq' }}} |
|
Linea 30: | Linea 36: |
= 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: |
Per verificare lo stato d'attivazione digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando: {{{ cat /proc/sys/kernel/sysrq }}} |
Linea 33: | Linea 41: |
||<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. 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'''|| |
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 54: | Linea 90: |
{{{#!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.}}} |
|
Linea 55: | Linea 93: |
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''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.'' || | <<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 58: | 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 61: | Linea 120: |
sudo echo b > /proc/sysrq-trigger | sudo su -c 'echo B > /proc/sysrq-trigger' |
Linea 63: | Linea 122: |
Sostituire la lettera '''b''' con una delle variabili sopracitate per avere l'effetto desiderato. | |
Linea 65: | Linea 123: |
= Un esempio di utilizzo: il riavvio sicuro = | = Utilizzi comuni = |
Linea 67: | 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 71: | Linea 127: |
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. |
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 76: | 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]] |
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.
Aprire coi privilegi di amministrazione e con un editor di testo il file /etc/sysctl.conf.
Rimuovere il # all'inizio della riga #kernel.sysrq=n e sostituirne il numero n col numero 1.
- 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.