Einführung
In diesem Lab lernen Sie, wie Sie prüfen können, ob die Einstellung für einen Kernel-Panic (Kernel-Panic-Einstellung) in Linux aktiv ist. Das Lab führt Sie durch die Verwendung des Befehls sysctl, um die kernel.panic-Einstellung zu überprüfen und vorübergehend zu ändern. Diese Einstellung bestimmt das Verhalten des Systems nach einem kritischen Fehler.
Sie werden auch untersuchen, wie Sie die sysctl-Konfiguration überprüfen können, indem Sie die Datei /etc/sysctl.conf untersuchen und die Kernel-Parameter im Verzeichnis /proc/sys/kernel anzeigen, um zu verstehen, wie diese Einstellungen das Systemverhalten beeinflussen.
Überprüfen Sie die Panik-Einstellung mit sysctl kernel.panic
In diesem Schritt werden wir untersuchen, wie Sie die Panic-Einstellung des Kernels (Kernel-Panic-Einstellung) mit dem Befehl sysctl überprüfen können. Die kernel.panic-Einstellung bestimmt, wie der Kernel bei einem Panikfall (Kernel-Panic) reagiert. Ein Kernel-Panic ist ein kritischer Fehler, von dem das System nicht wiederherstellen kann und der oft zu einem Systemabsturz oder Neustart führt.
Der Befehl sysctl ist ein leistungsstarkes Werkzeug zum Lesen und Ändern von Kernel-Parametern zur Laufzeit. Diese Parameter steuern verschiedene Aspekte des Systemverhaltens.
Um den aktuellen Wert der kernel.panic-Einstellung zu überprüfen, öffnen Sie Ihr Terminal und geben Sie den folgenden Befehl ein:
sysctl kernel.panic
Dieser Befehl zeigt den aktuellen Wert der kernel.panic-Einstellung an. Sie sollten eine Ausgabe ähnlich der folgenden sehen:
kernel.panic = 0
Der Wert 0 gibt an, dass das System nach einem Kernel-Panic nicht automatisch neu starten wird. Wenn der Wert größer als 0 ist, gibt er die Anzahl der Sekunden an, die der Kernel vor dem automatischen Neustart warten wird.
Jetzt versuchen wir, den Wert von kernel.panic zu ändern. Um ihn auf 10 Sekunden festzulegen, verwenden Sie den folgenden Befehl mit sudo:
sudo sysctl kernel.panic=10
Sie werden nach Ihrem Passwort gefragt. Nach der Eingabe wird der Befehl den Wert von kernel.panic auf 10 setzen.
Um zu überprüfen, ob die Änderung erfolgreich war, führen Sie den sysctl-Befehl erneut aus:
sysctl kernel.panic
Sie sollten jetzt sehen:
kernel.panic = 10
Dies bestätigt, dass die kernel.panic-Einstellung erfolgreich geändert wurde.
Es ist wichtig zu beachten, dass Änderungen, die mit sysctl vorgenommen werden, temporär sind und nach einem Neustart verloren gehen. Um die Änderungen dauerhaft zu machen, müssen Sie die Datei /etc/sysctl.conf ändern, was wir im nächsten Schritt behandeln werden.
Überprüfen Sie die sysctl-Konfiguration mit cat /etc/sysctl.conf
Im vorherigen Schritt haben wir gelernt, wie wir die kernel.panic-Einstellung vorübergehend mit dem Befehl sysctl ändern können. Diese Änderungen sind jedoch nicht dauerhaft und gehen nach einem Neustart verloren. Um die Änderungen dauerhaft zu machen, müssen wir die Datei /etc/sysctl.conf ändern.
Die Datei /etc/sysctl.conf ist die Hauptkonfigurationsdatei für sysctl. Sie enthält eine Liste von Kernel-Parametern und deren gewünschten Werten. Beim Systemstart liest das System diese Datei und wendet die angegebenen Einstellungen an.
Um den Inhalt der Datei /etc/sysctl.conf anzuzeigen, öffnen Sie Ihr Terminal und verwenden Sie den cat-Befehl:
cat /etc/sysctl.conf
Dieser Befehl zeigt den Inhalt der Datei an. Sie sehen möglicherweise einige Kommentare (Zeilen, die mit # beginnen) und einige vorhandene Einstellungen.
## /etc/sysctl.conf - Configuration file for setting system variables
## See /etc/sysctl.d/ for additional system variables.
## See sysctl.conf (5) for more information.
Jetzt fügen wir unsere kernel.panic-Einstellung dieser Datei hinzu. Wir verwenden den echo-Befehl, um die Einstellung am Ende der Datei anzufügen.
echo "kernel.panic = 10" | sudo tee -a /etc/sysctl.conf
Hier ist eine Aufschlüsselung des Befehls:
echo "kernel.panic = 10": Dieser Teil erstellt den Text, den wir der Datei hinzufügen möchten.|: Dies ist eine Pipe, die die Ausgabe desecho-Befehls nimmt und sie als Eingabe an dentee-Befehl sendet.sudo tee -a /etc/sysctl.conf: Dertee-Befehl liest von der Standardeingabe und schreibt sowohl an die Standardausgabe als auch in eine oder mehrere Dateien.sudo: Erlaubt uns, in eine Datei zu schreiben, die Administratorrechte erfordert.-a: Fügt den Text am Ende der Datei an, anstatt sie zu überschreiben./etc/sysctl.conf: Die Datei, die wir ändern möchten.
Nachdem Sie diesen Befehl ausgeführt haben, überprüfen wir, ob die Einstellung der Datei hinzugefügt wurde. Verwenden Sie erneut den cat-Befehl:
cat /etc/sysctl.conf
Sie sollten jetzt die Zeile kernel.panic = 10 am Ende der Datei sehen.
## /etc/sysctl.conf - Configuration file for setting system variables
## See /etc/sysctl.d/ for additional system variables.
## See sysctl.conf (5) for more information.
kernel.panic = 10
Um die Änderungen anzuwenden, können Sie entweder das System neu starten oder den folgenden Befehl ausführen:
sudo sysctl -p
Dieser Befehl teilt sysctl mit, die Datei /etc/sysctl.conf zu lesen und die Einstellungen anzuwenden.
Jetzt wird die kernel.panic-Einstellung auch nach einem Neustart beibehalten.
Untersuchen Sie die Kernel-Parameter in /proc/sys/kernel
In diesem Schritt werden wir einen anderen Weg untersuchen, um Kernel-Parameter anzuzeigen: das Verzeichnis /proc/sys/kernel. Dieses Verzeichnis bietet eine virtuelle Dateisystem-Schnittstelle zu Kernel-Variablen. Jede Datei in diesem Verzeichnis repräsentiert einen Kernel-Parameter.
Das Verzeichnis /proc ist ein spezielles Verzeichnis in Linux, das Informationen über laufende Prozesse und den Kernel bereitstellt. Es handelt sich um ein virtuelles Dateisystem, was bedeutet, dass die Dateien und Verzeichnisse darin nicht tatsächlich auf der Festplatte existieren. Stattdessen werden sie vom Kernel dynamisch erstellt, wenn auf sie zugegriffen wird.
Um die Dateien im Verzeichnis /proc/sys/kernel aufzulisten, öffnen Sie Ihr Terminal und verwenden Sie den ls-Befehl:
ls /proc/sys/kernel
Dieser Befehl zeigt eine Liste von Dateien an, wobei jede Datei einen Kernel-Parameter repräsentiert. Sie werden Dateien wie hostname, domainname, osrelease, version und viele andere sehen.
acpi_video_flags ctrl-alt-del dmesg hostname modules_disabled osrelease powersave-nap pty random realtime-max-usleep shmmax shmall shmmni sysrq tainted threads-max unknown_nmi_panic version yama
Um den Wert eines bestimmten Kernel-Parameters anzuzeigen, können Sie den cat-Befehl auf die entsprechende Datei anwenden. Beispielsweise können Sie den folgenden Befehl verwenden, um den Hostnamen des Systems anzuzeigen:
cat /proc/sys/kernel/hostname
Dadurch wird der aktuelle Hostname des Systems angezeigt.
labex
In ähnlicher Weise können Sie den folgenden Befehl verwenden, um die Kernel-Version anzuzeigen:
cat /proc/sys/kernel/osrelease
Dadurch wird die Kernel-Version angezeigt.
5.15.0-76-generic
Sie können auch den sysctl-Befehl verwenden, um diese Parameter anzuzeigen, wie wir im ersten Schritt gesehen haben. Beispielsweise ist der folgende Befehl äquivalent zu cat /proc/sys/kernel/hostname:
sysctl kernel.hostname
Das Verzeichnis /proc/sys/kernel bietet eine Fülle von Informationen über die Konfiguration und den Zustand des Kernels. Es ist eine wertvolle Ressource für Systemadministratoren und Entwickler, die das Verhalten des Systems verstehen und überwachen müssen.
Es ist wichtig zu beachten, dass Sie zwar diese Dateien anzeigen können, aber normalerweise Root-Rechte benötigen, um sie direkt zu ändern. Die Verwendung von sysctl ist jedoch die bevorzugte Methode zur Änderung von Kernel-Parametern, da sie eine besser kontrollierte und konsistente Schnittstelle bietet.
Zusammenfassung
In diesem Lab haben wir untersucht, wie man die kernel.panic-Einstellung in Linux mithilfe des sysctl-Befehls überprüft und vorübergehend ändert. Wir haben gelernt, dass kernel.panic das Verhalten des Kernels bei Auftreten eines kritischen Fehlers bestimmt. Ein Wert von 0 bedeutet, dass kein automatischer Neustart erfolgt, während ein Wert größer als 0 die Verzögerung in Sekunden vor dem Neustart angibt.
Wir haben sysctl kernel.panic verwendet, um die aktuelle Einstellung anzuzeigen, und sudo sysctl kernel.panic=10, um sie vorübergehend zu ändern. Das Lab hat auch darauf hingewiesen, dass Änderungen, die mit sysctl vorgenommen werden, nach einem Neustart nicht beibehalten werden und dass für eine dauerhafte Konfiguration die Datei /etc/sysctl.conf geändert werden muss. Dies wird in den folgenden Schritten behandelt.



