dmesg - просмотр или управление кольцевым буфером ядра
СИНТАКСИС
dmesg [опции]
dmesg --clear
dmesg --read-clear [опции]
dmesg --console-level уровень
dmesg --console-on
dmesg --console-off
ОПИСАНИЕ
dmesg используется для просмотра или управления кольцевым буфером ядра.
По умолчанию отображаются все сообщения из кольцевого буфера ядра.
ОПЦИИ
Опции --clear, --read-clear, --console-on, --console-off и --console-level являются взаимоисключающими.
-C, --clear
Очистить кольцевой буфер.
-c, --read-clear
Очистить кольцевой буфер после первого отображения его содержимого.
-D, --console-off
Отключить вывод сообщений на консоль.
-d, --show-delta
Отобразить временную метку и время, прошедшее между сообщениями. Если используется вместе с --notime, то отображается только время между сообщениями без временной метки.
-E, --console-on
Включить вывод сообщений на консоль.
-e, --reltime
Отобразить местное время и разницу во времени в удобочитаемом формате. Обратите внимание, что преобразование в местное время может быть неточным (см. -T для получения дополнительной информации).
-F, --file файл
Считывать сообщения syslog из указанного файла. Обратите внимание, что -F не поддерживает сообщения в формате kmsg. Вместо этого используйте -K.
-f, --facility список
Ограничить вывод указанным (разделенным запятыми) списком объектов. Например:
dmesg --facility=daemon
отображает только сообщения от системных демонов. Для получения списка всех поддерживаемых объектов см. вывод команды --help.
-H, --human
Включить удобочитаемый вывод. См. также --color, --reltime и --nopager.
-J, --json
Использовать формат вывода JSON. Формат времени выводится только в формате "сек.микросек", уровень приоритета сообщений по умолчанию не декодируется (используйте --decode, чтобы разделить на объект и приоритет), другие опции для управления форматом вывода или форматом времени игнорируются.
-K, --kmsg-file файл
Считывать сообщения из /dev/kmsg из указанного файла. Различные записи, как ожидается, будут разделены нулевым байтом.
-k, --kernel
Выводить сообщения ядра.
-L, --color[=when]
Выполнить цветовое выделение вывода. Необязательный аргумент when может быть auto, never или always. Если аргумент when не указан, он по умолчанию имеет значение auto. Цвета можно отключить; для текущих встроенных значений по умолчанию см. вывод команды --help. См. также раздел ЦВЕТА ниже.
-l, --level список
Ограничить вывод указанным (разделенным запятыми) списком уровней. Например:
dmesg --level=err,warn
отображает только сообщения об ошибках и предупреждения. Для получения списка всех поддерживаемых уровней см. вывод команды --help.
Добавление знака плюс + к имени уровня также включает все более высокие уровни. Например:
dmesg --level=err+
отображает уровни err, crit, alert и emerg.
Префикс также включает все более низкие уровни.
-n, --console-level уровень
Установить уровень, при котором сообщения выводятся на консоль. Уровень представляет собой номер уровня или аббревиатуру имени уровня. Для получения списка всех поддерживаемых уровней см. вывод команды --help.
Например, -n 1 или -n emerg предотвращают отображение всех сообщений, кроме сообщений уровня emergency (panic), в консоли. Все уровни сообщений по-прежнему записываются в /proc/kmsg, поэтому syslogd(8) можно использовать для точного контроля над тем, где отображаются сообщения ядра. При использовании опции -n, dmesg не будет печатать и не будет очищать буфер сообщений ядра.
^ -noescape
По умолчанию для соображений безопасности непечатаемые и потенциально небезопасные символы (например, поврежденные многобайтовые последовательности, управляющие символы терминала и т. д.) экранируются в формате \x<hex>. Эта опция отключает эту функцию. Ее можно использовать, например, для отладки вместе с --raw. Будьте осторожны и не используйте ее по умолчанию.
^ P, --nopager
Не передавать вывод в программу-паджинатор. По умолчанию программа-паджинатор включена для --human.
^ p, --force-prefix
Добавлять информацию об объекте, уровне или времени к каждой строке многострочного сообщения.
^ r, --raw
Выводить необработанный буфер сообщений, т.е. не удалять префиксы уровня протоколирования, но все непечатаемые символы все равно экранируются (см. также --noescape).
Обратите внимание, что фактический необработанный формат зависит от метода, которым dmesg считывает сообщения ядра. Устройство /dev/kmsg использует другой формат, чем syslog(2). Для обеспечения обратной совместимости dmesg всегда возвращает данные в формате syslog(2). Можно считывать фактические необработанные данные из /dev/kmsg, например, с помощью команды dd if=/dev/kmsg iflag=nonblock.
^ S, --syslog
Принудительно использовать dmesg интерфейс syslog(2) ядра для чтения сообщений ядра. По умолчанию, начиная с ядра 3.5.0, используется /dev/kmsg, а не syslog(2).
^ s, --buffer-size size
Использовать буфер указанного размера для запроса к буферу сообщений ядра. По умолчанию это 16392. (Исходный размер буфера системного журнала ядра составлял 4096, затем 8192 начиная с версии 1.3.54 и 16384 начиная с версии 2.1.113.) Если вы установили больший размер буфера ядра, то эта опция может быть использована для просмотра всего буфера.
^ T, --ctime
Выводить удобочитаемые временные метки.
Имейте в виду, что временная метка может быть неточной! Источник времени, используемый для журналов, не обновляется после приостановки/возобновления системы. Временные метки корректируются в соответствии с текущей разницей между временем загрузки и монотонными часами, это работает только для сообщений, напечатанных после последней приостановки.
^ -since time
Отображать записи, начиная с указанного времени. Поддерживается субсекундная точность. Время можно указать как в абсолютном, так и в относительном формате (например, "1 час назад"). Имейте в виду, что временная метка может быть неточной, см. --ctime для получения дополнительной информации.
^ -until time
Отображать записи до указанного времени. Поддерживается субсекундная точность. Время можно указать как в абсолютном, так и в относительном формате (например, "1 час назад"). Имейте в виду, что временная метка может быть неточной, см. --ctime для получения дополнительной информации.
^ t, --notime
Не выводить временные метки ядра.
^ -time-format format
Выводить временные метки в указанном формате, который может быть ctime, reltime, delta, iso или raw. Первые три формата являются псевдонимами для опций, специфичных для формата времени. Формат raw использует формат временной метки по умолчанию, показывая секунды с момента загрузки. Формат iso — это реализация формата временной метки ISO-8601 в dmesg. Цель этого формата — упростить сравнение временных меток между двумя системами и любое другое их использование. Определение временной метки iso выглядит следующим образом: YYYY-MM-DD<T>HH:MM:SS,<microseconds>←+><смещение часового пояса от UTC>.
Формат ISO имеет ту же проблему, что и ctime: время может быть неточным при приостановке и возобновлении работы системы.
--time-format может использоваться несколько раз с разными значениями для параметра format, чтобы вывести каждый указанный формат.
Дельта всегда следует за ctime или raw, если они указаны вместе.
-u, --userspace
Выводить сообщения из пользовательского пространства.
-w, --follow
Ожидать появления новых сообщений. Эта функция поддерживается только в системах с доступным для чтения /dev/kmsg (начиная с версии ядра 3.5.0).
-W, --follow-new
Ожидать и выводить только новые сообщения.
-x, --decode
Декодировать номера facility и level (уровня) в удобочитаемые префиксы.
-h, --help
Отобразить текст справки и выйти.
-V, --version
Отобразить версию и выйти.
ЦВЕТА
Цветовое оформление вывода реализовано с помощью функциональности terminal-colors.d(5). Неявное цветовое оформление может быть отключено путем создания пустого файла
/etc/terminal-colors.d/dmesg.disable
для команды dmesg или для всех инструментов путем создания файла
/etc/terminal-colors.d/disable
Начиная с версии 2.41, также поддерживается переменная среды $NO_COLOR для отключения цветового оформления вывода, если оно не включено явно с помощью опции командной строки.
Пользовательские каталоги $XDG_CONFIG_HOME/terminal-colors.d или $HOME/.config/terminal-colors.d переопределяют глобальные настройки.
Обратите внимание, что цветовое оформление вывода может быть включено по умолчанию, и в этом случае каталоги terminal-colors.d не обязательно должны существовать.
Логические имена цветов, поддерживаемые dmesg:
subsys
Префикс подсистемы сообщения (например, "ACPI:").
time
Временная метка сообщения.
timebreak
Временная метка сообщения в кратком формате ctime в выходных данных --reltime или --human.
alert
Текст сообщения с уровнем журнала "alert".
crit
Текст сообщения с уровнем журнала "critical".
err
Текст сообщения с уровнем журнала "error".
warn
Текст сообщения с уровнем журнала "warning".
segfault
Текст сообщения, информирующего об ошибке сегментации.
СТАТУС ВЫХОДА
dmesg может завершиться с ошибкой "отказано в разрешении". Обычно это вызвано настройкой dmesg_restrict в ядре, подробности см. в syslog(2).
АВТОРЫ
Карел Зак <_>
dmesg была первоначально написана Теодором Цо <_>.
ССЫЛКИ
terminal-colors.d(5), syslogd(8)
СООБЩЕНИЕ ОБ ОШИБКАХ
Для сообщений об ошибках используйте систему отслеживания ошибок [https://github.com/util-linux/util-linux/issues].
ДОСТУПНОСТЬ
Команда dmesg является частью пакета util-linux, который можно загрузить с Linux Kernel Archive [https://www.kernel.org/pub/linux/utils/util-linux/].