|
Dimensione: 8876
Commento: Aggiunto 1 passaggio
|
← Versione 29 del 02/12/2025 17.22.06 ⇥
Dimensione: 8733
Commento: +DaRevisionare
|
| Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
| Linea 47: | Linea 47: |
| 0. Aprire coi [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/sysctl.d/99-sysctl.conf`. 0. Rimuovere il {{{#}}} all'inizio della riga '''#kernel.sysrq=1'''. |
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'''. |
| Linea 50: | Linea 50: |
{{{#!wiki note Il file `/etc/sysctl.conf` è presente anche come collegamento simbolico nella directory `/etc/sysctl.d/` col nome di `99-sysctl.conf`. }}} |
|
| Linea 55: | Linea 59: |
| ||<tablestyle="width:80%;" rowstyle="background-color: #cccccc;" :5%>'''Tasto''' ||<:95%>'''Significato parametro''' || ||<:#f7f7f7> '''0-9''' ||<:>Imposta il livello di log || ||<:#f7f7f7> '''B''' ||<:>Riavvia il sistema senza smontare le partizioni o sincronizzare i dischi || ||<:#f7f7f7> '''C''' ||<:>Riavvia il servizio kexec e produce un listato del sistema contenente tutte le informazioni sul blocco occorso || ||<:#f7f7f7> '''D''' ||<:>Mostra i '''Lock''' attivi || ||<:#f7f7f7> '''E''' ||<:>Invia il segnale '''SIGTERM''' a tutti i processi eccetto '''init''' || ||<:#f7f7f7> '''F''' ||<:>Termina il processo più esoso per memoria occupata || ||<:#f7f7f7> '''G''' ||<:>Usando il '''Kernel Mode Setting''' commuta alla console framebuffer del kernel, in presenza del '''Kernel Debugger (kdb)''' l'attiva || ||<:#f7f7f7> '''H''' ||<:>Mostra la guida in un terminale || ||<:#f7f7f7> '''I''' ||<:>Invia il segnale '''SIGKILL''' a tutti i processi eccetto '''init''' || ||<:#f7f7f7> '''J''' ||<:>Forza lo sblocco dei filesystem bloccati dal '''ioctl FIFREEZE''' || ||<:#f7f7f7> '''K''' ||<:>Termina tutti i processi listati nel terminale allo scopo di forzare la chiusura delle applicazioni grafiche || ||<:#f7f7f7> '''L''' ||<:>Invia il segnale '''SIGKILL''' a tutti i processi, incluso '''init''' || ||<:#f7f7f7> '''M''' ||<:>Mostra nel terminale le informazioni correnti sulla memoria || ||<:#f7f7f7> '''N''' ||<:>Azzera il livello del '''Nice''' di tutti i processi prioritari || ||<:#f7f7f7> '''O''' ||<:>Arresta il sistema || ||<:#f7f7f7> '''P''' ||<:>Invia al terminale le informazioni sui registri e le opzioni selezionate || ||<:#f7f7f7> '''Q''' ||<:>Mostra i timer e la fonte clock || ||<:#f7f7f7> '''R''' ||<:>Commuta la tastiera dalla modalità ''raw'' alla modalità ''XLATE'' || ||<:#f7f7f7> '''S''' ||<:>Sincronizza tutti i filesystem montati || ||<:#f7f7f7> '''T''' ||<:>Mostra nel terminale la lista dei processi attivi e le relative informazioni || ||<:#f7f7f7> '''U''' ||<:>Rimonta tutti i filesystem in sola lettura || ||<:#f7f7f7> '''V''' ||<:>Mostra le informazioni sul processore SMP Voyager || ||<:#f7f7f7> '''W''' ||<:>Mostra la lista dei processi bloccati (in stato D) || ||<:#f7f7f7> '''X''' ||<:>Mostra i registri dei processori con architettura SPARC-64 || ||<:#f7f7f7> '''Y''' ||<:>Produce un listato del buffer ftrace || ||<:#f7f7f7> '''Z''' ||<:>Stampa la lista dei tasti '''!MagicSysReq''' attivi || |
||<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 96: | Linea 100: |
| ||<tablestyle="width:80%;" rowstyle="background-color: #cccccc;" :5%>'''Tasto''' ||<:95%>'''Significato parametro''' || ||<:#f7f7f7> '''0''' ||<:>Disabilita completamente '''!MagicSysReq''' || ||<:#f7f7f7> '''1''' ||<:>Abilita completamente '''!MagicSysReq''' || ||<:#f7f7f7> '''2''' ||<:>Abilita controllo del livello dei log console || ||<:#f7f7f7> '''4''' ||<:>Abilita controllo della tastiera || ||<:#f7f7f7> '''8''' ||<:>Abilita il debug dei listati dei processori || ||<:#f7f7f7> '''16''' ||<:>Abilita comando '''Sync''' || ||<:#f7f7f7> '''32''' ||<:>Abilita il rimontaggio in solo lettura || ||<:#f7f7f7> '''64''' ||<:>Abilita segnalamento dei processi '''Term''' e '''Kill''' || ||<:#f7f7f7> '''128''' ||<:>Permette riavvio/spegnimento || ||<:#f7f7f7> '''256''' ||<:>Permette il controlla il livello del '''Nice''' di tutti i task Real Time || |
||<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 || |
| Linea 132: | 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.
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.
