# LINUX: Touches pour requête système {{METATOC 4-5}} #### Description C'est une combinaison de touches magiques à laquelle le noyau répondra toujours quel que soit l'état de la machine, hormis un kernel panic. Les **SysRq** sont compilées dans le noyau de de base. Pour vérifier si votre noyau a été compilé avec l'option **Magic SysRq**: ``` zgrep CONFIG_MAGIC_SYSRQ /proc/config.gz ``` Si la sortie de cette commande est: ``` CONFIG\_MAGIC\_SYSRQ=y ``` l'option existe, sinon, il faut recompiler du noyau en l'activant. #### Activation temporaire L'activation des touches **SysRq** est configurée par la valeur dans le fichier `/proc/sys/kernel/sysrq`, les plus importantes étant : ``` 0: désactivé 1: activé ``` Une valeur supérieure à 1 correspond à un masque activant seulement certaines touches. Pour activer la prise en compte des **Magic SysRq**, en root : ``` echo 1 > /proc/sys/kernel/sysrq ``` ou bien : ``` sysctl -w kernel.sysrq=1 ``` #### Activation permanente Pour rendre cette configuration permanente, créer un fichier `/etc/sysctl.d/99-sysctl.conf` et y ajouter: ``` kernel.sysrq = 1 ``` #### Utilisation Sur un pc, il suffit d'appuyer sur **ALT+SysRq+**. La touche **SysRq** peut ne pas être affichée clairement, c'est souvent la touche **Impr. écran.** De même sur les portables, il se peut qu'on ait besoin d'appuyer sur la touche **Fn** en même temps. #### Liste de touches intéressantes Les combinaisons disponibles sont (recopié du Wiki Ubuntu): ^Combinaison ^Effet ^Signification ^Activé par défaut ^Valeur ^ |**Alt SysRq 0-9** | Détermine le niveau de log de la console| | non | 2 | |**Alt SysRq b** | Redémarre l'ordinateur | re**B**oot | **oui** | 128 | |**Alt SysRq c** | Redémarre //via// **kexec** pour faire un crashdump | **C**rashdump | non | 8 | |**Alt SysRq e** | Envoie un signal de terminaison (SIGTERM) à tous les processus (sauf //init//) | t**E**rm | non | 64 | |**Alt SysRq f** | Tue le processus qui consomme le plus de mémoire | (//via//**oom-killer**)| non | 64 | |**Alt SysRq i** | Envoie un signal de fin (SIGKILL, plus ferme que SIGTERM) à tous les processus (sauf //init//) | k**I**ll | non | 64 | |**Alt SysRq k** | Tue tous les processus de la console virtuelle courante. | **K**ey | non | 64 | |**Alt SysRq l (L minuscule)** | Envoie un signal de fin (SIGKILL, plus ferme que SIGTERM) à tous les processus (même //init//) | kil**L** | non | 64 | |**Alt SysRq m** | Affiche le contenu actuel de la mémoire | **M**emory | non | 8 | |**Alt SysRq o** | Éteint le systeme via APM | **O**ut | non | 128 | |**Alt SysRq p** | Affiche sur la console les registres et drapeaux actuels | **P**rint | non | 8 | |**Alt SysRq r** | Bascule la gestion du clavier de mode brute (raw) à XLATE | **R**aw | non | 4 | |**Alt SysRq s** | Synchronise les disques (tente d'écrire toutes les données non sauvegardées) | **s**ync | **oui** | 16 | |**Alt SysRq t** | Affiche une liste des taches et autres informations dans la consol | **T**ask | non | 8 | |**Alt SysRq u** | Remonte les disques en lecture seule | **U**mount | **oui** | 32 | Une utilisation courante des touches magiques est l’enchaînement suivant : `Alt-SysRq-R E I S U B` (on maintient les touches **Alt-SysRq** et on tape **R** puis **E**, **I**, **S**, **U**, enfin **B**). Cet enchaînement permet de redémarrer proprement le système si celui-ci est bloqué. On peut remplacer le **B** par **O** pour arrêter le système. **Attention**: les touches qui figurent dans le tableau ci-dessus ne valent que pour les claviers **xxERTY**. Le noyau interprète uniquement les codes renvoyés par ces touches sur ce type de clavier. Dans le cas où on utilise une autre disposition, il faudra faire la relation entre les touches et le **xxERTY**. Le contrôle des touches magiques se paramètre dans le fichier `/etc/sysctl.d/10-magic-sysrq.conf`. Y ajouter la ligne `kernel.sysrq=1` réactive toutes les touches magiques, les experts en sécurité informatiques n'aiment pas beaucoup mais c'est bien pratique. Pour activer certaines touches seulement, il faut indiquer la somme des touches (cf. tableau du dessus, colonne valeur). La valeur par défaut est **176**, c'est à dire **16 (S=sync)** + **32 (U=remount read-only)** + **128 (B=reboot)**. #### Touches de fonction Sur certains claviers où la touche **SysRq** n'est disponible qu'en utilisant une touche de fonction **Fn**. Il se peut que l'ordre dans lequel doivent être pressées les touches soit différent comme : ``` Alt-Fn-SysRq ``` ou ``` Fn-Alt-SysRq ```