Unterschied zwischen der Ausgabe von dmesg und dem Inhalt von / var / log / dmesg?

10

Ich fand, dass die Ausgabe dmesgund der Inhalt von /var/log/dmesgunterschiedlich sind. Welche Unterschiede bestehen dann zwischen ihren Zwecken?

Tim
quelle

Antworten:

13

Der dmesgBefehl zeigt den aktuellen Inhalt der Kernel-Syslog-Ringpuffer-Nachrichten an, während die /var/log/dmesgDatei enthält, was sich in diesem Ringpuffer befand, als der Startvorgang zuletzt abgeschlossen wurde.

jlliagre
quelle
Wenn mein WLAN-Adapter nach einer Weile nach dem Start nicht mehr funktioniert, welchen soll ich untersuchen?
Tim
@ Tim: Schauen Sie zuerst dmesgnach den jüngsten Ereignissen. Wenn Sie es dort nicht finden können, aber dennoch den Verdacht haben, dass relevante Informationen vorhanden sein sollten, schauen Sie hinein /var/log/dmesg.
Dotancohen
1
@ Tim-Syslog-Nachrichten werden in / var / log / syslog gespeichert und dann in /var/log/syslog.1, /var/log/syslog.2.gz usw. gedreht.
Jlliagre
Der Inhalt von @jlliagre - / var / log / dmesg wird also behoben (auf z. B. einem Server mit einer Betriebszeit von z. B. mehr als 30 Tagen), und es gibt keine Möglichkeit, dass sich die Zeilen darin bis zum neuen Start ändern. Und dmesg wird den aktuellen Inhalt des Kernel-Syslog-Ringpuffers enthalten, sodass die darin enthaltenen Nachrichten durch die neuen ersetzt werden? Und wohin gehen die alten Nachrichten von dmesg?
Muhamed Huseinbašić
1
@ MuhamedHuseinbašić / var / log / dmesg bleibt bis zum nächsten Neustart unverändert (obwohl eine Distribution frei tun kann, was sie will). Alte Nachrichten werden durch neue Nachrichten im Ringpuffer ersetzt, das ist die Idee eines Rings. Abhängig von der Syslog-Konfiguration werden möglicherweise irgendwo alte Nachrichten geschrieben, andere gehen verloren.
Jlliagre