Was ist der Unterschied zwischen der dmesg-Ausgabe und / var / log / messages?

55

AFAIK dmesgzeigt Informationen zu Kernel und Kernelmodulen sowie /var/log/messagesInformationen, die von Kernel und Modulen erstellt wurden.

Was ist der Unterschied? Gibt /var/log/messages aus von dmesg?

Weitere nützliche Informationen:
- Es gibt einen Kernel-Ringpuffer , der meiner Meinung nach der einzige Ort ist, an dem Kernel-Protokolldaten gespeichert werden.
- Artikel " Kernel-Protokollierung: APIs und Implementierung " in IBM DeveloperWorks beschreibt APIs und das Bild mit der Vogelperspektive.

Xanpeng
quelle

Antworten:

51

dmesgdruckt den Inhalt des Ringpuffers. Diese Informationen werden auch in Echtzeit an syslogdoder gesendet klogd, wenn sie ausgeführt werden, und landen in /var/log/messages. Wann dmesgist am nützlichsten bei der Erfassung von Boot-Time-Nachrichten von vor syslogdund / oder klogdgestartet, damit sie ordnungsgemäß protokolliert werden.

Geekosaurier
quelle
4
Also /var/log/messagesund dmesgwerden die gleichen Protokolle (in verschiedenen Formaten) angezeigt, nachdem syslogdund / oder klogdgestartet?
Xanpeng
10
Nach der klogdAusführung dmesgwerden nur die neuesten Kernel-Nachrichten angezeigt (da der Ringpuffer eine feste Größe hat und daher nur so viel enthalten kann), ohne Zeitstempel oder andere Informationen. Die /var/log/messagesProtokolle werden entsprechend der logrotateKonfiguration gespeichert und enthalten Zeitstempel (welche) wird für anfängliche Startnachrichten etwas ungenau sein, da dmesgsie nicht vorhanden sind. Daher wird die klogdgestartete Zeit für alle Nachrichten verwendet, die aus dem Kernel-Puffer gelesen werden.
Geekosaurier
6
@xanpeng dmesgenthält nur Nachrichten vom Kernel, /var/log/messagesnormalerweise auch Protokolle von Anwendungen.
Gilles 'SO- hör auf böse zu sein'
14

Das hängt vom Betriebssystem ab. Unter Solaris ist dmesg beispielsweise einfach ein Shell-Skript, das die letzten 200 Zeilen der /var/adm/messages.*Dateien anzeigt .

jlliagre
quelle
1
Ist es auch bunt?
Hi-Angel
@Hi-Angel Keine Nachbearbeitung der Logdatei also keine Einfärbung, nur cat ... | tail -200.
Juli
6
  • Wir können sagen, dass dies dmesgdie Teilmenge von ist /var/log/messagesund im Ringpuffer gehalten wird.
  • /var/log/messagesUmfasst alle Systemnachrichten, auch vom Systemstart an, zusammen mit den Nachrichten in dmesg. Kurz gesagt, Protokolle von dmesgwerden abgelegt /var/log/messages.
  • /var/log/messagesVerwalten Sie die allgemeinen Systemaktivitätsprotokolle und dmesgnur die Kernelprotokolle.
Bhagyesh Dudhediya
quelle
2

dmesg : dmesg ist eine (Anzeige- oder Treiber-) Nachricht. Es wird verwendet, um den Kernel-Ringpuffer zu untersuchen oder zu steuern.

messages : Enthält globale Systemnachrichten, einschließlich der Nachrichten, die beim Systemstart protokolliert werden. Es gibt verschiedene Dinge, die angemeldet sind, /var/log/messageseinschließlich Mail, Cron, Daemon, Kern, Authentifizierung usw.

Mughil
quelle