dmesg linux что делает

Руководство по команде dmesg для начинающих

Оригинал: Linux dmesg Command Tutorial for Beginners (5 Examples)
Автор: Himanshu Arora
Дата публикации: 3 июля 2018 года
Перевод: А. Кривошей
Дата перевода: январь 2019 г.

Знаете ли вы, что ядро Linux загружает несколько драйверов устройств при загрузке системы? На самом деле, когда ваша система запущена и работает, и вы подключаете аппаратное устройство, то также загружается соответствующий драйвер устройства. Конечно, ядро также делает много других вещей. Что если вы хотите узнать информацию, связанную с этими действиями ядра?

Есть команда dmesg, которую вы можете использовать, если хотите получить доступ к сообщениям, выводимым ядром. В этом руководстве мы разберемся, как работает утилита dmesg, используя несколько простых для понимания примеров.

Команда Linux dmesg

Команда dmesg позволяет вам печатать или управлять буфером кольца ядра. Ниже ее синтаксис:

И вот как справочная страница утилиты объясняет ее назначение:

Ниже приведены примеры в стиле вопрос/ответ, которые должны дать вам лучшее представление о том, как работает команда dmesg.

Q1. Как использовать команду dmesg?

Вы можете для начала ввести команду dmesg без опций командной строки.

Например, вот небольшая часть вывода команды, созданной в моем случае:

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

Q2. Как ограничить вывод только ошибками и предупреждениями?

Если вы запустите dmesg в своей системе, вы увидите, что она выводит множество информации. В зависимости от того, что вы ищете, вы можете фильтровать или ограничивать вывод. Со своей стороны, dmesg предлагает вам реализацию этой возможности с помощью «уровней». Ниже приводится полный список уровней (вместе с их объяснением):

Например, если вы хотите ограничить вывод только ошибками и предупреждениями, вы можете сделать это следующим образом:

В моем случае, вот часть вывода, который выдает указанная выше команда:

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

Q3. Как заставить dmesg выводить временные метки?

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

Q4. Как заставить dmesg отображать информацию, специфичную для устройства?

Предположим, вы хотите, чтобы dmesg отображал только информацию, связанную с интерфейсом eth0. Вот как вы можете это сделать:

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

Q5. Как заставить dmesg отображать только сообщения пользователя?

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

Заключение

Здесь, в этом уроке, мы обсудили команду dmesg с точки зрения начинающих. Более подробную информацию можно получить, изучив справочную страницу команды.

Источник

Команда Dmesg в Linux

Dmesg Command in Linux

В этом руководстве мы рассмотрим основы dmesg команды.

Использование dmesg команды

Синтаксис dmesg команды следующий:

При вызове без каких-либо параметров dmesg записывает все сообщения из кольцевого буфера ядра в стандартный вывод:

По умолчанию все пользователи могут запускать dmesg команду. Однако в некоторых системах доступ к ним dmesg может быть ограничен для пользователей без полномочий root. В этой ситуации при вызове dmesg вы получите сообщение об ошибке, как показано ниже:

Параметр ядра kernel.dmesg_restrict указывает, могут ли непривилегированные пользователи dmesg просматривать сообщения из буфера журнала ядра. Чтобы снять ограничения, установите его на ноль:

Обычно выходные данные содержат много строк информации, так что только последняя часть выходных данных является видимой. Чтобы увидеть одну страницу за раз, перенаправьте вывод в утилиту пейджера, такую ​​как less или more :

—color=always Используется для сохранения цветного вывода.

Форматирование dmesg вывода

Команда dmesg предоставляет ряд опций, которые помогут вам отформатировать и отфильтровать вывод.

Вы также можете объединить два или более вариантов:

Фильтрация dmesg вывода

Вы можете ограничить dmesg вывод данными объектами и уровнями.

Средство представляет процесс, который создал сообщение. dmesg поддерживает следующие возможности журнала:

Например, для отображения только сообщений ядра и системных демонов вы должны использовать:

Каждое сообщение журнала связано с уровнем журнала, который показывает важность сообщения. dmesg поддерживает следующие уровни журнала:

Следующая команда отображает только сообщения об ошибках и критические сообщения:

Очистка кольцевого буфера

Только root или пользователи с привилегиями sudo могут очистить буфер.

Если вы хотите сохранить текущие dmesg журналы в файле перед его очисткой, перенаправьте вывод в файл:

Вывод

Команда dmesg позволяет вам просматривать и контролировать кольцевой буфер ядра. Это может быть очень полезно при устранении проблем с ядром или оборудованием.

Введите man dmesg в своем терминале информацию о всех доступных dmesg опциях.

Источник

Linux dmesg команда инструкция для начинающих (5 примеров)

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

Знаете ли вы, что ядро Linux загружает несколько драйверов устройств при загрузке системы?

Фактически, когда ваша система запущена и работает, и вы подключаете аппаратное устройство, то также загружается соответствующий драйвер устройства.

Конечно, ядро также делает много других вещей.

Что делать, если вы хотите узнать информацию, связанную с этими действиями ядра?

Что ж, существует команда – dmesg – которую вы можете использовать, если хотите получать доступ к сообщениям, выведенные ядром.

В этом уроке мы поймем, как работает инструмент dmesg, используя несколько простых для понимания примеров.

Команда Linux dmesg

Синтаксис команды dmesg:

Ниже приведены примеры Вопрос & Ответ, которые помогут вам лучше понять, как работает команда dmesg.

В1. Как использовать команду dmesg?

Вы можете начать использовать команду dmesg без любой опции командной строки.

Например, вот небольшая часть вывода команды, созданной в моем случае:

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

В2. Как ограничить вывод только ошибками и предупреждениями?

Если вы запустите dmesg в своей системе, вы увидите, что он выводит множество информации.

В зависимости от того, что вы ищете, вы можете фильтровать или ограничивать вывод.

Со своей стороны, dmesg предлагает вам эту способность через «уровни».

Ниже приведен полный список уровней (вместе с их объяснением):

Например, если вы хотите ограничить вывод только ошибками и предупреждениями, вы можете сделать это следующим образом:

В моем случае, вот часть вывода выведенной выше команды:

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

В3. Как создать dmesg для создания временных меток?

Иногда вам может понадобиться связать временную метку с сообщениями, которые создает dmesg.

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

В4. Как сделать, что dmesg отображал информацию об определенном устройстве?

Предположим, вы хотите, чтобы dmesg отображал только информацию, связанную с интерфейсом eth0.

Вот как вы можете это сделать:

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

В5. Как заставить dmesg отображать только сообщения в пользовательском пространстве?

Согласитесь, dmesg – это не та команда, которая вам понадобится каждый день.

Но это инструмент, к которому нужно обратиться, когда кто-то (которого вы попросили о помощи по определенной теме) просит вас предоставить сообщения ядра.

В основном я видел этот случай на форумах онлайн-пользователей, где опытные пользователи просят вывод ядра.

Источник

Dmesg linux что делает

Команда dmesg предназначена для задействования одноименной утилиты, осуществляющей вывод сообщений ядра ОС. В процессе загрузки и функционирования операционной системы ее ядро генерирует множество сообщений, которые позволяют диагностировать различные проблемы с аппаратным и программным обеспечением. Если говорить более предметно, ядро Linux записывает сообщения в кольцевой буфер (область памяти фиксированного размера, в которой осуществляется перезапись устаревших сообщений при добавлении новых), а утилита использует специальный файл /proc/kmesg для доступа к содержимому этого буфера. Данная команда может оказаться крайне полезной в процессе диагностики состояния устройств системы, поэтому ее стоит использовать в первую очередь при возникновении любых аппаратных сбоев.

Базовый синтаксис команды выглядит следующим образом:

Стоит отметить, что в некоторых дистрибутива команда может исполняться лишь от лица пользователя root (что вполне логично, ведь диагностика системы — дело системного администратора). Вообще, утилита может принимать большое количество различных параметров, но чаще всего используется без них. Наиболее полезными ее параметрами являются такие, как параметр -T, позволяющий выводить понятные человеку метки времени, параметры -k и -u, позволяющие выводить лишь сообщения, относящиеся к пространству ядра и пространству пользователя соответственно, параметр -c, позволяющий очистить содержимое кольцевого буфера ядра после вывода, параметр -w, позволяющий вместо завершения работы утилиты ожидать новые сообщения, а также параметры —level и —facility, позволяющие указать приоритет и источник интересующих пользователя сообщений.

В качестве приоритетов сообщений могут использоваться следующие идентификаторы:

ИдентификаторЗначение
emergСообщения о событиях, сделавших систему неработоспособной
alertСообщения о событиях, на которые пользователь должен немедленно отреагировать
critСообщения о критических событиях
errСообщения об ошибках
warnПредупреждения
noticeСообщения о важных событиях
infoИнформационные сообщения
debugОтладочные сообщения

В качестве источников сообщений — следующие идентификаторы:

ИдентификаторЗначение
kernСообщения от ядра ОС
userСообщения из пространства пользователя
mailСообщения от подсистемы отправки электронной почты
daemonСообщения от системных служб (демонов)
authСообщения от системы безопасности/авторизации
syslogСообщения от службы системных журналов (для внутреннего использования)
lprСообщения от подсистемы печати
newsСообщения от подсистемы сетевых новостей

Также нередко для фильтрации вывода dmesg используются такие утилиты, как grep, head, tail, less и more поэтому для продуктивной работы с утилитой dmesg не помешает ознакомиться и с их функциями.

Примеры использования

Вывод всех сообщений ядра ОС

Для вывода всех сообщений ядра ОС может использоваться утилита dmesg без каких-либо параметров:

# dmesg
[ 0.000000] microcode: microcode updated early to revision 0xd0, date = 2010-09-30
[ 0.000000] Linux version 4.18.0-2-amd64 ([email protected]) (gcc version 7.3.0 (Debian 7.3.0-29)) #1 SMP Debian 4.18.10-2 (2018-10-07)

Далее будет выведено большое количество системных сообщений, многие из которых могут представлять интерес, особенно в случае неполадок.

Если вам нужно постепенно изучить все сообщения, вы можете воспользоваться утилитами less и more:

# dmesg | more
[ 0.000000] microcode: microcode updated early to revision 0xd0, date = 2010-09-30
[ 0.000000] Linux version 4.18.0-2-amd64 ([email protected]) (gcc version 7.3.0 (Debian 7.3.0-29)) #1 SMP Debian 4.18.10-2 (2018-10-07)

—More—

# dmesg | less
[ 0.000000] microcode: microcode updated early to revision 0xd0, date = 2010-09-30
[ 0.000000] Linux version 4.18.0-2-amd64 ([email protected]) (gcc version 7.3.0 (Debian 7.3.0-29)) #1 SMP Debian 4.18.10-2 (2018-10-07)

:

Утилита less позволяет проматывать сообщения как вперед, так и назад, утилита more — только вперед.

Вывод важных сообщений

Для вывода исключительно важных сообщений следует использовать соответствующие приоритеты:

Очевидно, что теперь в выводе отражены лишь явные проблемы с аппаратным обеспечением, которые в моем случае были решены ядром самостоятельно.

Вывод сообщений, относящихся к определенным устройствам

Для вывода всех сообщений, относящихся к определенным устройствам, достаточно отфильтровать вывод утилиты с помощью утилиты grep:

# dmesg | grep dvb
[ 13.019352] dvbdev: DVB: registering new adapter (Mantis DVB adapter)
[ 13.143788] dvb-usb: found a ‘Mygica T230 DVB-T/T2/C’ in warm state.
[ 13.384098] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 13.384305] dvbdev: DVB: registering new adapter (Mygica T230 DVB-T/T2/C)
[ 13.944318] rc rc0: lirc_dev: driver dvb_usb_cxusb registered at minor = 0, scancode receiver, no transmitter
[ 13.944319] dvb-usb: schedule remote query interval to 100 msecs.
[ 13.944509] dvb-usb: Mygica T230 DVB-T/T2/C successfully initialized and connected.

Это информация обо всех подключенных к компьютеру DVB-картах. Аналогичным образом можно получить все сообщения, относящиеся к устройствам других типов.

Вывод всех сообщений из пространства пользователя

Для вывода всех сообщений из пространства пользователя достаточно воспользоваться параметром -u утилиты dmesg:

Очевидно, что это сообщения от менеджера инициализации systemd.

Источник

Как пользоваться dmesg

Для получения сообщений из этого буфера можно просто прочитать файл /var/log/dmesg. Однако, более удобно это можно сделать с помощью команды dmesg. В этой статье мы рассмотрим как пользоваться dmesg. Разберемся с опциями утилиты, а также приведем примеры работы с ней.

Синтаксис и опции dmesg

Синтаксис команды dmesg очень простой. Надо набрать имя команды и если необходимо, то опции:

$ dmesg опции

Опции позволяют управлять выводом, добавлять или скрывать дополнительную информацию и делать просмотр сообщений более удобным. Вот они:

Это далеко не все опции, а только самые интересные. Если вы хотите посмотреть другие, воспользуйтесь такой командой:

Поддерживаемые категории журналирования:

А вот доступные уровни журналирования:

Примеры использования dmesg

Как вы уже поняли команда dmesg показывает не только сообщения от ядра, но и другие сообщения от системных служб, например, от системы инициализации systemd. Чтобы вывести вообще все сообщения выполните команду без опций:

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

По умолчанию перед сообщением выводится только временной сдвиг от загрузки системы. Если вы хотите полную временную метку, используйте опцию -T:

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

Во время загрузки ядро тестирует оборудование и выводит подробную информацию о нём в буфер сообщений ядра. Таким образом, с помощью dmesg можно посмотреть информацию об оборудовании, просто отфильтруйте нужные данные, например CPU:

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

Если вас интересуют только ошибки, можно отсеять их по уровню журналирования:

Или только информационные сообщения:

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

Можно вывести только сообщения, которые попали сюда из пространства пользователя, для этого используйте опцию -u:

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

Или же отфильтруйте категории user и daemon с помощью опции -f:

dmesg linux что делает. Смотреть фото dmesg linux что делает. Смотреть картинку dmesg linux что делает. Картинка про dmesg linux что делает. Фото dmesg linux что делает

Выводы

В этой небольшой статье мы разобрали как пользоваться dmesg. Теперь вы знаете за что отвечает эта утилита, а также какие опции можно использовать.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *