Magic SysRequest key: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 389: Zeile 389:
[[Kategorie:Linux:Kernel]]
[[Kategorie:Linux:Kernel]]
[[Kategorie:Computer:Tasten]]
[[Kategorie:Computer:Tasten]]
=TMP=
==Was ist der magische SysRq-Schlüssel?==
Es ist eine 'magische' Tastenkombination, die Sie drücken können und auf die der Kernel reagiert unabhängig davon, was es sonst noch tut, es sei denn, es ist vollständig gesperrt.
==Wie aktiviere ich den magischen SysRq-Schlüssel?==
Sie müssen "Ja" zu 'Magic SysRq key (CONFIG_MAGIC_SYSRQ)' sagen, wenn Konfiguration des Kernels.  Wenn Sie einen Kernel mit einkompiliertem SysRq ausführen,
/proc/sys/kernel/sysrq steuert die Funktionen, die über aufgerufen werden dürfen der SysRq-Schlüssel.  Der Standardwert in dieser Datei wird von der festgelegt CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE Konfigurationssymbol, das selbst Standard ist zu 1. Hier ist die Liste der möglichen Werte in /proc/sys/kernel/sysrq:
  - 0 - sysrq vollständig deaktivieren
  - 1 - aktiviert alle Funktionen von sysrq
  - >1 - Bitmaske der erlaubten sysrq-Funktionen (siehe unten für detaillierte Funktionen
    Bezeichnung)::
          2 = 0x2 – aktiviert die Steuerung der Konsolenprotokollierungsebene
          4 = 0x4 - Tastatursteuerung aktivieren (SAK, unraw)
          8 = 0x8 - Debugging-Dumps von Prozessen usw. aktivieren.
        16 = 0x10 - Synchronisierungsbefehl aktivieren
        32 = 0x20 - Remount schreibgeschützt aktivieren
        64 = 0x40 - Signalisierung von Prozessen aktivieren (term, kill, oom-kill)
        128 = 0x80 - Neustart/Ausschalten zulassen
        256 = 0x100 - Netting aller RT-Tasks zulassen
Sie können den Wert in der Datei mit dem folgenden Befehl festlegen:
    echo "Nummer" >/proc/sys/kernel/sysrq
Die Zahl kann hier entweder dezimal oder hexadezimal geschrieben werden mit dem Präfix 0x.  CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE muss immer sein hexadezimal geschrieben.
Beachten Sie, dass der Wert von ``/proc/sys/kernel/sysrq`` nur den Aufruf beeinflusst
über eine Tastatur.  Aufruf jeder Operation über ``/proc/sysrq-trigger`` ist immer erlaubt (von einem Benutzer mit Administratorrechten).
==Wie verwende ich den magischen SysRq-Schlüssel?==
Auf x86
    Sie drücken die Tastenkombination :kbd:`ALT-SysRq-<Befehlstaste>`.
    .. Hinweis::
      Etwas
          Tastaturen haben möglicherweise keine Taste mit der Bezeichnung „SysRq“.  Der 'SysRq'-Schlüssel ist auch bekannt als die Taste „Drucken“.  Auch manche Tastaturen können das nicht damit umgehen, dass so viele Tasten gleichzeitig gedrückt werden, also könnten Sie Viel Glück mit :kbd:`Alt` drücken, :kbd:`SysRq` drücken, :kbd:`SysRq` loslassen, :kbd:`<Befehlstaste>` drücken, alles loslassen.
Auf der seriellen Konsole (nur serielle Standardschnittstellen im PC-Stil)
        Sie senden ein ``BREAK``, dann innerhalb von 5 Sekunden eine Befehlstaste.  Senden ``BREAK`` zweimal wird als normaler BREAK interpretiert.
Auf alle
    Schreiben Sie ein Zeichen in /proc/sysrq-trigger.  z.B::
        echo t > /proc/sysrq-trigger
Bei :kbd:`<Befehlstaste>` wird zwischen Groß- und Kleinschreibung unterschieden.
==Was sind die "Befehlstasten"?==
``b`` Startet das System sofort neu, ohne es zu synchronisieren oder abzumelden Ihre Festplatten.
``c`` Führt einen Systemabsturz durch und es wird ein Crashdump erstellt falls konfiguriert.
``d`` Zeigt alle Sperren, die gehalten werden.
``e`` Sendet ein SIGTERM an alle Prozesse außer init.
``f`` Ruft den Oom-Killer auf, um einen Speicherfresser-Prozess zu beenden, tut es aber nicht Panik, wenn nichts getötet werden kann.
``g`` Wird von kgdb (Kernel-Debugger) verwendet
``h`` Zeigt Hilfe an (eigentlich jede andere Taste als die aufgeführten Hier wird Hilfe angezeigt.  aber ``h`` ist leicht zu merken :-)
``i`` Sende ein SIGKILL an alle Prozesse, außer an init.
``j`` Zwangsweise "einfach auftauen" - Dateisysteme durch das FIFREEZE ioctl eingefroren.
``k`` Secure Access Key (SAK) Beendet alle Programme auf dem aktuellen virtuellen Konsole.  HINWEIS: Siehe wichtige Kommentare unten im SAK-Abschnitt.
``l`` Zeigt einen Stack-Backtrace für alle aktiven CPUs.
``m`` Gibt aktuelle Speicherinformationen auf Ihre Konsole aus.
``n`` Wird verwendet, um RT-Aufgaben angenehm zu machen
``o`` Schaltet Ihr System ab (falls konfiguriert und unterstützt).
``p`` Gibt die aktuellen Register und Flags auf Ihre Konsole aus.
``q`` Gibt pro CPU-Listen aller aktivierten Timer aus (aber NICHT reguläre timer_list Timer) und detaillierte Informationen zu allen clockevent-Geräte.
``r`` Deaktiviert den Tastatur-Rohmodus und setzt ihn auf XLATE.
``s`` Versucht alle gemounteten Dateisysteme zu synchronisieren.
``t`` Gibt eine Liste aktueller Aufgaben und deren Informationen an Ihren aus Konsole.
``u`` Versucht, alle gemounteten Dateisysteme schreibgeschützt neu einzuhängen.
``v`` Stellt die Framebuffer-Konsole zwangsweise wieder her
``v`` Verursacht ETM Buffer Dump [ARM-spezifisch]
``w`` Gibt Tasks aus, die sich in einem unterbrechungsfreien (blockierten) Zustand befinden.
``x`` Wird von der xmon-Schnittstelle auf ppc/powerpc-Plattformen verwendet. Globale PMU-Register auf sparc64 anzeigen. Sichern Sie alle TLB-Einträge auf MIPS.
``y`` Globale CPU Register anzeigen [SPARC-64 spezifisch]
``z`` Den ftrace-Puffer ausgeben
``0``-``9`` Legt die Konsolenprotokollebene fest, die steuert, welche Kernelmeldungen angezeigt werden wird auf Ihre Konsole gedruckt.  (``0``, zum Beispiel würde machen es so, dass nur Notfallmeldungen wie PANICs oder OOPSes würden schaffe es auf deine Konsole.)
==Okay, wofür kann ich sie verwenden?==
Nun, unraw(r) ist sehr praktisch, wenn Ihr X-Server oder ein svgalib-Programm abstürzt.
sak(k) (Secure Access Key) ist nützlich, wenn Sie sicher sein wollen, dass es keinen gibt Trojanisches Programm, das auf der Konsole ausgeführt wird und Ihr Passwort abrufen könnte wenn Sie versuchen würden, sich anzumelden.  Es wird alle Programme auf der angegebenen Konsole beenden, So können Sie sicherstellen, dass die angezeigte Anmeldeaufforderung tatsächlich vorhanden ist die von init, nicht irgendein Trojaner-Programm.
'''wichtig'''
In seiner wahren Form ist es kein echter SAK wie der in a  c2-kompatibles System, und es sollte nicht verwechselt werden eine solche.
Es scheint, dass andere es als (System Attention Key) nützlich finden, was ist nützlich, wenn Sie ein Programm beenden möchten, mit dem Sie die Konsolen nicht wechseln können.
(Zum Beispiel X oder ein svgalib-Programm.)
==\1==
``reboot(b)`` ist gut, wenn Sie nicht herunterfahren können, es ist ein Äquivalent durch Drücken der „Reset“-Taste.
``crash(c)`` kann verwendet werden, um manuell einen Crashdump auszulösen, wenn das System hängt. Beachten Sie, dass dies nur einen Absturz auslöst, wenn kein Dump-Mechanismus verfügbar ist.
``sync(s)`` ist praktisch vor dem Ziehen von Wechseldatenträgern oder nach der Verwendung einer Rettung Shell, die kein ordnungsgemäßes Herunterfahren bietet - sie stellt sicher, dass Ihre Daten erhalten bleiben sicher auf die Festplatte geschrieben.  Beachten Sie, dass die Synchronisierung nicht stattgefunden hat, bis Sie sehen
„OK“ und „Fertig“ erscheinen auf dem Bildschirm.
``umount(u)`` kann verwendet werden, um Dateisysteme als ordnungsgemäß ausgehängt zu markieren.  Von dem Aus Sicht des laufenden Systems werden sie schreibgeschützt neu gemountet.  Der Wiederaufstieg ist erst abgeschlossen, wenn die Meldungen „OK“ und „Fertig“ auf dem Bildschirm erscheinen.
Die Loglevel ``0``-``9`` sind nützlich, wenn Ihre Konsole mit überschwemmt wird Kernel-Meldungen, die Sie nicht sehen möchten.  Die Auswahl von „0“ verhindert alle außer die dringendsten Kernel-Meldungen Ihre Konsole erreichen.  (Sie werden trotzdem protokolliert, wenn syslogd/klogd aktiv sind.)
``term(e)`` und ``kill(i)`` sind nützlich, wenn Sie eine Art außer Kontrolle geratenen Prozess haben Sie können auf keine andere Weise töten, besonders wenn es andere spawnt Prozesse.
"just thaw ``it(j)``" ist nützlich, wenn Ihr System aufgrund von a. nicht mehr reagiert eingefrorenes (wahrscheinlich root) Dateisystem über das FIFREEZE ioctl.
==Manchmal scheint SysRq nach der Verwendung „hängen“ zu bleiben, was kann ich tun?==
Versuchen Sie in diesem Fall, auf beiden Seiten der Shift-, Alt- und Control-Taste zu tippen Tastatur und erneutes Drücken einer ungültigen sysrq-Sequenz.  (also sowas wie
:kbd:`alt-sysrq-z`).
Wechseln zu einer anderen virtuellen Konsole (:kbd:`ALT+Fn`) und dann wieder zurück soll auch helfen.
==Ich habe SysRq gedrückt, aber es scheint nichts zu passieren, was ist los?==
Es gibt einige Tastaturen, die einen anderen Tastencode für SysRq erzeugen als die vordefinierter Wert von 99 (siehe ``KEY_SYSRQ`` in ``include/uapi/linux/input-event-codes.h``), oder die überhaupt keinen SysRq-Schlüssel haben.  Führen Sie in diesen Fällen ``showkey -s`` aus, um zu finden eine geeignete Scancode-Sequenz und verwenden Sie ``setkeycodes <sequence> 99`` zum Zuordnen diese Sequenz zum üblichen SysRq-Code (zB ``setkeycodes e05b 99``).  Es ist wahrscheinlich am besten, diesen Befehl in ein Boot-Skript zu packen.  Ach, und übrigens, du Beenden Sie ``showkey``, indem Sie zehn Sekunden lang nichts eingeben.
==Ich möchte SysRQ-Schlüsselereignisse zu einem Modul hinzufügen, wie funktioniert das?==
Um eine Grundfunktion bei der Tabelle zu registrieren, müssen Sie diese zunächst einbinden den Header ``include/linux/sysrq.h``, dieser definiert alles andere, was Sie brauchen. Als nächstes müssen Sie ein ``sysrq_key_op``-Struct erstellen und es mit A) dem Schlüssel füllen Handler-Funktion, die Sie verwenden werden, B) eine help_msg-Zeichenfolge, die gedruckt wird, wenn SysRQ druckt help, und C) eine action_msg-Zeichenfolge, die direkt vor Ihrer gedruckt wird Handler wird gerufen.  Ihr Handler muss dem Prototyp in 'sysrq.h' entsprechen.
Nachdem ``sysrq_key_op`` erstellt wurde, können Sie die Kernel-Funktion aufrufen
``register_sysrq_key(int key, const struct sysrq_key_op *op_p);`` das wird die Operation, auf die ``op_p`` zeigt, beim Tabellenschlüssel 'key' registrieren, wenn dieser Platz in der Tabelle leer ist.  Zum Zeitpunkt des Entladens des Moduls müssen Sie anrufen die Funktion ``unregister_sysrq_key(int key, const struct sysrq_key_op *op_p)``, wodurch der Schlüssel op, auf den 'op_p' zeigt, aus dem Schlüssel 'key' entfernt wird, wenn und nur wenn es derzeit in diesem Steckplatz registriert ist.  Dies ist für den Fall, dass der Slot hat wurde seit der Registrierung überschrieben.
Das Magic SysRQ-System funktioniert, indem es Tastenbetätigungen gegen eine Tastenbetätigung registriert Lookup-Tabelle, die in 'drivers/tty/sysrq.c' definiert ist.  Diese Schlüsseltabelle hat eine Reihe von Operationen, die zur Kompilierzeit darin registriert sind, aber veränderlich sind, und 2 Funktionen werden für die Schnittstelle dazu exportiert:
    register_sysrq_key und unregister_sysrq_key.
Lassen Sie natürlich niemals einen ungültigen Zeiger in der Tabelle.  Dh wann Ihr Modul, das register_sysrq_key() aufgerufen hat, beendet wird, muss es aufrufen unregister_sysrq_key(), um den verwendeten sysrq-Schlüsseltabelleneintrag zu bereinigen. Nullzeiger in der Tabelle sind immer sicher.  :)
Wenn Sie aus irgendeinem Grund das Bedürfnis verspüren, die Funktion handle_sysrq von aufzurufen Innerhalb einer Funktion, die von handle_sysrq aufgerufen wird, müssen Sie sich bewusst sein, dass Sie sich darin befinden eine Sperre (Sie befinden sich auch in einem Interrupt-Handler, was bedeutet, dass Sie nicht schlafen!), also Sie müssen stattdessen ``__handle_sysrq_nolock`` aufrufen.
==Wenn ich eine SysRq-Tastenkombination drücke, erscheint nur die Kopfzeile auf der Konsole?==
Die Sysrq-Ausgabe unterliegt der gleichen Konsolen-Loglevel-Steuerung wie all andere Konsolenausgabe.  Das heißt, wenn der Kernel 'leise' gebootet wurde Wie es bei Distributionskernen üblich ist, erscheint die Ausgabe möglicherweise nicht auf dem tatsächlichen Konsole, obwohl es im dmesg-Puffer erscheint und zugänglich ist
über den dmesg-Befehl und an die Verbraucher von ``/proc/kmsg``.  Als spezifisch Ausnahme: Die Kopfzeile des sysrq-Befehls wird an alle Konsolen übergeben Verbraucher, als ob der aktuelle Loglevel maximal wäre.  Wenn nur der Header ausgegeben wird, ist es ziemlich sicher, dass der Kernel-Loglevel zu niedrig ist. Sollten Sie die Ausgabe auf dem Konsolenkanal benötigen, benötigen Sie um den Loglevel der Konsole mit :kbd:`alt-sysrq-8` oder:
    echo 8 > /proc/sysrq-trigger
Denken Sie daran, den Loglevel nach dem Auslösen von sysrq wieder auf normal zurückzusetzen Befehl, an dem Sie interessiert sind.
==Ich habe weitere Fragen, an wen kann ich mich wenden?==
Fragen Sie sie einfach auf der Linux-Kernel-Mailingliste:
    linux-kernel@vger.kernel.org

Version vom 4. April 2022, 09:42 Uhr

Magic SysRequest key (Magische S-Abf-Taste) ist eine Funktion des Linux Kernels in Fehlersituationen Befehle per Tastenkombinationen entgegennehmen zu können.

Beschreibung

Das funktioniert auch noch, wenn der Computer auf andere Eingaben nicht mehr reagiert, sofern der Kernel noch nicht abgestürzt ist.

  • Damit lassen sich verschiedene Funktionen ausführen (etwa ein Neustart)
  • Dabei können die Funktionen nacheinander in sinnvoller Reihenfolge ausgeführt werden.
  • 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.
mit der {{#if:trim|S-Abf}}-Taste

Die Funktion „S-Abf“ (engl. „SysRq“) ist auf IBM-AT-kompatiblen Tastaturen eine Alternativbelegung der „Druck“-Taste (englisch „Print Screen“)

  • 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.

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

Dateien

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

Anwendungen

Verfügbare Kombinationen

Der gewünschte Befehl wird erteilt, indem man gleichzeitig auf der Tastatur {{#if:trim|S-Abf}} + {{#if:trim|Alt}} drückt. {{#if:trim|S-Abf}} ist auf IBM-AT-kompatiblen Tastaturen eine Alternativbelegung der Taste {{#if:trim|Druck}}.

Auf Tastaturen für Deutschland drückt man gleichzeitig die Tasten {{#if:trim|Alt}} + {{#if:trim|Druck}} + {{#if:trim|Taste aus Tabelle unten}}.

Auf Tastaturen für die Schweiz und englischsprachige Länder entspricht die Taste {{#if:trim|SysRq}} dem deutschen Pendant {{#if:trim|S-Abf}}. Die Beschriftung ist zum Beispiel in der Schweiz {{#if:trim|PrtScr SysRq}}. Die Kombination auf schweizerischer Tastatur ist: {{#if:trim|Alt Gr}} + {{#if:trim|PrtScr SysRq}}.

Besonders auf Laptops müssen wegen herstellerspezifischen Tastaturlayouts ggf. noch Zusatztasten gedrückt werden, so etwa auf Dell-Laptops zunächst {{#if:trim|Num}}, anschließend {{#if:trim|Fn}} + {{#if:trim|Alt}} + {{#if:trim|Druck}} + {{#if:trim|entsprechender Buchstabe}}; auf z. B. ThinkPads kann folgende Abfolge verwendet werden: {{#if:trim|Alt}} drücken und halten, {{#if:trim|Fn}} + {{#if:trim|Druck}} drücken und wieder loslassen, {{#if:trim|entsprechenden Buchstaben}} drücken, alle loslassen.

Die für den entsprechenden Befehl notwendige Taste kann in der folgenden Tabelle abgelesen werden, Groß- und Kleinschreibung spielt keine Rolle. Die Angaben beziehen sich auf die in Deutschland übliche QWERTZ-Tastatur.

Alphanumerische Tasten und ihre Funktion[1][2]
!Taste !Funktion !Bedeutung
{{#if:trim|0}}{{#if:trim|9}} set log level 0}} werden nur noch kritische Meldungen wie etwa Kernel panic angezeigt.
{{#if:trim|B}} reboot Fahre den Rechner sofort herunter, ohne Daten aus dem Kernel-Festplatten-Cache auf die Festplatten zu schreiben und ohne Partitionen auszuhängen, und starte den Rechner neu.
{{#if:trim|C}} crashdump Starte mit Hilfe von kexec[3] neu (sofern vorhanden) und gib einen Crashdump auf dem Bildschirm aus. Ansonsten provoziere einen Absturz durch eine Null-Pointer-Dereferenzierung.[4]
{{#if:trim|D}} Zeige (im Textmodus) alle derzeitigen Locks an.
{{#if:trim|E}} term Sende SIGTERM an alle Prozesse außer Init
{{#if:trim|F}} force a OOM kill Startet den OOM-Killer, der den speicherlastigsten Prozess tötet. Damit kann man meistens am System weiterarbeiten, wenn ein Prozess anfängt stark auszulagern und das System dadurch sehr träge reagiert.
{{#if:trim|G}} kGDB Schaltet bei neueren Kernelversionen auf die Framebuffer-Textkonsole um und startet den Kernel-Debugger kgdb, falls vorhanden.
{{#if:trim|H}} help Gib einen Hilfetext für die Benutzung des Magic-SysRq-Key aus. Auch jede andere nicht belegte Taste gibt diesen Text aus.
{{#if:trim|I}} kill Sende SIGKILL an alle Prozesse außer Init
{{#if:trim|J}} "Just thaw it" Beendet bei neueren Kernelversionen das „Einfrieren“ eines Dateisystems durch die IOCTL-Funktion FIFREEZE.
{{#if:trim|K}} secure attention key Beende alle Prozesse auf dem aktuellen Terminal, um sicher zu sein, dass der Login-Prompt von Init stammt und nicht von einem Trojaner. Eine aufgehängte Anwendung, welche die SVGAlib benutzt, oder ein nicht mehr reagierender X-Server lassen sich auch auf diese Weise beenden. So wird etwa in Ubuntu ab Version 9.04 dies statt der bisher genutzten Kombination {{#if:trim|Strg}} + {{#if:trim|Alt}} + {{#if:trim|Backspace}} empfohlen.[5]
{{#if:trim|L}} kill including init Sende SIGKILL an alle Prozesse, auch an Init. Das kommt einem Ausschalten gleich. Neuere Kernelversionen zeigen einen Backtrace an.
{{#if:trim|M}} memory Gib die Hauptspeicherbelegung in der Konsole aus.
{{#if:trim|N}} Hiermit lässt sich die Priorität von Echtzeit-Prozessen herabsetzen.
{{#if:trim|O}} poweroff Schaltet den Rechner mit sofortiger Wirkung über ACPI/APM – wenn unterstützt – aus. Wie bei {{#if:trim|B}} wird mit {{#if:trim|O}} alleine nichts gespeichert.
{{#if:trim|P}} show registers Zeige den Inhalt der CPU-Register inklusive der Flags an.
{{#if:trim|Q}} Zeige alle derzeitig laufenden Timer an.
{{#if:trim|R}} unraw Verlasse den Keyboard-Raw-Modus, der unter X und SVGAlib aktiv ist, in den Keyboard-XLATE-Modus, der im Textmodus von Linux verwendet werden kann. Dies kann nützlich sein, wenn eine grafische Anwendung abstürzt und der Benutzer sich in der Konsole wiederfindet, die aufgrund des falschen Tastatur-Modus zunächst jedoch nicht benutzbar ist.
{{#if:trim|S}} sync Schreibe alle noch nicht auf die Festplatte geschriebenen Daten aus dem Kernel-Festplatten-Cache auf die Festplatten
{{#if:trim|T}} show tasks Zeige eine Liste aktuell laufender Prozesse an.
{{#if:trim|U}} umount Alle schreibbar eingebundenen Partitionen werden ausgehängt und anschließend nur-lesend wieder eingehängt.
{{#if:trim|V}} framebuffer, ETM dump Schaltet bei neueren Kernelversionen auf die Framebuffer-Textkonsole um. Auf der ARM-Architektur wird der ETM-Puffer angezeigt.
{{#if:trim|W}} Zeige blockierte Prozesse an, die sich, beispielsweise während Festplattenzugriffen, im „ununterbrechbaren Schlaf“ befinden.
{{#if:trim|X}} XMON Bei neueren Kernelversionen für die XMON-Schnittstelle der Power/PowerPC-Architektur verwendet.
{{#if:trim|Y}} FTRACE dump Bei neueren Kernelversionen wird der FTRACE-Puffer angezeigt.
{{#if:trim|Z}} show global CPU registers Bei neueren Kernelversionen werden auf der SPARC-64-Architektur die globalen CPU-Register angezeigt.

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.
  • Ohne kexec wird ein Absturz durch eine Null-Pointer-Dereferenzierung veranlasst.
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.
  • Eine aufgehängte Anwendung, welche die SVGAlib benutzt oder ein nicht mehr reagierender X-Server lassen sich auch auf diese Weise beenden.
L Kill including init Sende SIGKILL an alle Prozesse, auch an Init.
  • Das kommt einem Ausschalten gleich.
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.

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.[6] 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.[7]
  • Es existiert kein Konsens darüber, welche Kombination zu bevorzugen ist.

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.

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

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

  • 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.

Dokumentation

Man-Pages

Info-Pages

Projekt-Homepage

Links

Intern

Weblinks

Literatur

  • Oliver Diedrich: Geht nicht? Gibts nicht! Hängende Linux-Systeme sicher ausschalten. In: c’t Nr. 26, 2008, S. 210

Einzelnachweise

  1. c’t kompakt Linux. Heise, Hannover 2009.
  2. Ein Großteil dieses Artikels besteht aus Informationen, die der offiziellen Dokumentation für den Magic SysRq Key entnommen sind, welche sich auf Linux-Systemen üblicherweise in der Datei /usr/src/linux/Documentation/sysrq.txt befindet (zuletzt überarbeitet nach der Dokumentation zur Version 3.4). Als zuverlässige Gebrauchsanweisung sollte ebendiese Dokumentation für die entsprechende Kernel-Version des Systems herangezogen werden.
  3. Readme-Datei von kexec
  4. Vorlage:Webarchiv oder mjmwired.net, SysRq Dokumentation
  5. „Ubuntu 9.04“ im Ubuntuusers-Wiki oder Releasenotes zu Ubuntu 9.04 (englisch)
  6. Ubuntuforums.org, Guide zum Magic SysrRq Key (englisch)
  7. Linuxhowtos.org(englisch) oder pro-linux.de, Aussage zu: "unmount enthält sync"

Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5


TMP

Was ist der magische SysRq-Schlüssel?

Es ist eine 'magische' Tastenkombination, die Sie drücken können und auf die der Kernel reagiert unabhängig davon, was es sonst noch tut, es sei denn, es ist vollständig gesperrt.

Wie aktiviere ich den magischen SysRq-Schlüssel?

Sie müssen "Ja" zu 'Magic SysRq key (CONFIG_MAGIC_SYSRQ)' sagen, wenn Konfiguration des Kernels. Wenn Sie einen Kernel mit einkompiliertem SysRq ausführen, /proc/sys/kernel/sysrq steuert die Funktionen, die über aufgerufen werden dürfen der SysRq-Schlüssel. Der Standardwert in dieser Datei wird von der festgelegt CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE Konfigurationssymbol, das selbst Standard ist zu 1. Hier ist die Liste der möglichen Werte in /proc/sys/kernel/sysrq:

  - 0 - sysrq vollständig deaktivieren
  - 1 - aktiviert alle Funktionen von sysrq
  - >1 - Bitmaske der erlaubten sysrq-Funktionen (siehe unten für detaillierte Funktionen
    Bezeichnung)::
         2 = 0x2 – aktiviert die Steuerung der Konsolenprotokollierungsebene
         4 = 0x4 - Tastatursteuerung aktivieren (SAK, unraw)
         8 = 0x8 - Debugging-Dumps von Prozessen usw. aktivieren.
        16 = 0x10 - Synchronisierungsbefehl aktivieren
        32 = 0x20 - Remount schreibgeschützt aktivieren
        64 = 0x40 - Signalisierung von Prozessen aktivieren (term, kill, oom-kill)
       128 = 0x80 - Neustart/Ausschalten zulassen
       256 = 0x100 - Netting aller RT-Tasks zulassen

Sie können den Wert in der Datei mit dem folgenden Befehl festlegen:

   echo "Nummer" >/proc/sys/kernel/sysrq

Die Zahl kann hier entweder dezimal oder hexadezimal geschrieben werden mit dem Präfix 0x. CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE muss immer sein hexadezimal geschrieben.

Beachten Sie, dass der Wert von ``/proc/sys/kernel/sysrq`` nur den Aufruf beeinflusst über eine Tastatur. Aufruf jeder Operation über ``/proc/sysrq-trigger`` ist immer erlaubt (von einem Benutzer mit Administratorrechten).

Wie verwende ich den magischen SysRq-Schlüssel?

Auf x86

   Sie drücken die Tastenkombination :kbd:`ALT-SysRq-<Befehlstaste>`.
   .. Hinweis::
      Etwas
          Tastaturen haben möglicherweise keine Taste mit der Bezeichnung „SysRq“.  Der 'SysRq'-Schlüssel ist auch bekannt als die Taste „Drucken“.  Auch manche Tastaturen können das nicht damit umgehen, dass so viele Tasten gleichzeitig gedrückt werden, also könnten Sie Viel Glück mit :kbd:`Alt` drücken, :kbd:`SysRq` drücken, :kbd:`SysRq` loslassen, :kbd:`<Befehlstaste>` drücken, alles loslassen.

Auf der seriellen Konsole (nur serielle Standardschnittstellen im PC-Stil)

       Sie senden ein ``BREAK``, dann innerhalb von 5 Sekunden eine Befehlstaste.  Senden ``BREAK`` zweimal wird als normaler BREAK interpretiert.

Auf alle

   Schreiben Sie ein Zeichen in /proc/sysrq-trigger.  z.B::
       echo t > /proc/sysrq-trigger

Bei :kbd:`<Befehlstaste>` wird zwischen Groß- und Kleinschreibung unterschieden.

Was sind die "Befehlstasten"?

``b`` Startet das System sofort neu, ohne es zu synchronisieren oder abzumelden Ihre Festplatten.

``c`` Führt einen Systemabsturz durch und es wird ein Crashdump erstellt falls konfiguriert.

``d`` Zeigt alle Sperren, die gehalten werden.

``e`` Sendet ein SIGTERM an alle Prozesse außer init.

``f`` Ruft den Oom-Killer auf, um einen Speicherfresser-Prozess zu beenden, tut es aber nicht Panik, wenn nichts getötet werden kann.

``g`` Wird von kgdb (Kernel-Debugger) verwendet

``h`` Zeigt Hilfe an (eigentlich jede andere Taste als die aufgeführten Hier wird Hilfe angezeigt. aber ``h`` ist leicht zu merken :-)

``i`` Sende ein SIGKILL an alle Prozesse, außer an init.

``j`` Zwangsweise "einfach auftauen" - Dateisysteme durch das FIFREEZE ioctl eingefroren.

``k`` Secure Access Key (SAK) Beendet alle Programme auf dem aktuellen virtuellen Konsole. HINWEIS: Siehe wichtige Kommentare unten im SAK-Abschnitt.

``l`` Zeigt einen Stack-Backtrace für alle aktiven CPUs.

``m`` Gibt aktuelle Speicherinformationen auf Ihre Konsole aus.

``n`` Wird verwendet, um RT-Aufgaben angenehm zu machen

``o`` Schaltet Ihr System ab (falls konfiguriert und unterstützt).

``p`` Gibt die aktuellen Register und Flags auf Ihre Konsole aus.

``q`` Gibt pro CPU-Listen aller aktivierten Timer aus (aber NICHT reguläre timer_list Timer) und detaillierte Informationen zu allen clockevent-Geräte.

``r`` Deaktiviert den Tastatur-Rohmodus und setzt ihn auf XLATE.

``s`` Versucht alle gemounteten Dateisysteme zu synchronisieren.

``t`` Gibt eine Liste aktueller Aufgaben und deren Informationen an Ihren aus Konsole.

``u`` Versucht, alle gemounteten Dateisysteme schreibgeschützt neu einzuhängen.

``v`` Stellt die Framebuffer-Konsole zwangsweise wieder her ``v`` Verursacht ETM Buffer Dump [ARM-spezifisch]

``w`` Gibt Tasks aus, die sich in einem unterbrechungsfreien (blockierten) Zustand befinden.

``x`` Wird von der xmon-Schnittstelle auf ppc/powerpc-Plattformen verwendet. Globale PMU-Register auf sparc64 anzeigen. Sichern Sie alle TLB-Einträge auf MIPS.

``y`` Globale CPU Register anzeigen [SPARC-64 spezifisch]

``z`` Den ftrace-Puffer ausgeben

``0``-``9`` Legt die Konsolenprotokollebene fest, die steuert, welche Kernelmeldungen angezeigt werden wird auf Ihre Konsole gedruckt. (``0``, zum Beispiel würde machen es so, dass nur Notfallmeldungen wie PANICs oder OOPSes würden schaffe es auf deine Konsole.)

Okay, wofür kann ich sie verwenden?

Nun, unraw(r) ist sehr praktisch, wenn Ihr X-Server oder ein svgalib-Programm abstürzt.

sak(k) (Secure Access Key) ist nützlich, wenn Sie sicher sein wollen, dass es keinen gibt Trojanisches Programm, das auf der Konsole ausgeführt wird und Ihr Passwort abrufen könnte wenn Sie versuchen würden, sich anzumelden. Es wird alle Programme auf der angegebenen Konsole beenden, So können Sie sicherstellen, dass die angezeigte Anmeldeaufforderung tatsächlich vorhanden ist die von init, nicht irgendein Trojaner-Programm.

wichtig In seiner wahren Form ist es kein echter SAK wie der in a c2-kompatibles System, und es sollte nicht verwechselt werden eine solche.

Es scheint, dass andere es als (System Attention Key) nützlich finden, was ist nützlich, wenn Sie ein Programm beenden möchten, mit dem Sie die Konsolen nicht wechseln können. (Zum Beispiel X oder ein svgalib-Programm.)

\1

``reboot(b)`` ist gut, wenn Sie nicht herunterfahren können, es ist ein Äquivalent durch Drücken der „Reset“-Taste.

``crash(c)`` kann verwendet werden, um manuell einen Crashdump auszulösen, wenn das System hängt. Beachten Sie, dass dies nur einen Absturz auslöst, wenn kein Dump-Mechanismus verfügbar ist.

``sync(s)`` ist praktisch vor dem Ziehen von Wechseldatenträgern oder nach der Verwendung einer Rettung Shell, die kein ordnungsgemäßes Herunterfahren bietet - sie stellt sicher, dass Ihre Daten erhalten bleiben sicher auf die Festplatte geschrieben. Beachten Sie, dass die Synchronisierung nicht stattgefunden hat, bis Sie sehen „OK“ und „Fertig“ erscheinen auf dem Bildschirm.

``umount(u)`` kann verwendet werden, um Dateisysteme als ordnungsgemäß ausgehängt zu markieren. Von dem Aus Sicht des laufenden Systems werden sie schreibgeschützt neu gemountet. Der Wiederaufstieg ist erst abgeschlossen, wenn die Meldungen „OK“ und „Fertig“ auf dem Bildschirm erscheinen.

Die Loglevel ``0``-``9`` sind nützlich, wenn Ihre Konsole mit überschwemmt wird Kernel-Meldungen, die Sie nicht sehen möchten. Die Auswahl von „0“ verhindert alle außer die dringendsten Kernel-Meldungen Ihre Konsole erreichen. (Sie werden trotzdem protokolliert, wenn syslogd/klogd aktiv sind.)

``term(e)`` und ``kill(i)`` sind nützlich, wenn Sie eine Art außer Kontrolle geratenen Prozess haben Sie können auf keine andere Weise töten, besonders wenn es andere spawnt Prozesse.

"just thaw ``it(j)``" ist nützlich, wenn Ihr System aufgrund von a. nicht mehr reagiert eingefrorenes (wahrscheinlich root) Dateisystem über das FIFREEZE ioctl.

Manchmal scheint SysRq nach der Verwendung „hängen“ zu bleiben, was kann ich tun?

Versuchen Sie in diesem Fall, auf beiden Seiten der Shift-, Alt- und Control-Taste zu tippen Tastatur und erneutes Drücken einer ungültigen sysrq-Sequenz. (also sowas wie

kbd:`alt-sysrq-z`).

Wechseln zu einer anderen virtuellen Konsole (:kbd:`ALT+Fn`) und dann wieder zurück soll auch helfen.

Ich habe SysRq gedrückt, aber es scheint nichts zu passieren, was ist los?

Es gibt einige Tastaturen, die einen anderen Tastencode für SysRq erzeugen als die vordefinierter Wert von 99 (siehe ``KEY_SYSRQ`` in ``include/uapi/linux/input-event-codes.h``), oder die überhaupt keinen SysRq-Schlüssel haben. Führen Sie in diesen Fällen ``showkey -s`` aus, um zu finden eine geeignete Scancode-Sequenz und verwenden Sie ``setkeycodes <sequence> 99`` zum Zuordnen diese Sequenz zum üblichen SysRq-Code (zB ``setkeycodes e05b 99``). Es ist wahrscheinlich am besten, diesen Befehl in ein Boot-Skript zu packen. Ach, und übrigens, du Beenden Sie ``showkey``, indem Sie zehn Sekunden lang nichts eingeben.

Ich möchte SysRQ-Schlüsselereignisse zu einem Modul hinzufügen, wie funktioniert das?

Um eine Grundfunktion bei der Tabelle zu registrieren, müssen Sie diese zunächst einbinden den Header ``include/linux/sysrq.h``, dieser definiert alles andere, was Sie brauchen. Als nächstes müssen Sie ein ``sysrq_key_op``-Struct erstellen und es mit A) dem Schlüssel füllen Handler-Funktion, die Sie verwenden werden, B) eine help_msg-Zeichenfolge, die gedruckt wird, wenn SysRQ druckt help, und C) eine action_msg-Zeichenfolge, die direkt vor Ihrer gedruckt wird Handler wird gerufen. Ihr Handler muss dem Prototyp in 'sysrq.h' entsprechen.

Nachdem ``sysrq_key_op`` erstellt wurde, können Sie die Kernel-Funktion aufrufen ``register_sysrq_key(int key, const struct sysrq_key_op *op_p);`` das wird die Operation, auf die ``op_p`` zeigt, beim Tabellenschlüssel 'key' registrieren, wenn dieser Platz in der Tabelle leer ist. Zum Zeitpunkt des Entladens des Moduls müssen Sie anrufen die Funktion ``unregister_sysrq_key(int key, const struct sysrq_key_op *op_p)``, wodurch der Schlüssel op, auf den 'op_p' zeigt, aus dem Schlüssel 'key' entfernt wird, wenn und nur wenn es derzeit in diesem Steckplatz registriert ist. Dies ist für den Fall, dass der Slot hat wurde seit der Registrierung überschrieben.

Das Magic SysRQ-System funktioniert, indem es Tastenbetätigungen gegen eine Tastenbetätigung registriert Lookup-Tabelle, die in 'drivers/tty/sysrq.c' definiert ist. Diese Schlüsseltabelle hat eine Reihe von Operationen, die zur Kompilierzeit darin registriert sind, aber veränderlich sind, und 2 Funktionen werden für die Schnittstelle dazu exportiert:

   register_sysrq_key und unregister_sysrq_key.

Lassen Sie natürlich niemals einen ungültigen Zeiger in der Tabelle. Dh wann Ihr Modul, das register_sysrq_key() aufgerufen hat, beendet wird, muss es aufrufen unregister_sysrq_key(), um den verwendeten sysrq-Schlüsseltabelleneintrag zu bereinigen. Nullzeiger in der Tabelle sind immer sicher.  :)

Wenn Sie aus irgendeinem Grund das Bedürfnis verspüren, die Funktion handle_sysrq von aufzurufen Innerhalb einer Funktion, die von handle_sysrq aufgerufen wird, müssen Sie sich bewusst sein, dass Sie sich darin befinden eine Sperre (Sie befinden sich auch in einem Interrupt-Handler, was bedeutet, dass Sie nicht schlafen!), also Sie müssen stattdessen ``__handle_sysrq_nolock`` aufrufen.

Wenn ich eine SysRq-Tastenkombination drücke, erscheint nur die Kopfzeile auf der Konsole?

Die Sysrq-Ausgabe unterliegt der gleichen Konsolen-Loglevel-Steuerung wie all andere Konsolenausgabe. Das heißt, wenn der Kernel 'leise' gebootet wurde Wie es bei Distributionskernen üblich ist, erscheint die Ausgabe möglicherweise nicht auf dem tatsächlichen Konsole, obwohl es im dmesg-Puffer erscheint und zugänglich ist über den dmesg-Befehl und an die Verbraucher von ``/proc/kmsg``. Als spezifisch Ausnahme: Die Kopfzeile des sysrq-Befehls wird an alle Konsolen übergeben Verbraucher, als ob der aktuelle Loglevel maximal wäre. Wenn nur der Header ausgegeben wird, ist es ziemlich sicher, dass der Kernel-Loglevel zu niedrig ist. Sollten Sie die Ausgabe auf dem Konsolenkanal benötigen, benötigen Sie um den Loglevel der Konsole mit :kbd:`alt-sysrq-8` oder:

   echo 8 > /proc/sysrq-trigger

Denken Sie daran, den Loglevel nach dem Auslösen von sysrq wieder auf normal zurückzusetzen Befehl, an dem Sie interessiert sind.

Ich habe weitere Fragen, an wen kann ich mich wenden?

Fragen Sie sie einfach auf der Linux-Kernel-Mailingliste:

   linux-kernel@vger.kernel.org