Magischer SysRq-Schlüssel - Magic SysRq key

Der SysRq-Schlüssel

Der magische SysRq-Schlüssel ist eine vom Linux-Kernel verstandene Tastenkombination , die es dem Benutzer ermöglicht, unabhängig vom Systemzustand verschiedene Low-Level-Befehle auszuführen. Es wird oft erholen von verwendet gefriert oder Neustart eines Computers ohne korrumpieren das Dateisystem . Seine Wirkung ähnelt der des Hardware- Reset-Knopfes (oder des Netzschalters) des Computers, bietet jedoch viel mehr Optionen und viel mehr Kontrolle.

Diese Tastenkombination bietet Zugriff auf leistungsstarke Funktionen für die Softwareentwicklung und Notfallwiederherstellung. In diesem Sinne kann es als eine Form der Escape-Sequenz angesehen werden . Die wichtigsten unter den angebotenen Befehlen sind Mittel zum gewaltsamen Aushängen von Dateisystemen, Beenden von Prozessen, Wiederherstellen des Tastaturstatus und Schreiben ungeschriebener Daten auf die Festplatte. In Bezug auf diese Aufgaben dient diese Funktion als letztes Mittel.

Der magische SysRq-Schlüssel kann unter bestimmten Bedingungen nicht funktionieren, z. B. bei einer Kernel-Panik oder einem Hardwarefehler, der die ordnungsgemäße Ausführung des Kernels verhindert.

Befehle

Die Tastenkombination besteht aus Alt+ SysRqund einer weiteren Taste, die den ausgegebenen Befehl steuert. SysRqkann vor dem Drücken der Befehlstaste losgelassen werden, solange sie gedrückt Altbleibt.

Die Kombinationen nehmen immer das QWERTZ- Tastaturlayout an; auf dem Dvorak-Tastaturlayout verwendet die Kombination zum Herunterfahren des Systems beispielsweise die RTaste anstelle von O. Darüber hinaus bieten einige Tastaturen möglicherweise keine separate SysRqTaste. In diesem Fall sollte ein separater PrtScrSchlüssel vorhanden sein.

Bei einigen Geräten, insbesondere Laptops, die Fnmöglicherweise Taste gedrückt werden muß , um die Magie zu verwenden SysRqSchlüssel, zB Thinkpad X1 Carbon - das SysRqwird durch Drücken aktiviert Alt+ Fn+ Sgleichzeitig, dann die Freigabe Fnund Swährend noch halten Alt( siehe hier ).

Auf die SysRq-Funktionalitäten kann auch ohne Tastatur zugegriffen werden. Siehe § Andere Möglichkeiten zum Aufrufen von Magic SysRq unten.

Handlung QWERTY Dvorak AZERTY Colemak
Legen Sie die Konsolenprotokollebene fest, die die Arten von Kernelnachrichten steuert, die an die Konsole ausgegeben werden 0 - 9 0 - 9 0- 9
(ohne ⇧ Shift)
0 - 9
Starten Sie das System sofort neu, ohne Dateisysteme aushängen oder synchronisieren zu müssen b x b b
Führen Sie einen Systemabsturz durch. Ein Crashdump wird erstellt, wenn es konfiguriert ist. c j c c
Alle aktuell gehaltenen Sperren anzeigen ( Kerneloption CONFIG_LOCKDEP ist erforderlich) d e d s
Senden Sie das SIGTERM- Signal an alle Prozesse außer init ( PID 1) e . e f
Rufen Sie oom_kill auf , der einen Prozess beendet, um eine OOM- Bedingung zu mildern f u f t
Wenn Sie Kernel Mode Setting verwenden , wechseln Sie zur Framebuffer-Konsole des Kernels. Geben Sie den Debugger ein,
wenn die kdb -
Datei des In-Kernel-Debuggers vorhanden ist.
g i g d
Ein knappes Hilfedokument an die Konsole
ausgeben Jede Taste, die nicht an einen Befehl gebunden ist, sollte diese Aktion ebenfalls ausführen
h d h h
Senden Sie das SIGKILL- Signal an alle Prozesse außer init i c i u
Erzwungenes "Einfach auftauen" – Dateisysteme, die vom FIFREEZE ioctl eingefroren wurden . j h j n
Beenden Sie alle Prozesse auf der aktuellen virtuellen Konsole (kann X- und SVGALib-Programme beenden, siehe unten)
Dies wurde ursprünglich entwickelt, um einen sicheren Aufmerksamkeitsschlüssel zu imitieren
k t k e
Zeigt einen Stack-Backtrace für alle aktiven CPUs an. l n l i
Aktuelle Speicherinformationen an die Konsole ausgeben m m , m
Setzen Sie das nette Niveau aller Aufgaben mit hoher Priorität und in Echtzeit zurück n b n k
Schalten Sie das System aus o r o y
Ausgabe der aktuellen Register und Flags an die Konsole p l p ;
Zeigen Sie alle aktiven hochauflösenden Timer und Taktquellen an. q ' a q
Schalten Sie die Tastatur vom Raw-Modus, der von Programmen wie X11 und SVGALib verwendet wird , in den XLATE- Modus um r p r p
Alle gemounteten Dateisysteme synchronisieren s o s r
Geben Sie eine Liste der aktuellen Aufgaben und deren Informationen an die Konsole aus t y t g
Mounten Sie alle gemounteten Dateisysteme im schreibgeschützten Modus erneut u g u l
Stellt die Framebuffer-Konsole zwangsweise wieder her.
Verursachen Sie bei ARM-Prozessoren stattdessen einen ETM-Buffer-Dump.
v k v v
Liste der blockierten (D-Zustand) Aufgaben anzeigen w , z w
Wird von der xmon-Schnittstelle auf PowerPC-Plattformen verwendet. Deaktiviert Lockdown (Secure Boot-Einschränkungen) bei einigen Kerneln. x q x x
Globale CPU-Register anzeigen (SPARC-64-spezifisch) y f y j
Dump des Ftrace-Puffers z ; w z

Ausgabe des SysRq hauf einem x86_64-Kernel:

sysrq: HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(v) show-blocked-tasks(w) dump-ftrace-buffer(z)

Verwendet

Eine übliche Verwendung des magischen SysRq-Schlüssels besteht darin, einen sicheren Neustart eines Linux-Computers durchzuführen, der ansonsten gesperrt ist (Abk. REISUB ). Dies kann verhindern , dass beim Neustart ein fsck erforderlich ist, und gibt einigen Programmen die Möglichkeit, Notfall-Backups von nicht gespeicherten Arbeiten zu speichern. Die QWERTY- (oder AZERTY-) Mnemonik : " Raising Elephants Is So Utterly Boring", " Reboot Even If System Utterly Broken" oder einfach das Wort "BUSIER" rückwärts gelesen, werden oft verwendet, um sich die folgende SysRq-Tastenfolge zu merken:

  • un Raw (übernimm die Kontrolle über die Tastatur von X zurück ),
  • t Erminate ( SIGTERM an alle Prozesse senden , damit sie ordnungsgemäß beendet werden können),
  • k Ill (sende SIGKILL an alle Prozesse außer init , damit sie sofort beendet werden),
  • Sync (Daten auf die Festplatte leeren),
  • Unmount (alle Dateisysteme schreibgeschützt neu mounten),
  • re Boot.

Wenn magische SysRqTasten verwendet werden, um ein eingefrorenes Grafikprogramm zu beenden, hat das Programm keine Chance, den Textmodus wiederherzustellen . Dadurch kann alles unlesbar werden. Die Befehle textmode (Bestandteil von SVGAlib ) und der Reset- Befehl können den Textmodus wiederherstellen und die Konsole wieder lesbar machen.

Bei Distributionen, die keinen Textmode- Befehl enthalten, kann der Tastaturbefehl Ctrl+ Alt+ F1manchmal eine Rückkehr zu einer Textkonsole erzwingen. (Verwenden Sie F1, F2, F3, ... , , wobei n die höchste Anzahl von Textkonsolen ist, die von der Distribution eingerichtet wurden. + + wird normalerweise verwendet, um auf einem System, auf dem der X-Server nicht abgestürzt ist, in den GUI-Modus zurückzukehren.) auch Distributionen, bei denen + + ( , ... , ) Textkonsolen öffnet, + + GUI-Modus erneut aufrufen, + + GUI-Modus auf der Anmeldeseite erneut aufrufen, um einen anderen Benutzer anzumelden. FnCtrlAltF(n+1)CtrlAltF3F(n-2)CtrlAltF1CtrlAltF2

Aufbau

Die Funktion wird so gesteuert , sowohl durch eine Kompilierung -Zeit Option in der Kernel - Konfiguration, CONFIG_MAGIC_SYSRQ und ein Sysctl Kernel - Parameter, kernel.sysrq .

Auf neueren Kerneln (seit 2.6.12) ist es möglich, eine feinere Kontrolle darüber zu haben, wie der magische SysRq-Schlüssel verwendet werden kann. Auf diesen Maschinen kann die in /proc/sys/kernel/sysrq geschriebene Zahl 0, 1 oder eine Zahl größer als 1 sein, was eine Bitmaske ist, die angibt, welche Funktionen zugelassen werden sollen. Unter Ubuntu wird dies beim Booten auf den Wert gesetzt, der in /etc/sysctl.d/10-magic-sysrq.conf definiert ist .

Andere Möglichkeiten zum Aufrufen von Magic SysRq

Während der magische SysRq-Schlüssel ursprünglich als Teil des Tastatur-Handlers des Kernels zum Debuggen implementiert wurde, wurde die Funktionalität auch über das proc-Dateisystem verfügbar gemacht und wird häufig verwendet, um Headless- und Remote-Systemen erweiterte Verwaltungsfunktionen bereitzustellen. Von User-Space-Programmen (wie einer Kommandozeilen-Shell) kann auf SysRq zugegriffen werden, indem man in /proc/sysrq-trigger (zB echo s > /proc/sysrq-trigger) schreibt .

Viele eingebettete Systeme haben keine angeschlossene Tastatur, sondern verwenden stattdessen eine serielle Konsole für die Texteingabe/-ausgabe an das laufende System. Es ist möglich, eine Magic SysRq-Funktion über eine serielle Konsole aufzurufen, indem ein serielles Unterbrechungssignal gesendet wird , gefolgt von der gewünschten Taste. Die Methode zum Senden einer Unterbrechung hängt vom Terminalprogramm oder der Hardware ab, die für die Verbindung mit der seriellen Konsole verwendet wird. Um diese Funktion zu aktivieren, muss eine sysctl- Option gesetzt werden.

Die Linux-Daemons sysrqd und tcpconsole bieten eine Methode für den Zugriff auf SysRq-Funktionen über eine TCP-Verbindung nach der Authentifizierung mit einem Klartext-Passwort. Der Hangwatch- Daemon ruft vorkonfigurierte SysRq-Trigger auf, wenn die durchschnittliche Systemlast einen bestimmten Schwellenwert überschreitet.

Der Xen- Hypervisor verfügt über Funktionen zum Senden von magischen Befehlen an gehostete Domänen über seinen xm sysrq- Befehl. Darüber hinaus kann ein SysRq-Befehl von einer paravirtuellen Xen-Konsole aus aufgerufen werden, indem eine Break-Sequenz Ctrl+ Ogefolgt von der gewünschten Taste gesendet wird.

Chromebooks haben eine Tastatur, aber keine dedizierte SysRq-Taste. Sie verwenden stattdessen Alt+ VolumeUp( Alt+ F10), einige Tasten haben jedoch eine andere Funktion.

IBM Power Systems- Server können die Magic SysRq-Funktion mit Ctrl+ Ogefolgt von dem gewünschten Schlüssel von der Hardware Management Console aufrufen .

IBM Mainframe-Partitionen können die Magic SysRq-Funktion aufrufen, indem Sie ^+ -gefolgt von dem gewünschten Schlüssel auf der 3270- oder HMC-Konsole verwenden.

Siehe auch

Verweise

Externe Links