[[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] Obwohl Linux sehr stabil ist, können in Ausnahmefällen [wikipedia:Kernel_Panic: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 [:Terminal#Virtuelle-Konsole:Konsole] zur Reparatur möglich. In einem solchem 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 [wikipedia:Magische_S-Abf-Taste:Magische S-Abf-Taste] bekannt. Die SysRq-Taste befindet sich auf der deutschen Tastatur als Zweitbelegung von [[Vorlage(Tasten, druck)]]. Je nach Tastatur muss man zum Erreichen von "S-Abf" zuerst [[Vorlage(Tasten, alt)]] gedrückt halten: praktisch also [[Vorlage(Tasten, alt+druck)]] (auf schweizerischen und englischsprachigen Tastaturen jedoch [[Vorlage(Tasten,altgr)]] + die Taste "SysRq"). Bei Notebooks ist teilweise auch die Kombination mit [[Vorlage(Tasten, fn)]] erforderlich. {{{#!vorlage Hinweis * Dell Vostro Laptops: Erst [[Vorlage(Tasten, Num)]] drücken – dann leuchtet das blaue LED auf – und danach [[Vorlage(Tasten, Fn+Alt+Druck)]] +"Buchstabe" drücken. * einige Logitech-Tastaturen (z.B. K300): Erst [[Vorlage(Tasten, FN)]] (Taste in rot) drücken, dann leuchten oben die LED's in kräftiger, oranger Farbe auf und danach [[Vorlage(Tasten, Alt+Druck)]] (die Druck-Taste ist die [[Vorlage(Tasten, Pos1)]]-Taste) +"Buchstabe" drücken. * Workarounds, wie [[Vorlage(Tasten, Num)]] zuerst zu aktivieren oder [[Vorlage(Tasten, AltGr)]] anstelle von [[Vorlage(Tasten, Alt)]] zu verwenden, sind offenbar bei vielen Laptops nötig. * Manchmal funktionieren nur Teile der Magic SysRQ-Kette nicht, z. B. 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. Die für den entsprechenden Befehl notwendige Taste kann der folgenden Tabelle entnommen werden. = Anwenden = 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 [[Vorlage(Tasten, alt+druck)]] gedrückt gehalten und nacheinander die Tasten [[Vorlage(Tasten,r+e+i+s+u+b)]] betätigt. Die dazu benötigte Reihenfolge lässt mit folgendem Satz merken: * ''"'''R'''aising '''E'''lephants '''I'''s '''S'''o '''U'''tterly '''B'''oring"'' oder * ''"'''R'''ichtig '''E'''inparken '''I'''st '''S'''o '''U'''nglaublich '''B'''anal"'' * rückwärts: "'''busier'''" {en}, (vom engl. "busy", d.h. beschäftigt oder ausgelastet) Jeweils der erste Buchstabe eines Wortes steht für die folgende SysRQ-Funktion: {{{#!vorlage Hinweis Ab [:Quantal:Ubuntu 12.10] sind die ersten drei SysRQ-Funktionen standardmäßig deaktiviert. Damit steht praktisch nur "SUB" zur Verfügung ([bug:194676:], [bug:1025467:]). Möchte man diese aus Sicherheitsgründen getroffene Einschränkung aufheben, setzt man statt `176` den Wert `1` (siehe unten). }}} ||<-4 rowclass="titel"> Sicheres Reboot || ||'''Taste''' ||'''Funktion''' || '''Bedeutung''' || ||[[Vorlage(Tasten, r)]]|| unraw || Nimmt der grafischen Oberfläche den Zugriff auf die Tastatur || ||[[Vorlage(Tasten, e)]]|| term || Sendet ein [:Signale:SIGTERM] an alle Prozesse außer Init || ||[[Vorlage(Tasten, i)]]|| kill || Sendet ein [:Signale:SIGKILL] an alle Prozesse außer Init || ||[[Vorlage(Tasten, s)]]|| sync || Schreibt alle noch nicht auf die Festplatte geschriebenen Daten aus dem Kernel-Festplatten-Cache auf die Festplatten || ||[[Vorlage(Tasten, u)]]|| umount || Alle eingehängten Partitionen werden ausgehängt, und danach nur-lesbar eingehängt || ||[[Vorlage(Tasten, 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. || Außerdem gibt es noch einige weitere Funktionen: ||<-4 rowclass="titel"> Sonstige Funktionen || ||'''Taste''' ||'''Funktion''' || '''Bedeutung''' || ||[[Vorlage(Tasten, c)]]|| Crashdump || Startet über '''kexec'''(sofern vorhanden) neu und gibt einen Dump auf dem Bildschirm aus. Ohne '''kexec''' wird eine Absturz durch eine Null-Pointer-Dereferenzierung veranlasst.|| ||[[Vorlage(Tasten, d)]]|| || Zeigt im [:Terminal#Virtuelle-Konsole:Textmodus] alle gesetzten Locks an || ||[[Vorlage(Tasten, 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. || ||[[Vorlage(Tasten, l)]]|| Kill including init ||Sende [:Signale:SIGKILL] an __alle__ Prozesse, auch an Init. Das kommt einem Ausschalten gleich. || ||[[Vorlage(Tasten, m)]]|| Memory || Gibt im [:Terminal#Virtuelle-Konsole:Textmodus] die Hauptspeicherbelegung in der Konsole aus. || ||[[Vorlage(Tasten, o)]]|| Power off || Fährt den Rechner mit [:Energiesparmodi mit ACPI: APM/ACPI] herunter und schalte ihn aus (wenn vom Rechner unterstützt). || ||[[Vorlage(Tasten, p)]]|| || Zeigt im [:Terminal#Virtuelle-Konsole:Textmodus] den Inhalt der CPU-Register inklusive der FLAGS an || ||[[Vorlage(Tasten, q)]]|| || Zeigt im [:Terminal#Virtuelle-Konsole:Textmodus] alle derzeitig laufenden Timer an || ||[[Vorlage(Tasten, t)]]|| || Zeigt im [:Terminal#Virtuelle-Konsole:Textmodus] eine Liste aktuell laufender Prozesse an. || ||[[Vorlage(Tasten, w)]]|| || Zeigt im [:Terminal#Virtuelle-Konsole:Textmodus] die Prozesse in geblocktem Status an. || = Aktivieren und Deaktivieren von Magic SysRQ = Ob der Magic SysRQ aktiviert ist oder nicht, kann über diesen Befehl [1] herausgefunden werden: {{{#!vorlage Befehl cat /proc/sys/kernel/sysrq }}} überprüft werden. Ist die Ausgabe ungleich `0`, ist SysRQ aktiv, bei `0` nicht. Zur Deutung des zurückgelieferten Werts siehe [http://www.mjmwired.net/kernel/Documentation/sysrq.txt sysrq.txt] {en}. Auf diesem Weg lässt sich die Funktion auch direkt aktivieren. Beispiel: {{{#!vorlage Befehl echo 1 | sudo tee /proc/sys/kernel/sysrq }}} beziehungsweise deaktivieren: {{{#!vorlage Befehl echo 0 | sudo tee /proc/sys/kernel/sysrq }}} = Permanentes Aktivieren und Deaktivieren von Magic SysRQ = Zum permanenten Aktivieren wird in die Datei '''/etc/sysctl.conf''' (bis Ubuntu 12.04) bzw. '''/etc/sysctl.d/10-magic-sysrq.conf''' (ab Ubuntu 12.10) folgendes eingetragen: {{{ # Werte fuer X sind der Dokumentation zu entnehmen: http://www.mjmwired.net/kernel/Documentation/sysrq.txt kernel.sysrq = X }}} Zur permanenten Deaktivierung: {{{ kernel.sysrq = 0 }}} = Bedienung aus der Kommandozeile = Wenn die [[Vorlage(Tasten, 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. Ein Beispiel: {{{#!vorlage Befehl echo b | sudo tee /proc/sysrq-trigger }}} Dieser Befehl ist äquivalent zur Kombination [[Vorlage(Tasten, Alt+druck)]]+[[Vorlage(Tasten, b)]] und startet den Rechner sofort neu. = Problembehebung = = Magic SysRQ testen = Wer die SysRQ-Funktionen gezielt testen möchte, startet am besten eine [wikipedia:Forkbomb:] auf dem Rechner, um diesen bewusst zu überlasten. Abschließend noch ein Auszug des Systemprotokolls eines Rechners mit [:Trusty: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 }}} = Links = * [https://www.kernel.org/doc/Documentation/sysrq.txt Offizielle Kernel-Dokumentation zum Magic SysRq] {en} * [http://de.wikibooks.org/wiki/Linux-Praxisbuch:_Problembehandlung_beim_Neustart Problembehandlung beim Neustart] {de} im Linux-Kompendium * [http://www.linuxforums.org/misc/procfs_from_the_inside.html Procfs from the inside] {en} - 03/2006 * [:Notfall:] {Übersicht} Übersichtsartikel # tag: System