Les touches magiques sont des combinaisons de touches qui permettent d'envoyer des appels directement au noyau. Il s'agit de combinaisons du type : Alt+SysRq+Touche. La touche SysRq (pour System Request), ou Syst, correspond souvent à la touche Imprim Écran (juste au-dessus de la touche Inser ou Del).
Pour pouvoir accéder aux touches magiques, il faut que cette fonctionnalité ait été activée dans le noyau. Par défaut sur Ubuntu, cette fonctionnalité est activée partiellement. Le fichier /proc/sys/kernel/sysrq s'il existe indique le fait que cette option est activée.
Sachez cependant que certaines personnes1) considèrent ces touches magiques comme un trou de sécurité.
Vous pouvez également bloquer cette fonctionnalité en mettant kernel.sysrq=0 dans le fichier /etc/sysctl.conf, à créer si besoin (ou la débloquer en mettant 1).
Les touches magiques sont documentées en détail dans le fichier /usr/share/doc/linux-doc-`uname -r`/Documentation/sysrq.txt.gz fourni par le paquet linux-doc-`uname -r` (dépend de votre version du noyau, donnée par la commande uname -r).
Les combinaisons disponibles sont :
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 (via oom-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 | oui | 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 console | Task | non | 8 |
Alt SysRq u | Remonte les disques en lecture seule | Umount | oui | 32 |
Effectuez les combinaisons de touches suivantes, dans l'ordre :
Il est important d'attendre plusieurs secondes entre les différentes étapes, car en cas de plantage sévère vous ne verrez pas les messages de progression s'afficher…
Un moyen mnémotechnique parmi d'autres pour se souvenir de la séquence : Stopper Ubuntu Brusquement (pour la séquence longue : Savoir Eteindre Intégralement Ubuntu Brusquement ou So Everything Is Unusual, Boot).
Certains utilisent la séquence : REISUB ( Retourner En Islande Sur Un Bateau).
Les traces qui seront enregistrées dans le journal en version 20.04.1 seront les suivantes:
Pour Alt SysRq s - Synchronise les disques: L'action est visible.
kernel: sysrq: Emergency Sync
kernel: Emergency Sync complete
Pour Alt SysRq e - Essaie de fermer les processus en envoyant SIGTERM: La commande est certainement périmée.
kernel: sysrq: This sysrq operation is disabled.
Pour Alt SysRq i - Tue tous les processus restant en envoyant SIGKILL: La commande est certainement périmée.
kernel: sysrq: This sysrq operation is disabled.
Pour Alt SysRq u - Démonte les disques: Cette commande semble plutôt remonter les partitions en mode lecture seule. On peut mettre en doute sa nécessité.
sysrq: Emergency Remount R/O
Une vérification montre bien que la totalité des partitions est remontée en mode lecture seule.
touch /media/DupliNosDonnees/titi touch: impossible de faire un touch '/media/DupliNosDonnees/titi': Système de fichiers accessible en lecture seulement
Pour Alt SysRq b - Redémarre : Rien n'est écrit. Mais le boot a réellement lieu.
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 depuis Ubuntu 14.04 LTS Trusty est 176, c'est à dire 16 (S = sync) + 32 (U = remount read-only) + 128 (B = reboot ou O = out).
Il est possible de redémarrer le serveur X avec une autre combinaison de touches que alt+sysRq+K. Pour cela, il faut éditer le fichier /etc/default/keyboard en tant qu'administateur. Dans la section XKBOPTIONS modifier comme suit:
XKBOPTIONS="terminate:ctrl_alt_bksp"
afin d'utiliser la combinaison ctrl+alt+⌫.