Como ler o dmesg da sessão anterior? (dmesg.0)

23

dmesg é um comando para ler o conteúdo de /var/log/dmesg . A coisa legal em comparação com less /var/log/dmesg é que eu posso usar o sinalizador -T para a saída de tempo legível.

Agora, gostaria de ver o /var/log/dmesg.0 para ver como meu computador travou. O arquivo contém os logs da sessão anterior. Mas eu quero usar o sinalizador -T do comando dmesg. Ou algo equivalente.

Alguma ideia de como?

Eu não me importaria com uma ferramenta gráfica, mas o melhor seria uma solução cli.

    
por donquixote 26.01.2015 / 05:59

3 respostas

20

Para esclarecer um equívoco fundamental, dmesg não lê /var/log/dmesg . Ele lê diretamente do buffer de anel do kernel e fornece as mensagens N mais recentes. No final do processo de inicialização, dmesg é invocado para gravar as mensagens de inicialização em /var/log/dmesg (com versões mais antigas do arquivo sendo rotacionadas da maneira usual).

Depois de ter um syslog em execução ( syslogd , rsyslogd , syslog-ng , etc.), ele lê o buffer do kernel e grava em um arquivo como /var/log/kern.log . (Isto é para o Debian; outros sistemas irão variar). Assumindo que seu sistema foi capaz de gravar em disco e liberar os buffers de disco antes que ele caísse, é aí que você encontrará os gritos agonizantes do kernel.

No meu sistema Debian, o arquivo /var/log/kern.log contém registros de data e hora legíveis.

    
por 26.01.2015 / 11:49
18

Apesar de um pouco atrasado para o OP ...

Eu uso o Fedora, mas se o seu sistema usa journalctl , você pode facilmente obter as mensagens do kernel (dmesg log) do shutdown / crash anterior (em um formato dmesg -T ) através do seguinte.

Opções:

  • -k = dmesg
  • -b boot_number = Quantos reinícios há 0, -1, -2, etc.
  • -o short-accurate = dmesg -T

OBSERVAÇÃO: há também -o short e -o short-iso , que fornece apenas a data e a data no formato iso, respectivamente.

Comandos:

  • Inicialização atual: journalctl -o short-precise -k
  • Última inicialização: journalctl -o short-precise -k -b -1
  • Duas inicializações anteriores: journalctl -o short-precise -k -b -2
  • E assim por diante

Exemplo de saída:

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

A quantidade de botas que você pode olhar para trás pode ser vista com o seguinte.

  • journalctl --list-boot

A saída de journalctl --list-boot é semelhante à seguinte.

 -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
    
por 18.02.2017 / 17:01
3

No Debian, dmesg logs são armazenados como:

  • /var/log/dmesg (ao vivo e descompactado)
  • /var/log/dmesg.0 (última sessão e não compactado)
  • /var/log/dmesg.1.gz (penúltimo e comprimido)
  • /var/log/dmesg.2.gz (antepenúltimo e comprimido)
  • /var/log/dmesg.3.gz (terceiro do último e comprimido)
  • /var/log/dmesg.4.gz (quarto do último e comprimido)

Se você tiver autorizações, poderá lê-las com cat , more ou less para as planas e zcat , zmore ou zless para as compactadas

    
por 12.08.2015 / 15:25

Tags