dmesg: imprime o controla el búfer de anillo del kernel
SINOPSIS
dmesg [opciones]
dmesg --clear
dmesg --read-clear [opciones]
dmesg --console-level level
dmesg --console-on
dmesg --console-off
DESCRIPCIÓN
dmesg se utiliza para examinar o controlar el búfer de anillo del kernel.
La acción predeterminada es mostrar todos los mensajes del búfer de anillo del kernel.
OPCIONES
Las opciones --clear, --read-clear, --console-on, --console-off y --console-level son mutuamente excluyentes.
-C, --clear
Borra el búfer de anillo.
-c, --read-clear
Borra el búfer de anillo después de imprimir primero su contenido.
-D, --console-off
Desactiva la impresión de mensajes en la consola.
-d, --show-delta
Muestra la marca de tiempo y el tiempo transcurrido entre los mensajes. Si se utiliza junto con --notime, solo se imprime el tiempo transcurrido sin la marca de tiempo.
-E, --console-on
Activa la impresión de mensajes en la consola.
-e, --reltime
Muestra la hora local y el delta en un formato legible por humanos. Tenga en cuenta que la conversión a la hora local puede ser inexacta (consulte -T para obtener más detalles).
-F, --file file
Lee los mensajes de syslog del archivo especificado. Tenga en cuenta que -F no admite mensajes en formato kmsg. Consulte -K en su lugar.
-f, --facility list
Restringe la salida a la lista (separada por comas) de instalaciones dada. Por ejemplo:
dmesg --facility=daemon
imprimirá solo los mensajes de los demonios del sistema. Para todas las instalaciones admitidas, consulte la salida de --help.
-H, --human
Habilita la salida legible por humanos. Consulte también --color, --reltime y --nopager.
-J, --json
Utilice el formato de salida JSON. El formato de salida de tiempo es solo "seg.useg", el nivel de prioridad del registro no se decodifica por defecto (utilice --decode para dividir en instalación y prioridad), las otras opciones para controlar el formato de salida o el formato de tiempo se ignoran en silencio.
-K, --kmsg-file file
Lee los mensajes de /dev/kmsg del archivo especificado. Los diferentes registros se separan por un byte nulo.
-k, --kernel
Imprime los mensajes del kernel.
-L, --color[=when]
Colorea la salida. El argumento opcional when puede ser auto, nunca o siempre. Si se omite el argumento when, por defecto es auto. Los colores se pueden desactivar; consulte la salida de --help para el valor predeterminado integrado actual. Consulte también la sección COLORES a continuación.
-l, --level list
Restringe la salida a la lista (separada por comas) de niveles dada. Por ejemplo:
dmesg --level=err,warn
imprimirá solo los mensajes de error y advertencia. Para todos los niveles admitidos, consulte la salida de --help.
Agregar un signo más + a un nombre de nivel también incluye todos los niveles superiores. Por ejemplo:
dmesg --level=err+
imprimirá los niveles err, crit, alert y emerg.
Anteponiéndolo, se incluirán todos los niveles inferiores.
-n, --console-level level
Establece el nivel en el que se realiza la impresión de mensajes en la consola. El nivel es un número de nivel o una abreviatura del nombre del nivel. Para todos los niveles admitidos, consulte la salida de --help.
Por ejemplo, -n 1 o -n emerg evita que aparezcan todos los mensajes en la consola, excepto los mensajes de emergencia (pánico). Todos los niveles de mensajes siguen estando escritos en /proc/kmsg, por lo que syslogd(8) puede seguir utilizándose para controlar exactamente dónde aparecen los mensajes del kernel. Cuando se utiliza la opción -n, dmesg no imprimirá ni borrará el búfer de anillo del kernel.
--noescape
Los caracteres no imprimibles y potencialmente inseguros (por ejemplo, secuencias multibyte incorrectas, caracteres de control de terminal, etc.) se escapan en formato \x
-P, --nopager
No canalice la salida a un paginador. Un paginador está habilitado de forma predeterminada para la salida --human.
-p, --force-prefix
Añada información de instalación, nivel u hora a cada línea de un mensaje de varias líneas.
-r, --raw
Imprima el búfer de mensajes sin procesar, es decir, no elimine los prefijos de nivel de registro, pero todos los caracteres no imprimibles siguen estando escapados (consulte también --noescape).
Tenga en cuenta que el formato sin procesar real depende del método utilizado por dmesg para leer los mensajes del kernel. El dispositivo /dev/kmsg utiliza un formato diferente al de syslog(2). Para garantizar la compatibilidad con versiones anteriores, dmesg devuelve siempre los datos en formato syslog(2). Es posible leer los datos sin procesar reales desde /dev/kmsg mediante, por ejemplo, el comando 'dd if=/dev/kmsg iflag=nonblock'.
-S, --syslog
Fuerce a dmesg a utilizar la interfaz de kernel syslog(2) para leer los mensajes del kernel. El valor predeterminado es utilizar /dev/kmsg en lugar de syslog(2) desde la versión 3.5.0 del kernel.
-s, --buffer-size size
Utilice un búfer de tamaño para consultar el búfer de anillo del kernel. El valor predeterminado es 16392. (El tamaño predeterminado del búfer de syslog del kernel era de 4096 al principio, 8192 desde la versión 1.3.54 y 16384 desde la versión 2.1.113). Si ha configurado el búfer del kernel para que sea mayor que el valor predeterminado, puede utilizar esta opción para ver todo el búfer.
-T, --ctime
Imprima marcas de tiempo legibles por humanos.
Tenga en cuenta que la marca de tiempo puede ser inexacta. La fuente de tiempo utilizada para los registros no se actualiza después de la SUSPENSIÓN/REANUDACIÓN del sistema. Las marcas de tiempo se ajustan según la diferencia actual entre el tiempo de inicio y los relojes monotónicos; esto solo funciona para los mensajes impresos después de la última reanudación.
--since time
Muestre los registros desde la hora especificada. Se admite la granularidad de subsegundos. La hora se puede especificar de forma absoluta, así como mediante una notación relativa (por ejemplo, '1 hora'). Tenga en cuenta que la marca de tiempo puede ser inexacta y consulte --ctime para obtener más detalles.
--until time
Muestre los registros hasta la hora especificada. Se admite la granularidad de subsegundos. La hora se puede especificar de forma absoluta, así como mediante una notación relativa (por ejemplo, '1 hora'). Tenga en cuenta que la marca de tiempo puede ser inexacta y consulte --ctime para obtener más detalles.
-t, --notime
No imprima las marcas de tiempo del kernel.
--time-format format
Imprima las marcas de tiempo utilizando el formato especificado, que puede ser ctime, reltime, delta, iso o raw. Los tres primeros formatos son alias de las opciones específicas del formato de hora. El formato raw utiliza el formato de marca de tiempo predeterminado que muestra los segundos desde el inicio. El formato iso es una implementación de dmesg del formato de marca de tiempo ISO-8601. El propósito de este formato es facilitar la comparación de marcas de tiempo entre dos sistemas y cualquier otro análisis. La definición de la marca de tiempo iso es: AAAA-MM-DD<T>HH:MM:SS,<microsegundos>←+><desplazamiento de la zona horaria desde UTC>.
El formato ISO tiene el mismo problema que ctime: la hora puede ser inexacta cuando un sistema se suspende y se reanuda.
--time-format se puede usar varias veces con diferentes valores para el formato, a fin de mostrar cada formato especificado.
El delta siempre sigue a ctime o raw si se especifican juntos.
-u, --userspace
Imprime los mensajes del espacio de usuario.
-w, --follow
Espera a que haya nuevos mensajes. Esta función solo es compatible con los sistemas que tienen un /dev/kmsg legible (a partir del kernel 3.5.0).
-W, --follow-new
Espera e imprime solo los mensajes nuevos.
-x, --decode
Decodifica los números de instalación y nivel para mostrarlos como prefijos legibles por humanos.
-h, --help
Muestra el texto de ayuda y sale.
-V, --version
Muestra la versión y sale.
COLORES
La coloración de la salida se implementa mediante la funcionalidad de terminal-colors.d(5). La coloración implícita se puede desactivar mediante un archivo vacío
/etc/terminal-colors.d/dmesg.disable
para el comando dmesg o para todas las herramientas mediante
/etc/terminal-colors.d/disable
A partir de la versión 2.41, también se admite la variable de entorno $NO_COLOR para desactivar la coloración de la salida, a menos que se habilite explícitamente mediante una opción de línea de comandos.
El directorio específico del usuario $XDG_CONFIG_HOME/terminal-colors.d o $HOME/.config/terminal-colors.d reemplaza la configuración global.
Tenga en cuenta que la coloración de la salida puede estar habilitada de forma predeterminada y, en este caso, los directorios de terminal-colors.d no tienen que existir todavía.
Los nombres de color lógicos admitidos por dmesg son:
subsys
El prefijo del subsistema del mensaje (por ejemplo, "ACPI:").
time
La marca de tiempo del mensaje.
timebreak
La marca de tiempo del mensaje en formato ctime corto en la salida --reltime o --human.
alert
El texto del mensaje con la prioridad de registro de alerta.
crit
El texto del mensaje con la prioridad de registro crítica.
err
El texto del mensaje con la prioridad de registro de error.
warn
El texto del mensaje con la prioridad de registro de advertencia.
segfault
El texto del mensaje que informa sobre un error de segmentación.
ESTADO DE SALIDA
dmesg puede fallar e informar de un error de permiso denegado. Esto generalmente se debe a la configuración del kernel dmesg_restrict; consulte syslog(2) para obtener más detalles.
AUTORES
Karel Zak <_>
dmesg fue escrito originalmente por Theodore Ts’o <_>.
VÉASE TAMBIÉN
terminal-colors.d(5), syslogd(8)
INFORMES DE ERRORES
Para los informes de errores, utilice el rastreador de problemas [https://github.com/util-linux/util-linux/issues].
DISPONIBILIDAD
El comando dmesg forma parte del paquete util-linux, que se puede descargar del Archivo de kernel de Linux [https://www.kernel.org/pub/linux/utils/util-linux/].