LINUX: Touches pour requête système
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+<touche>.
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 | reBoot | oui | 128 |
Alt SysRq c | Redémarre via kexec pour faire un crashdump | Crashdump | non | 8 |
Alt SysRq e | Envoie un signal de terminaison (SIGTERM) à tous les processus (sauf init) | tErm | non | 64 |
Alt SysRq f | Tue le processus qui consomme le plus de mémoire | (viaoom-killer) | non | 64 |
Alt SysRq i | Envoie un signal de fin (SIGKILL, plus ferme que SIGTERM) à tous les processus (sauf init) | kIll | non | 64 |
Alt SysRq k | Tue tous les processus de la console virtuelle courante. | Key | non | 64 |
Alt SysRq l (L minuscule) | Envoie un signal de fin (SIGKILL, plus ferme que SIGTERM) à tous les processus (même init) | kilL | non | 64 |
Alt SysRq m | Affiche le contenu actuel de la mémoire | Memory | non | 8 |
Alt SysRq o | Éteint le systeme via APM | Out | non | 128 |
Alt SysRq p | Affiche sur la console les registres et drapeaux actuels | non | 8 | |
Alt SysRq r | Bascule la gestion du clavier de mode brute (raw) à XLATE | Raw | non | 4 |
Alt SysRq s | Synchronise les disques (tente d'écrire toutes les données non sauvegardées) | sync | oui | 16 |
Alt SysRq t | Affiche une liste des taches et autres informations dans la consol | Task | non | 8 |
Alt SysRq u | Remonte les disques en lecture seule | Umount | 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