Muitas vezes vi as palavras "buffer do anel do kernel", "nível do usuário", "nível do log" e algumas outras palavras aparecerem juntas. por exemplo
/ var / log / dmesg Contém informações do buffer do anel do kernel.
/var/log/kern.log Contém apenas as mensagens do kernel de qualquer nível de log
/var/log/user.log Contém informações sobre todos os logs no nível do usuário
Eles são todos sobre logs? Como eles estão relacionados e diferentes?
Por "nível", eu imaginaria uma hierarquia de vários níveis?
O "nível do usuário" está relacionado ao "espaço do usuário"?
Eles estão relacionados ao nível de execução ou ao anel de proteção de alguma forma?
/var/log/kern.log
e/var/log/dmesg
deve ter o mesmo conteúdo que as mensagens do kernel? Mas o conteúdo deles não é o mesmo./var/log/kern.log
deve conter odmesg
conteúdo (talvez formatado de forma diferente) desde o momento da inicialização. A menos que tenha passado muito tempo desde a inicialização e esse conteúdo tenha sido rotacionado.dmesg
imprime os valores atuais do buffer de anel do kernel, os valores anteriores / antigos do buffer são armazenados/var/log/dmesg
. Portanto, admesg
saída é apenas um subconjunto recente de/var/log/dmesg
conteúdo e eles são diferentes. Então o conteúdo de/var/log/dmesg
(nãodmesg
como no seu comentário) é/var/log/kernel.log
o mesmo?/var/log/dmesg
conteúdo provavelmente estará próximo do final de/var/log/kern.log
. Muito mais tarde, não estará lá, terá girado para fora. Em geral,/var/log/kern.log
conterá logs mais antigos do que qualquer instantâneo do buffer do anel de log do kernel e também logs mais recentes que o instantâneo.Para responder pelo menos a primeira parte da sua pergunta sobre
dmesg
:/var/log/dmesg
armazena o conteúdo do 'buffer do anel do kernel', um buffer de memória criado pelo kernel na inicialização no qual os dados de log gerados são armazenados assim que você passa pela fase do carregador de inicialização.Um buffer de anel é um tipo especial de buffer que sempre possui um tamanho constante, removendo as mensagens mais antigas quando novas mensagens são recebidas. O texto armazenado no buffer de anel do kernel é o que você vê piscando na tela quando você inicializa um Unix. -como máquina no modo console (sem tela inicial, Plymouth). O log do kernel é armazenado em um buffer de memória, de modo que os logs de inicialização estejam em algum lugar, até que o sistema se inicialize até o ponto em que o
syslog
daemon possa assumir o controle.dmesg
no Linux faz parte doutil-linux
pacote essencial de ferramentas de manutenção do sistema publicado pelo kernel.org. De acordo com admesg(1)
página do manual,Consulte: http://www.computerhope.com/unix/dmesg.htm
No init 'systemd', este comando pode ser usado para imprimir o buffer de anel do kernel
# journalctl --dmesg or journalctl -k
:, thxs for correção @don_crisstiEmitir o comando,
dmesg | grep -i ethernet
por exemplo, analisará o buffer de anel do kernel para a cadeia 'ethernet'.Espero que isso ajude pelo menos na primeira parte da sua pergunta.
fonte