14 Déc 2009

SysRq : le SOS du geek

Category: Linuxadmin @ 00:22

C’est encore arrivé : votre beau Linux chéri a merdé. Il faut dire que c’est de votre faute : vouloir essayer des modes graphiques exotiques et expérimentaux n’est pas une bonne idée, alors que tout le monde peut très bien se contenter d’une bonne vieille console en VESA 80×25. Bah, ce sont des choses qui arrivent, après tout. Sauf que maintenant, impossible de redémarrer, vous ne pouvez plus rien taper, et l’interface réseau ne fonctionne pas… Le reset violent est la toute dernière solution. Toute ? Non. Une petite fonction du noyau résiste encore à la corruption du système de fichiers. Elle se nomme : Magic SysReq.

Les Magic SysReq permettent d’utiliser enfin cette fameuse touche « Système » (ou « Impr. écran ») sur votre clavier, en ordonnant au noyau d’effectuer des fonctions de bas niveau, telles que démonter les disques, redémarrer, provoquer un coredump, fermer tous les processus sauf init, et plein d’autres fonctionnalités intéressantes que vous pourrez découvrir en vous rendant sur le lien ci-dessus. La combinaison de touches pour activer ces fonctions est différente selon les systèmes, mais sur les PC, il s’agit des touches Alt + Imp Ecran/Syst + action.

Pour activer l’option, il faut cependant avoir compilé celle-ci dans le noyau (CONFIG_MAGIC_SYSRQ) et s’assurer que le fichier /proc/sys/kernel/sysrq permette bien l’utilisation de ces codes (la valeur 1 autorise toute action disponible). Si ce fichier n’existe pas, alors vous n’avez pas compilé cette fonction dans votre noyau.

Vous pouvez même ajouter votre propre fonctionnalité à un SysRq, et cela est décrit dans le même lien que précédemment.

D’après l’article de Wikipédia, le moyen le plus sûr et le plus propre de redémarrer une machine plantée est d’utiliser la séquence de touches suivantes (en laissant au moins deux secondes entre chaque touche) :

  1. unraw — récupérer le contrôle du clavier X ;
  2. terminate — envoyer SIGTERM a tous les processus, pour leur permettre de s’arrêter proprement ;
  3. kill — envoyer SIGKILL a tous les processus, pour les forcer à s’arrêter immédiatement ;
  4. sync — synchroniser les disques, écrire le contenu du tampon sur le disque ;
  5. unmount — remonter tous les systèmes de fichiers en lecture seule, pour ne pas devoir lancer fsck au redémarrage ;
  6. boot.

Ce qui donne la suite : REISUB, ou la phrase mnémotechnique : Revenir En Islande Sur Un Bateau, ou bien Resté Encore Impuissant Sur Un Blème, ou encore en anglais : Raising Elephants Is So Utterly Boring. Concours de phrases en commentaires, une invite Google Wave à la clé ?

Update : Existe-t’il une sorte de SysRQ par réseau, un peu comme le Wake On Lan ? Si quelqu’un a la réponse, une invite Google Wave aussi 🙂

Étiquettes : , ,

Une réponse à “SysRq : le SOS du geek”

  1. AddiKT1ve a dit:

    Alt + SysRq + FAIL

Laisser une réponse