Magic SysRequest key
Magic SysRq Key (kurz für „Magische S-Abf-Taste“, engl. Magic SysRequest key) bezeichnet eine Reihe von Tastenkombinationen mit der {{#if:trim|S-Abf}}-Taste für den Linux-Kernel.
Beschreibung
- Damit lassen sich verschiedene Funktionen – beispielsweise ein Neustart des Computers – ausführen
- Dabei können die Funktionen nacheinander in sinnvoller Reihenfolge ausgeführt werden.
- Das funktioniert auch noch, wenn der Computer auf andere Eingaben nicht mehr reagiert, sofern der Kernel noch nicht abgestürzt ist.
- Häufig nutzt man diesen „Klammergriff“ für einen Neustart, ohne Schäden am Dateisystem zu verursachen, oder um einen nicht mehr reagierenden X-Server zu beenden.
- Obwohl Linux sehr stabil ist, können in Ausnahmefällen Kernel Panics auftreten.
- Manchmal stoppt auch nur der XServer, der für die grafische Oberfläche verantwortlich ist.
- Dann ist unter Umständen nicht mal der Wechsel in eine Konsole zur Reparatur möglich.
In einem solchen Moment kann natürlich der Reset-Taster gedrückt oder der Rechner "hart" ausgeschaltet werden – mit dem immer vorhandenen Risiko von Datenverlusten.
- Notwendig ist dies aber nicht, da es Möglichkeiten gibt, das System entweder sauber herunterzufahren oder weitere Maßnahmen zu ergreifen, um die Ursache des Problems zu finden.
- Dazu gibt es eine Funktion des Kernels, die sich "SysRequest key" nennt, auch als Magische S-Abf-Taste bekannt.
Die SysRq-Taste befindet sich auf der deutschen Tastatur als Zweitbelegung von Druck.
- Je nach Tastatur muss man zum Erreichen von "S-Abf" zuerst Alt gedrückt halten:
Alt + Druck (auf schweizerischen und englischsprachigen Tastaturen jedoch Alt Gr + die Taste "SysRq").
- Bei Notebooks ist teilweise auch die Kombination mit Fn erforderlich.
Hinweis
- Dell Vostro Laptops: Erst ⇩ num drücken – dann leuchtet das blaue LED auf – und danach Fn + Alt + Druck +"Buchstabe" drücken.
- einige Logitech-Tastaturen (zum Beispiel K300): Erst Fn (Taste in rot) drücken, dann leuchten oben die LED's in kräftiger, oranger Farbe auf und danach Alt + Druck (die Druck-Taste ist die Pos1 -Taste) +"Buchstabe" drücken.
- Workarounds, wie ⇩ num zuerst zu aktivieren oder Alt Gr anstelle von Alt zu verwenden, sind offenbar bei vielen Laptops nötig.
- Ebenso kann es bei Notebooks vorkommen, dass die Tastenkombination auf der integrierten, nicht jedoch auf einer extern angeschlossenen Tastatur funktioniert.
- Manchmal funktionieren nur Teile der Magic SysRQ-Kette nicht, etwa der letzte (B) für den Reboot.
- In diesem Fall kann der Rechner durch kurzes Drücken des An-/Ausschalters neu gestartet werden.
Der gewünschte Befehl wird erteilt, indem auf der Tastatur dann noch zusätzlich der entsprechenden Buchstaben gedrückt wird.
Syntax
Parameter
Optionen
Konfiguration
Aktivieren und Deaktivieren
Status prüfen
$ cat /proc/sys/kernel/sysrq 438
- Ist die Ausgabe ungleich 0, ist SysRQ aktiv, bei 0 nicht.
- Zur Deutung des zurückgelieferten Werts siehe sysrq.txt.
Aktivierung
# echo 1 | sudo tee /proc/sys/kernel/sysrq
Deaktivierung
# echo 0 | sudo tee /proc/sys/kernel/sysrq
Permanentes Aktivieren und Deaktivieren
/etc/sysctl.d/10-magic-sysrq.conf
# Werte fuer X sind der Dokumentation zu entnehmen: http://www.mjmwired.net/kernel/Documentation/sysrq.txt #kernel.sysrq = X # # Deaktivierung kernel.sysrq = 0
Dateien
Anwendungen
Die meisten Tastenkombinationen werden oft in einer bestimmten Reihenfolge ausgeführt, um eine bestimmte Aktion auszuführen.
- Für solche Sequenzen haben sich mittlerweile verschiedene Merksätze gebildet.
- Die häufigste Sequenz wird vermutlich ein Notfall-Neustart sein; hierfür wird die ganze Zeit Alt + Druck gedrückt gehalten und nacheinander die Tasten R + E + I + S + U + B betätigt.
- Die dazu benötigte Reihenfolge lässt sich mit folgendem Satz merken:
- "Reboot Even If System Utterly Broken" oder
- "Richtig Einparken Ist So Unglaublich Banal"
- rückwärts: "busier", (vom engl. "busy", das heißt, beschäftigt oder ausgelastet)
Jeweils der erste Buchstabe eines Wortes steht für die folgende SysRQ-Funktion:
Hinweis
- Seit Ubuntu 12.10 sind die ersten drei SysRQ-Funktionen standardmäßig deaktiviert.
- Damit steht praktisch nur "SUB" zur Verfügung (194676, 1025467).
- Möchte man diese aus Sicherheitsgründen getroffene Einschränkung aufheben, setzt man statt 176 den Wert 1 (siehe unten).
Sicheres Reboot | |||
Taste | Funktion | Bedeutung | |
R | unraw | Nimmt der grafischen Oberfläche den Zugriff auf die Tastatur | |
E | term | Sendet ein SIGTERM an alle Prozesse außer Init | |
I | kill | Sendet ein SIGKILL an alle Prozesse außer Init | |
S | sync | Schreibt alle noch nicht auf die Festplatte geschriebenen Daten aus dem Kernel-Festplatten-Cache auf die Festplatten | |
U | umount | Alle eingehängten Partitionen werden ausgehängt, und danach nur-lesbar eingehängt | |
B | reboot | Fährt den Rechner sofort herunter, ohne Daten aus dem Kernel-Festplatten-Cache auf die Festplatten zu schreiben und ohne Partitionen auszuhängen, und startet den Rechner neu. |
Weitere Funktionen
Sonstige Funktionen | |||
Taste | Funktion | Bedeutung | |
C | Crashdump | Startet über kexec(sofern vorhanden) neu und gibt einen Dump auf dem Bildschirm aus.
|
|
D | Zeigt im Textmodus alle gesetzten Locks an | ||
K | secure attention key | Beendet alle Prozesse auf dem aktuellen Terminal, um sicher zu sein, dass der Login-Prompt von Init stammt und nicht von einem Trojaner.
|
|
L | Kill including init | Sende SIGKILL an alle Prozesse, auch an Init.
|
|
M | Memory | Gibt im Textmodus die Hauptspeicherbelegung in der Konsole aus. | |
O | Power off | Fährt den Rechner mit APM/ACPI herunter und schalte ihn aus (wenn vom Rechner unterstützt). | |
P | Zeigt im Textmodus den Inhalt der CPU-Register inklusive der FLAGS an | ||
Q | Zeigt im Textmodus alle derzeitig laufenden Timer an | ||
T | Zeigt im Textmodus eine Liste aktuell laufender Prozesse an. | ||
W | Zeigt im Textmodus die Prozesse in geblocktem Status an. | ||
F | force a OOM kill | Killt den "teuersten" Prozess für den Speicher. |
Kommandozeile
Wenn die Druck -Taste nicht zur Verfügung steht, das Terminal aber schon, können die SysRQ-Kommandos auch über eine Kommandozeile ausgeführt werden.
- Mit Hilfe der Standard-Datenströme wird der Code der gewünschten Taste in den SysRQ-Trigger des procfs geschrieben.
# echo b | tee /proc/sysrq-trigger
Dieser Befehl ist äquivalent zur Kombination Alt + Druck + B und startet den Rechner sofort neu.
Magic SysRQ testen
Wer die SysRQ-Funktionen gezielt testen möchte, startet am besten eine Forkbomb auf dem Rechner, um diesen bewusst zu überlasten. Abschließend noch ein Auszug des Systemprotokolls eines Rechners mit Ubuntu 14.04, aus dem deutlich zu erkennen ist, dass der ersten drei Tasten ("REI") ignoriert werden:
Sep 9 16:42:48 ubuntu kernel: [ 568.061699] SysRq : This sysrq operation is disabled. Sep 9 16:42:54 ubuntu kernel: [ 573.215822] SysRq : This sysrq operation is disabled. Sep 9 16:42:57 ubuntu kernel: [ 576.346673] SysRq : This sysrq operation is disabled. Sep 9 16:43:00 ubuntu kernel: [ 579.131420] SysRq : Emergency Sync Sep 9 16:43:00 ubuntu kernel: [ 579.277440] Emergency Sync complete Sep 9 16:43:02 ubuntu kernel: [ 581.271897] SysRq : Emergency Remount R/O
Problembehebung
Dokumentation
Man-Pages
Info-Pages
Projekt-Homepage
Links
Intern
Weblinks
- Problembehandlung beim Neustart im Linux-Kompendium
- Notfall Übersichtsartikel
- Magische_S-Abf-Taste
- Magic_SysRq_key
- 4408/what-should-i-do-when-ubuntu-freezes
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5
TMP
Häufig verwendete Kombinationen
Ein gerne verwendeter und in IT-Kreisen bekannter Weg, den Computer bei hängendem System neu zu starten, ist es, auf einem Linux-System die Tastenkombination {{#if:trim|Alt}} + {{#if:trim|S-Abf}} gedrückt zu halten und dabei nacheinander die Tasten {{#if:trim|R}}, {{#if:trim|E}}, {{#if:trim|I}}, {{#if:trim|S}}, {{#if:trim|U}} und {{#if:trim|B}} zu drücken. So werden die Dateisystemcaches sicher geleert (d. h. ihr Inhalt wird auf die Platte geschrieben), alle Dateisysteme sicher ausgehängt und damit eine Beschädigung des Dateisystems unterbunden. Eine weitere bekannte Tastenreihenfolge, RSEIUB, zieht den Sync vor.[1] Ein Argument dagegen ist, dass die terminierten Prozesse eventuell noch Daten in den Cache schreiben und der Sync somit zu früh kommt. Ein Argument dafür ist, dass der unmount-Befehl ohnehin die Platten synchronisieren sollte.[2] Es existiert kein Konsens darüber, welche Kombination zu bevorzugen ist.
Auslösen auf der Kommandozeile
Die genannten Befehle können auch über die Shell (und somit auch durch Skripte) ausgelöst werden. Dazu wird in virtuelle Datei /proc/sysrq-trigger vom Kernel-Proc-API das entsprechende Zeichen geschrieben. Dies ist nur als root möglich. Der folgende Befehl löst beispielsweise einen sofortigen Reboot aus.
echo b > /proc/sysrq-trigger
Literatur
- Oliver Diedrich: Geht nicht? Gibts nicht! Hängende Linux-Systeme sicher ausschalten. In: c’t Nr. 26, 2008, S. 210
Weblinks
- Documentation/admin-guide/sysrq.rst auf kernel.org (Linux Kernel Archives) (englisch)
- Der Patch des Linux-Kernels, der das /proc/sysrq-trigger-Feature einbaute
- Magic SysRequest im Wiki von Ubuntuusers.de
Einzelnachweise
- ↑ Ubuntuforums.org, Guide zum Magic SysrRq Key (englisch)
- ↑ Linuxhowtos.org(englisch) oder pro-linux.de, Aussage zu: "unmount enthält sync"