GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Irreführung von Linux Kernel.org über Kernel Panic

Die maßgebliche Quelle ist die Implementierung im Kernel, also schauen wir uns das zuerst an.

Der panic Eintrag in sysctl entspricht einer Kernelvariable namens panic_timeout . Dies ist eine vorzeichenbehaftete Ganzzahl, die verwendet wird, um das Verhalten bei Panik wie folgt zu steuern:

  • wenn panic_timeout strikt positiv ist, wartet der Kernel nach einer Panik auf panic_timeout Sekunden;
  • wenn panic_timeout nicht null ist, startet der Kernel nach einer Panik neu (nach einer Wartezeit, falls angemessen);
  • Wenn der Kernel nicht neu gestartet wurde, gibt er eine Nachricht aus und macht eine Endlosschleife.

Die Manpage ist also korrekt und die Kernel-eigene Dokumentation war unvollständig; aber sysctl/kernel.rst dokumentiert jetzt panic ausführlicher. Dies wurde in Version 5.7-rc1 des Kernels behoben.


Warum also so eine vertrauenswürdige Quelle gibt solche an eine irreführende Information?

Erstens ist es nur leicht irreführend - Sie ziehen lieber Ihre Schlussfolgerung - als ein Fehler. Ich würde sagen, dass kernel.org den Sonderfall "0" vernachlässigt.

Ich kenne die Details von kernel.org nicht , aber im Wesentlichen ist es eine Mischung aus dem offiziellen Kernel Documentation/ (webformatiert, gruppiert), plus einige zusätzliche Informationen. Bestes Beispiel ist die Liste der Boot-Parameter, die von verschiedenen Stellen "gesammelt" wird, wie sie es ausdrücken.

"kernel.org" listet den Link "Documentation" unter "Other Resources". Sie gelangen zu doc/html/latest/ . Auch unter /doc gibt es eine bunte Mischung aus Links .

Gleich zu Beginn steht in der (sphinx-formatierten) Dokumentation:

Kernel-Dokumentation, wie der Kernel selbst, ist sehr viel ein work in progress; das gilt insbesondere, wenn wir daran arbeiten, unsere vielen verstreuten Dokumente zu integrieren zu einem stimmigen Ganzen. Bitte beachten Sie, dass Verbesserungen an der Dokumentation willkommen sind;...

Die man 5 proc ist Teil von man-pages Projekt (oder Paket), und da ist dieser Typ mit dem Buch-um-einen-Ochsen zu betäuben, der es pflegt. Diese Seiten haben alle "COLOPHON" als Untertitel (Abschnitt) am Ende. Sie sind auch heterogen, einige wurden gerade gesammelt (alle POSIX-„1p“-Seiten) und einige wurden geschrieben, um die Lücken zu füllen.

Auf man7.org Sie sehen direkt das Werk von Herrn Kerrisk – ich denke, er leistet gute Arbeit, indem er sein Buch verkauft, aber eine Sammlung von Open-Source-Manpages pflegt.

In diesem Fall ist er genauer. Beide scheinen natürlich verwandt zu sein ("When you...device driver... 60").

wir daran arbeiten, unsere zu integrieren viele verstreute Dokumente zu einem zusammenhängenden Ganzen.

Das macht nur halbwegs Sinn. Wessen Dokumente verstreut wurden , und von wem?

Mein Pseudocode geht so:

if timeout > 0   then loop for 'timeout' seconds
if timeout != 0  then reboot
loop for ever

Was bedeutet, dass ein negativer Wert ein sofortiger Neustart ist und ein positiver beide ifs wahr hat. Und die Null führt direkt zur Endschleife.


Linux
  1. Eine „Kernel-Panik“?

  2. Linux – Kernel-IP-Weiterleitung?

  3. Linux – Ein verdorbener Kernel in Linux?

  4. Linux – Kompilieren und Installieren eines Kernel.org-Kernels auf einem benutzerdefinierten Volume auf der Festplatte?

  5. Linux – Sind verschiedene Linux/Unix-Kernel austauschbar?

Sysctl-Befehl unter Linux

30 erstaunliche Fakten über Linux, die Sie kennen sollten

Ist Linux ein Betriebssystem oder ein Kernel?

Linux-Kernel vs. Mac-Kernel

Linux-Kernel und seine Funktionen

Was tun bei einer Linux-Kernel-Panik?