Table des matières

Les touches magiques

Introduction

Votre système est planté hélas, complètement gelé. Avant de vous résigner à redémarrer à la sauvage en appuyant sur le bouton reset ou en sectionnant le câble d'alimentation avec la pince-monseigneur de votre grand-mère, il vous est possible de tenter une dernière manœuvre.

Les magic SysRq key ou touches magiques sont des combinaisons de touches type Alt+SysRq+Touche permettant d'envoyer des commandes de bas niveau directement au noyau.

Pour que vous puissiez utiliser les touches magiques, il faut que cette fonctionnalité soit activée dans le noyau.2) Ce qui est le cas par défaut sur la plupart des distributions.

Pour des raisons de sécurité, Debian 6.0 Squeeze (noyau 2.6.32) a introduit certaines restrictions d'utilisation des touches SysRq : les touches E et I, entre autres, sont désactivées par défaut.3)
Votre petite escapade en Islande (cf. infra) semble un peu compromise, et vous visiterez l'Eyjafjallajökull une autre fois (sauf si vous y tenez absolument bien sûr… consultez la doc et le man sysctl).

Touche k : tuer tous les processus / programmes

La combinaison Alt+ImpEc+K tue tous les processus de la « console virtuelle active ». Dans une console en mode texte cela permet de sécuriser le login (sak). Dans une session graphique, cela peut, ou peut ne pas, provoquer le redémarrage du serveur X.

Vous pouvez réactiver le redémarrage du serveur X par la combinaison Ctrl+Alt+← Retour Arrière.
Il suffit de lancer la commande :

dpkg-reconfigure keyboard-configuration

et de passer les 5 premiers choix en appuyant sur ↵ Entrée.

Si cette combinaison ne fonctionne pas alors qu'elle a été activée, il paraît légitime d'essayer de forcer un redémarrage du serveur X via les touches magiques.

Touche s : synchroniser les disques

Lorsque l'on travaille sur sa machine, les données ne sont pas modifiées systématiquement et immédiatement sur le disque mais en cache. L'appel système sync permet de synchroniser les modifications apportées sur les disques et donc vide les caches.

La combinaison suivante provoque cette synchronisation (sync) :

Alt+ImpEc+S

Touche u : remonter les disques en lecture seule

Un système de fichiers en lecture/écriture n'ayant pas été démonté avant extinction de la machine n'est pas « propre » et implique une vérification « fsck » au redémarrage. Le démontage (unmount) et remontage en lecture seule permet d'éviter cela.

La combinaison suivante provoque le remontage des systèmes de fichiers en lecture seule :

Alt+ImpEc+U

Attention : afin de poursuivre proprement, exécutez les deux combinaisons précédentes (Alt+ImpEc+S et Alt+ImpEc+U) l'une après l'autre.

Touche b : redémarrer le système

La combinaison suivante provoque le redémarrage du PC (reboot) :

Alt+ImpEc+B

Touche o : arrêter le système

La combinaison suivante provoque l'arrêt du PC (poweroff) :

Alt+ImpEc+O

Tableau récapitulatif

Pour redémarrer un système Linux qui ne répond plus avec les touches magiques, il faut utiliser la séquence de touches suivante :

touche nom action
R unraw récupérer le contrôle du clavier X
E terminate-all-tasks envoyer SIGTERM à tous les processus, pour leur permettre de s'arrêter proprement
I kill-all-tasks envoyer SIGKILL à tous les processus, pour les forcer à s'arrêter immédiatement
S sync synchroniser les disques, écrire le contenu du tampon sur le disque
U unmount remonter tous les systèmes de fichiers en lecture seule, pour ne pas devoir lancer fsck au redémarrage
B reboot redémarrer le système

Pour ce faire, on peut utiliser la phrase mnémotechnique suivante :
« Revenir En Islande Sur Un Bateau ». ;-)

Il faut commencer par maintenir simultanément les touches Alt et ImpEc / SystRq sur le clavier, puis appuyer les touches l'une après l'autre dans l'ordre donné par la phrase mnémotechnique, en attendant au moins deux secondes entre chacune d'elles pour permettre le démontage correct des systèmes de fichiers. On évite ainsi de risquer de corrompre des données et de devoir exécuter fsck au redémarrage.
De plus, les processus ont ainsi du temps pour enregistrer des sauvegardes d'urgence le cas échéant.

Comme écrit précédemment (cf. supra), la séquence Alt+ImpEc+E, Alt+ImpEc+I, est illusoire sous Debian. Vous pouvez le constater dans une console en mode texte ou via dmesg.
Et à vouloir maintenir la touche ImpEc (Alt suffit !) tout au long de cet exercice de gymnastique digitale vous allez finir par vous déboîter l'auriculaire de la main dextre, avouez que c'est ballot.

Remerciements

Merci à benjilepton, captnfab et Thom1 qui se sont rassemblés sur IRC pour proposer ce sauvetage avec un serveur X bloqué.

Liens

De Haricophile le tuteur fou de l'irc df !

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
2)
Il s'agit des symboles de configuration “CONFIG_MAGIC_SYSRQ” et “CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE”, dans la section “Kernel hacking”.
3)
Voir, par exemple : “4.9 Restriction d'utilisation des touches SysRq magiques”, “How to check which SysRq functions are enabled?” et, last but not least, “Restrict access to sensitive SysRq keys by default”, le commit qui énerva l'Eyjafjöll en 2010. m(