## page was renamed from LeoIannacone/Prove/MagicSysReq ## page was upgraded by wilecoyote #format wiki #LANGUAGE it <
> <> <> = 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. {{{#!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: ||'''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.}}} <> = 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''' ||<: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'''''. = Sistemi in remoto = È 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: {{{ 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 = * [[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