Linux Magic Keys

Obwohl Linux sehr stabil ist, können Kernel-Panic in der Ausnahme auftreten, meist durch defekte Hardware oder fehlerhafte Kerneltreiber. Ein Kernel Panik zeigt sich dann meist durch Blinken der Numlock Anzeige.

Was macht man in einem solchen Fall ? Einfach RESET drücken ist eine Möglichkeit, aber so werden leider die Schreibcaches nicht geschrieben, dass heisst unter Umständen sieht man so nicht in /var/log/messages was den Fehler verursacht hat.
Ausserdem sollte auch in Zeiten von EXT3, ReiserFS und anderen Journaling Filesystemen das runterfahren eines Rechners sicher erfolgen.

  Für diesen Zweck gibt es im Kernel eine Option unter dem Punkt "Kernelhacking" mit dem Namen "Magic SysRQ key".

Ob der Magic SysRQ aktiviert ist oder nicht, kann über diesen Befehl [1] herausgefunden werden:

cat /proc/sys/kernel/sysrq

überprüft werden. Ist die Ausgabe ungleich 0, ist SysRQ aktiv, bei 0 nicht. Auf diesem Weg lässt sich die Funktion auch direkt aktivieren.
Beispiel: 

echo 1 >  /proc/sys/kernel/sysrq 
echo 0 >  /proc/sys/kernel/sysrq  

Unter SuSE (Standard Kernel) reicht es, wenn in /etc/sysconfig/sysctl der Wert ENABLE_SYSRQ=yes gesetzt wird.

Nun hat man folgende Tastenkombinationen zur Verfügung: (auf älteren Tastaturen ist die Taste als "Print Screen" oder "S-Abf" bekannt, im Deutschen mehr als "Druck"-Taste).

  • Alt+SysRQ+k : killt alle Prozesse auf dem Aktuellen Terminal. Dies ist günstig auf Terminals zu verwenden, auf denen ein X läuft,da die Graphik stehen bleibt und Sie nicht sehen werden, was Sie tippen.
  • Alt+SysRQ+b : kommt eine Reset gleich: Ein Neustart ohne unmounten oder syncen.
  • Alt+SysRQ+o : wird das System über APM nieder gemacht.
  • Alt+SysRQ+s : schreibt die Daten aus dem Disk-Cache von Linux (auch als Block-Device-Buffer bekannt) auf die Festplatte, es wird ein Sync durchgeführt.
  • Alt+SysRQ+u : umountet alle gemounteten Dateisysteme readonly. Nachdem Sie diesen Keybenutzt haben, können Sie ihr System mit Alt+SysRQ+b ohne Schaden rebooten.
  • Alt+SysRQ+m : gibt Infos über den Speicher auf der Console aus.
  • Alt+SysRQ+e : sendet SIGTERM zu allen Prozessen außer INIT.
  • Alt+SysRQ+i : sendet SIGKILL zu allen Prozessen, außer Init.
  • Alt+SysRQ+l : sendet SIGKILL zu allen Prozessen, inclusive Init. (Ihr System ist danach nicht mehr funktionsfähig)...
  • Um also ihren Rechner nach einem richtigen Absturz noch sauber herunterbringen müssen Sie folgendes tun: Alt+SysRQ+e (sendet TERM-Signal, Prozesse lönnen sich noch ordnungsgemäß beenden (zB Daten speichern))
  • Alt+SysRQ+u (sync wird beim Umount eh' gemacht)
  • Alt+SysRQ+i (für die Prozesse, die auf TERM nicht hören, gibt es halt ein KILL (kommt einem kill -9 prozess gleich)
  • Alt+SysRQ+b (reboot).