A menudo vi las palabras "kernel ring buffer", "nivel de usuario", "nivel de registro" y algunas otras palabras aparecen juntas. p.ej
/ var / log / dmesg Contiene información del búfer de anillo del núcleo.
/var/log/kern.log Contiene solo los mensajes del núcleo de cualquier nivel de registro
/var/log/user.log Contiene información sobre todos los registros de nivel de usuario
¿Son todos acerca de los registros? ¿Cómo están relacionados y son diferentes?
Por "nivel", me imagino una jerarquía de múltiples niveles?
¿El "nivel de usuario" está relacionado con el "espacio de usuario"?
¿Están relacionados con el nivel de ejecución o el anillo de protección de alguna manera?
/var/log/kern.log
y/var/log/dmesg
debería tener el mismo contenido que los mensajes del núcleo? Pero sus contenidos no son los mismos./var/log/kern.log
debe contener eldmesg
contenido (quizás con un formato diferente) del tiempo de arranque. A menos que haya pasado mucho tiempo desde el arranque y esos contenidos hayan sido rotados.dmesg
imprime los valores actuales del búfer de anillo del núcleo, los valores anteriores / antiguos del búfer se almacenan en/var/log/dmesg
. Por lo tanto, ladmesg
salida es solo un subconjunto reciente de/var/log/dmesg
contenido, y son diferentes. ¿Entonces los contenidos de/var/log/dmesg
(nodmesg
como en su comentario) son/var/log/kernel.log
los mismos?/var/log/dmesg
contenido probablemente estará cerca del final de/var/log/kern.log
. Mucho más tarde, no estará allí, habrá girado. En general,/var/log/kern.log
contendrá registros que son más antiguos que cualquier instantánea del búfer de anillo de registro del núcleo y también registros que son más nuevos que la instantánea.Para responder al menos la primera parte de su pregunta sobre
dmesg
:/var/log/dmesg
almacena el contenido del 'búfer de anillo del núcleo', un búfer de memoria creado por el núcleo en el arranque en el que almacenar los datos de registro que genera tan pronto como pasa la fase del cargador de arranque.Un búfer en anillo es un tipo especial de búfer que siempre tiene un tamaño constante, eliminando los mensajes más antiguos cuando llegan nuevos mensajes. El texto almacenado en el búfer en anillo del núcleo es lo que ves parpadeando en la pantalla cuando inicias un Unix por primera vez -como máquina en modo consola (sin pantalla de bienvenida, Plymouth). El registro del kernel se almacena en un búfer de memoria para que los registros de arranque tengan algún lugar, hasta que el sistema se haya reiniciado hasta el punto en que el
syslog
demonio pueda hacerse cargo.dmesg
bajo Linux es parte delutil-linux
paquete esencial de herramientas de mantenimiento del sistema publicado por kernel.org. Según ladmesg(1)
página del manual,Ver: http://www.computerhope.com/unix/dmesg.htm
Bajo 'systemd' init, este comando puede usarse para imprimir el búfer de anillo del núcleo:
# journalctl --dmesg or journalctl -k
thxs para corrección @don_crisstiAl emitir el comando,
dmesg | grep -i ethernet
por ejemplo, analizará el búfer de anillo del núcleo para la cadena 'ethernet'.Espero que esto ayude al menos con la primera parte de su consulta.
fuente