it-swarm.com.de

Wie lese ich dmesg aus der vorherigen Sitzung? (dmesg.0)

dmesg ist ein Befehl zum Lesen des Inhalts von /var/log/dmesg. Das Schöne im Vergleich zu less /var/log/dmesg ist, dass ich das -T-Flag für die vom Menschen lesbare Zeitausgabe verwenden kann.

Jetzt möchte ich mir /var/log/dmesg.0, um zu sehen, wie mein Computer abgestürzt ist. Die Datei enthält die Protokolle der vorherigen Sitzung. Aber ich möchte das -T-Flag aus dem Befehl dmesg verwenden. Oder etwas Äquivalentes.

Irgendeine Idee wie?

Ich hätte nichts gegen ein grafisches Werkzeug, aber das Beste wäre eine CLI-Lösung.

36
donquixote

Um ein grundlegendes Missverständnis auszuräumen, liest dmesg nicht aus /var/log/dmesg. Es liest direkt aus dem Kernel-Ringpuffer und gibt Ihnen die neuesten N Nachrichten. Gegen Ende des Startvorgangs wird dmesg aufgerufen, um die Startnachrichten in /var/log/dmesg Zu schreiben (wobei ältere Versionen dieser Datei auf die übliche Weise gedreht werden).

Sobald ein Syslog ausgeführt wird (syslogd, rsyslogd, syslog-ng Usw.), liest es aus dem Kernelpuffer und schreibt in eine Datei wie /var/log/kern.log . (Dies ist für Debian; andere Systeme variieren). Angenommen, Ihr System konnte vor dem Absturz auf die Festplatte schreiben und die Festplattenpuffer leeren, dann finden Sie dort die sterbenden Schreie des Kernels.

Auf meinem Debian-System enthält die Datei /var/log/kern.log Von Menschen lesbare Zeitstempel.

33
roaima

Obwohl etwas spät für die OP ...

Ich verwende Fedora, aber wenn Ihr System journalctl verwendet, können Sie die Kernel-Meldungen (dmesg-Protokoll) aus dem vorherigen Herunterfahren/Absturz (in einem dmesg -T - Format) auf einfache Weise abrufen.

Optionen :

  • -k (dmesg)
  • -b < boot_number > (Wie viele Neustarts vor 0, -1, -2 usw.)
  • -o kurzpräzise (dmesg -T)
  • -p Priorität Nach Prioritätsausgabe filtern (4 zum Herausfiltern von Hinweisen und Informationen).

HINWEIS: Es gibt auch einen -o short Und einen -o short-iso, Die nur das Datum und die Uhrzeit im ISO-Format angeben.

Befehle :

  • Aktueller Start: journalctl -o short-precise -k
  • Letzter Start: journalctl -o short-precise -k -b -1
  • Zwei Stiefel vor: journalctl -o short-precise -k -b -2
  • Und so weiter

Beispielausgabe :

Feb 18 21:41:26.917400 localhost.localdomain kernel: usb 2-4: USB disconnect, device number 12
Feb 18 21:41:26.917678 localhost.localdomain kernel: usb 2-4.1: USB disconnect, device number 13
Feb 18 21:41:27.246264 localhost.localdomain kernel: usb 2-4: new high-speed USB device number 22 using xhci_hcd
Feb 18 21:41:27.419395 localhost.localdomain kernel: usb 2-4: New USB device found, idVendor=05e3, idProduct=0610
Feb 18 21:41:27.419581 localhost.localdomain kernel: usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Feb 18 21:41:27.419739 localhost.localdomain kernel: usb 2-4: Product: USB2.0 Hub
Feb 18 21:41:27.419903 localhost.localdomain kernel: usb 2-4: Manufacturer: GenesysLogic

Die Anzahl der Stiefel, auf die Sie zurückblicken können, kann wie folgt angezeigt werden.

  • journalctl --list-boot

Die Ausgabe von journalctl --list-boot Sieht folgendermaßen aus.

 -6 cc4333602fbd4bbabb0df2df9dd1f0d4 Sun 2016-11-13 08:32:58 JST—Thu 2016-11-17 07:53:59 JST
 -5 85dc0d63e6a14b1b9a72424439f2bab4 Fri 2016-11-18 22:46:28 JST—Sat 2016-12-24 02:38:18 JST
 -4 8abb8267e06b4c26a2466562f3422394 Sat 2016-12-24 08:10:28 JST—Sun 2017-02-12 12:31:20 JST
 -3 a040f5e79a754b2a9055ac2598d430e8 Sun 2017-02-12 12:31:36 JST—Sat 2017-02-18 21:31:04 JST
 -2 6c29e3b6f6a14f549f06749f9710e1f2 Sat 2017-02-18 21:31:15 JST—Sat 2017-02-18 22:36:08 JST
 -1 42fd465eacd345f7b595069c7a5a14d0 Sat 2017-02-18 22:51:22 JST—Sat 2017-02-18 23:08:30 JST  
  0 26ea10b064ce4559808509dc7f162f07 Sat 2017-02-18 23:09:25 JST—Sun 2017-02-19 00:57:35 JST
41
Procyclinsur

In Debian werden dmesg -Protokolle wie folgt gespeichert:

  • /var/log/dmesg (live und unkomprimiert)
  • /var/log/dmesg.0 (letzte Sitzung und unkomprimiert)
  • /var/log/dmesg.1.gz (vorletzte und komprimierte)
  • /var/log/dmesg.2.gz (vorletzt und komprimiert)
  • /var/log/dmesg.3.gz (3. vom letzten und komprimiert)
  • /var/log/dmesg.4.gz (4. vom letzten und komprimiert)

Wenn Sie Genehmigungen haben, können Sie diese mit cat, more oder less für einfache und zcat, zmore oder zless für komprimierte

5
Diego Alonso