26.02.2014 Aufrufe

LinuxUser Programmieren (Vorschau)

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

NETZ&SYSTEM<br />

SysRq<br />

A Die Tastenkombinationen<br />

funktionieren,<br />

wenn wie hier unter<br />

Ubuntu die Datei sysrq<br />

existiert und diese eine<br />

Zahl größer oder<br />

gleich 1 enthält.<br />

Taste<br />

[B]<br />

[E]<br />

[I]<br />

[K]<br />

[O]<br />

[R]<br />

[S]<br />

[U]<br />

Auswirkung<br />

Benutzer root auch mit dem folgenden<br />

Befehl simulieren:<br />

# echo k > /proc/sysrq-trigger<br />

HINTERTÜR<br />

Hängt der eingefrorene Rechner in einem Netzwerk, melden Sie<br />

sich auf ihm mittels SSH an und beenden dort dann via Kommandozeile<br />

die verursachenden Programme mit dem SysRq-Kill-Kommando.<br />

Das funktioniert allerdings nur, wenn die abgestürzten<br />

Programme nicht die komplette Rechenzeit auffressen. Darüber<br />

hinaus muss der SSH-Daemon installiert sein, laufen und sich<br />

von außen erreichen lassen. Letzteres verhindert beispielsweise<br />

unter OpenSuse die eingebaute Firewall. Aus den gleichen Gründen<br />

versagen auch die übrigen Alternativen zu SSH, wie etwa<br />

Rlogin, das obendrein noch Sicherheitsprobleme aufweist.<br />

WICHTIGE SYSRQ-FUNKTIONEN<br />

startet den Rechner sofort neu<br />

sendet SIGTERM an alle Prozesse außer init<br />

sendet SIGKILL an alle Prozesse außer init<br />

beendet alle Programme auf der aktuellen virtuellen<br />

Konsole<br />

fährt das System herunter (sofern vom Computer<br />

unterstützt)<br />

reanimiert die Tastatur, indem es den RAW-Modus<br />

abschaltet und in den XLATE-Modus wechselt<br />

leert den Festplattencache<br />

hängt alle Dateisysteme aus und mountet sie anschließend<br />

read-only<br />

Das k steht dabei für die dritte zu<br />

drückende Taste, in diesem Beispiel<br />

das „k“ für die vermutlich<br />

wichtigste und am häufigsten benötigte<br />

Tastenkombination.<br />

[S-Ab f]+[K] beendet alle Prozesse<br />

in der aktuellen virtuellen Konsole.<br />

Unter modernen Distributionen<br />

zählt dazu üblicherweise auch<br />

die grafische Benutzeroberfläche,<br />

die daraufhin automatisch neu<br />

startet oder zumindest dem Textmodus<br />

weicht.<br />

[S-Abf]+[K] erweist<br />

sich aber<br />

auch dann als<br />

nützlich, wenn<br />

Sie auf der<br />

Konsole arbeiten:<br />

Durch das<br />

Beenden aller<br />

Prozesse wird<br />

sichergestellt,<br />

dass der Anmeldebildschirm<br />

nicht<br />

von einem Trojaner stammt – vorausgesetzt,<br />

bei init handelt es sich<br />

noch um das Original.<br />

Einparkende Elefanten<br />

Rührt sich das System nicht mehr,<br />

dann drücken Sie [S-Abf]+[R]. Damit<br />

entzieht der Kernel dem X-<br />

Server die Gewalt über die Tastatur,<br />

indem er den vom X-Server<br />

genutzten Raw-Modus abschaltet<br />

und in den auf der Konsole genutzten<br />

XLATE-Modus wechselt.<br />

So erhalten Sie wieder die Gewalt<br />

über die Tastatur und können mit<br />

[Strg]+[Alt] und einer der Funktionstasten<br />

auf eine der Konsolen<br />

wechseln. Dort melden Sie sich an<br />

und terminieren per kill-Befehl<br />

die hängende Anwendung.<br />

Klappt das nicht, so drücken Sie<br />

[S-Abf]+[E]. Der Kernel fordert<br />

jetzt alle laufenden Programme<br />

auf, sich zu beenden. Dazu sendet<br />

er allen Prozessen außer init ein<br />

SIGTERM-Signal. Widerspenstigen<br />

Prozessen zeigen Sie per [S-Abf]+<br />

[I] die Rote Karte in Form des SIG-<br />

KILL-Signals, sodass der Kernel sie<br />

gnadenlos abschießt.<br />

Linux puffert die Festplattenzugriffe<br />

zunächst im Hauptspeicher.<br />

Bevor Sie das System neu starten,<br />

sollten Sie die zwischengeparkten<br />

Daten per [S-Abf]+[S] auf die<br />

Festplatte schreiben lassen. Als<br />

Quittung für den Abschluss der<br />

Aktion erscheint eine Meldung<br />

wie Emergency Sync complete auf<br />

dem Bildschirm. Blockiert ein abgestürztes<br />

Programm den Monitor<br />

und bleibt damit die Meldung versteckt,<br />

überwachen Sie stattdessen<br />

die Festplattenaktivitäten anhand<br />

der Status-LED am Rechnergehäuse.<br />

Fahren Sie erst dann mit<br />

den nächsten Tastenkombinationen<br />

fort, wenn ein paar Sekunden<br />

keine Aktivitäten mehr zu sehen<br />

und zu hören waren.<br />

Nachdem die Daten auf der Platte<br />

liegen, hängt [S-Abf]+[U] alle<br />

Dateisysteme sicher aus. [S-Abf]+<br />

[B] startet das System schließlich<br />

neu. Alternativ schalten Sie den<br />

Rechner per [S-Abf]+[O] aus. Der<br />

Kernel nutzt dazu die entsprechende<br />

Funktion des Power-Managements,<br />

das dazu folglich aktiviert<br />

sein muss.<br />

Zusammengefasst kommen hier<br />

also nacheinander die Tasten [R],<br />

[E], [I], [S], [U] und [B] zum Einsatz.<br />

Diese Reihenfolge kann man<br />

sich mit verschiedenen Eselsbrücken<br />

merken. Besonders beliebt<br />

ist der englische Satz „Raising Elephants<br />

Is So Utterly Boring“. Eine<br />

im Internet kursierende deutsche<br />

Variante lautet „Richtig Einparken<br />

Ist So Unglaublich Banal“.<br />

Alle wichtigen Tastenkombinationen<br />

fasst noch einmal die Tabelle<br />

Wichtige SysRq-Funktionen zusammen.<br />

Neben den dort aufgelisteten<br />

gibt es noch weitere Kombinationen,<br />

die sich allerdings<br />

durchweg an Programmierer richten.<br />

So zeigt etwa [S-Abf]+[P] den<br />

Inhalt aller Prozessorregister an,<br />

während [S-Abf]+[M] die Hauptspeicherbelegung<br />

ausgibt [1].<br />

Aus der Zauber<br />

Die vorgestellten „Affengriffe“<br />

wertet allesamt der Linux-Kernel<br />

aus. Damit das klappt, muss er<br />

selbst noch laufen – bei einer Kernel-Panik<br />

hilft folglich nur noch<br />

ein Griff zum Reset-Knopf. Des<br />

Weiteren muss der Kernel die<br />

Tastenkombinationen unterstützen.<br />

Das ist genau dann der Fall,<br />

wenn im Verzeichnis /proc/sys/<br />

kernel eine Datei namens sysrq<br />

INFO<br />

[1] Kernel-Dokumentation zu allen Magic System<br />

Request Keys: http:// www. kernel. org/<br />

doc/ Documentation/ sysrq. txt<br />

70 11 | 12<br />

www.linux-user.de

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!