Reboots unter Linux

Aus Fedorawiki.de

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der Tipps & Tricks Sammlung

Inhaltsverzeichnis

Vorwort

Unter Windows ist es normalerweise notwendig, selbst bei kleineren Veränderungen oder Updates den kompletten PC neuzustarten. Unter Linux ist dieses meistens unnötig. Natürlich müssen bei Konfigurationsänderungen oder Updates zum Aktivieren dieser auch die entsprechenden Programme unter Linux neugestartet werden. Ein Reboot des kompletten Systems ist allerdings nur in Ausnahmefällen nötig:

  • nach Aktualisierungen des Kernels
  • nach Ein- oder Ausschalten von SELinux
  • nach Partitionieren der Festplatte
  • bei fehlendem Wissen über die Art des benötigten Neustarts

Dem letzten Punkt soll hier ein wenig Abhilfe geschaffen werden.

Neustart über Kommandos

Folgende Shell-Befehle veranlassen den Rechner zum Neustart:

[root]# reboot

oder

[root]# shutdown -r now

Neustart von Diensten

[root]# /sbin/service $DIENST restart

oder alternativ

[root]# /etc/init.d/$DIENST restart

$DIENST muss dabei durch den Namen des Dienstes, der neugestartet werden soll, ersetzt werden.

Neustart des X-Servers

Ein Neustart des X-Servers ist eigentlich nur nötig, wenn Änderungen in der xorg.conf vorgenommen wurden (wie z. B. bei Änderung von Monitorwerten).

Ablauf:

  • Sitzung beenden
  • Strg+Alt+Backspace drücken (Backspace ist die Rücktaste: "<-")

Dadurch sollte der Bildschirm kurz schwarz werden und anschließend der Loginmanager (gdm/kdm) neu gestartet werden. Die veränderten Einstellungen werden beim Neustart übernommen. Sollte der Loginmanager ausnahmsweise nicht von selbst gestartet werden, muss ihm ein wenig nachgeholfen werden:

- Einloggen als root in einem virtuellen Terminal (Strg+Alt+F1...Strg+Alt+F6)

gdm-restart

Neustart von Programmen

Bei Updates von Programmen reicht ein einfaches Beenden und anschließendes Neustarten völlig aus. Bei Konfigurationsänderungen von grafischen Programmen ist dies meistens nicht nötig, sobald die Änderungen in der Oberfläche selbst getroffen wurden. Falls doch, wird man meistens auch darauf hingewiesen (z. B. bei KDE-Programmen oder der Installation von Themes/Extensions beim Firefox).

Neustart ohne aushängen und synchronisieren des Dateisystemes

Magischer Reboot

Wenn Sie schon 'mal einen Plattenfehler auf einem fernen Server hatten, werden Sie sich an das Gefühl erinnern als Sie folgende Kommandos ausführten:

   # reboot
   bash: /sbin/reboot: Input/output error
   # shutdown -r now
   bash: /sbin/shutdown: Input/output error

Ein Problem der Festplatte ist offensichtlich. Diese Befehle können nicht ausgeführt werden, weil der Kernel nicht in der Lage ist /sbin/reboot und /sbin/shutdown von der Platte zu lesen, weshalb sie folglich nicht ausgeführt werden können.

Ein fsck während des nächsten Systemstarts könnte dieses Problem möglicherweise beheben, aber dazu muss das System erst mal zu einem erneuten Start gebracht werden. Befindet sich die Maschine bei einem Anbieter der Wartung und Pflege im Angebot inklusive ist, ist es möglich eine Reboot-Anfrage zu übermitteln. Aber dies geschieht selten unverzüglich.

Wäre es nicht schön, den Kern zu einem Neustart zu bewegen ohne die Festplatte zu bemühen? Nun, da gibt es einen Weg und der ist bemerkenswert einfach.

Der "magische SysRq Schlüssel" bietet einen Weg, der Kommandos über das /proc Dateisystem an den Kern übergibt. Dieser Weg wird durch den Kompilierparameter CONFIG_MAGIC_SYSRQ, welcher bei den meisten Distributionen Standard ist, ermöglicht.

Zunächst wird die magic SysRq Option aktiviert:

echo 1 > /proc/sys/kernel/sysrq

Wollen Sie die Maschine nun neustarten, muss lediglich folgerde Kommandokette ausgeführt werden:

echo b > /proc/sysrq-trigger

Nun versucht der Kern weder ein Aushängen oder eine Synchronisation der Dateisysteme. Diese Art von Neustart sollte nur im Notfall angewendet werden, aber bei einem Festplattenfehler sollte das keine Rolle spielen.

Außerdem kann der SysRq Trick, unter anderem, auch genutzt werden um Speicherinformationen auf die Konsole zu übertragen, alle Dateisysteme zu synchronisieren, alle Dateisysteme erneut im Lesemodus einzubinden, die Signale SIGTERM oder SIGKILL an alle Prozesse außer Init zu senden, die Maschine auszuschalten.

Statt ein echo nach /proc/sys/kernel/sysrq kann der Schlüssel auch während des Startvorganges gesetzt werden wenn sysctl unterstützt wird:

echo "kernel.sysrq = 1" >> /etc/sysctl.conf

Wenn Sie mehr über SysRq lernen möchten, lesen Sie die Datei sysrq.txt in der Kern-Dokumentation (Englisch).

Links

Quelle