Magic System Request Key

De ArchwikiFR

Je ne suis jamais tombé sur la version française du titre, je vais donc le laisser comme ça :-), mais on pourrait traduire ça comme : « Touches magiques pour requête système ».

Qu'est ce que c'est ?

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.

Est-ce disponible ?

Dans le noyau officiel Arch

Le noyau de [core], que vous avez de base, a les SysRq de compilées.

Si vous avez un autre noyau

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, vous êtes bon pour une recompilation du noyau en l'activant.

Comment les activer ?

Temporairement

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. (cf. liens pour plus d'infos)

Pour activer la prise en compte des Magic SysRq, en root :

echo 1 > /proc/sys/kernel/sysrq

ou bien :

sysctl -w kernel.sysrq=1

Définitivement

Pour rendre cette configuration permanente, créez un fichier /etc/sysctl.d/99-sysctl.conf et ajoutez-y:

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 (cf. liens pour plus d'infos):

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 console **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ù vous utiliseriez une autre disposition, il faudra faire la relation entre vos 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

Liens

sysrq, Kernel Documentation (en)