Dmesg - Dmesg

dmesg (диагностическое сообщение[1]) - это команда для большинства Unix-подобный операционные системы, печатающие сообщение буфер из ядро.[2] Вывод включает сообщения, созданные драйверы устройств.

Команда

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

Также обычно вручную проверяют текущий буфер dmesg после горячее подключение устройства, в частности USB-устройства (особенно флешки ), чтобы определить, было ли распознано устройство, скорость передачи данных соответствующего порта (USB 2 и USB 3.0 разъемы расположены рядом и их трудно различить во многих системах), какой драйвер был назначен, и где устройство становится видимым в файловой системе. Многие дистрибутивы пытаются отображать сообщения о распознавании устройств на рабочем столе, часто через панель задач всплывающее окно, но оно не всегда достоверно или представленная информация является неполной. (Кроме того, чтобы получать уведомления на рабочем столе, устройство с возможностью горячей замены должно быть разрешено системным политика безопасности.)

Многие строки dmesg в традиционной системе начинаются с имени устройства, за которым следует двоеточие, за которым следует подробный текст. Часто они входят в кластеры, при этом одно и то же устройство отображается на нескольких строках подряд. Каждый кластер обычно связан с одним перечислением устройств одним конкретным драйвером устройства (или средством устройства), связанным с именем устройства.

Каждый такой драйвер или средство излучает диагностическую информацию в собственном выбранном формате и, как правило, включает все наиболее важные технические детали в плотной и запутанной нотации. В страница руководства связанный с драйвером устройства, иногда документирует формат сообщения. Например, название устройства. da0 (SCSI прямой доступ 0) - это часто встречающееся имя устройства, связанное с флэш-накопителями USB. человек да на командная строка —Без номера в конце — вызовет документацию для этого класса драйвера во многих системах. Даже если точный формат строк, записываемых в системный буфер, здесь не описан, интересующие параметры обычно определяются, хотя вам может потребоваться дальнейшее изучение связанных страниц руководства (перечисленных в нижней части традиционной страницы руководства) для полного обзор, охватывающий различные аппаратная абстракция слои.

Загрузка

Когда изначально загружен, компьютерная система загружает свое ядро ​​в память. На данном этапе драйверы устройств присутствующие в ядре настроены для работы с соответствующим оборудованием. Такие драйверы, а также другие элементы в ядре могут создавать выходные данные («сообщения»), сообщающие как о наличии модулей, так и о значениях любых принятых параметров. (Можно указать параметры загрузки, которые контролируют уровень детализации сообщений.) Процесс загрузки обычно происходит со скоростью, когда отдельные сообщения прокручиваются за пределы верхней части экрана, прежде чем оператор сможет их прочитать / обработать. (Некоторые клавиши клавиатуры могут приостанавливать вывод изображения на экран.) dmesg Команда позволяет контролировать такие сообщения после запуска системы.[3]

После загрузки

Даже после полной загрузки системы ядро ​​может иногда выдавать дополнительные диагностические сообщения. Типичные примеры, когда это может произойти, - это когда устройства ввода-вывода обнаруживают ошибки или USB устройства горячее подключение. dmesg предоставляет механизм для просмотра этих сообщений позже. При первом производстве они будут направлены в системная консоль: если консоль используется, то эти сообщения могут быть перепутаны с выводами пользовательских программ или быстро перезаписаны.

Выход

Результатом dmesg может быть множество полных экранов. По этой причине этот вывод обычно просматривается с помощью стандартных инструментов обработки текста, таких как более, хвост, меньше или же grep.[4] Выходные данные часто фиксируются в постоянном системном файле журнала с помощью демона ведения журнала, такого как системный журнал.

Смотрите также

  • lspci, подробная информация обо всех шинах PCI и устройствах в системе
  • lsusb, подробная информация о USB-портах и ​​устройствах
  • безымянный печатает имя, версию и другие сведения о текущей машине и операционной системе
  • Список команд Unix
  • udev - Диспетчер устройств Linux с некоторым контролем над видимостью устройства

Рекомендации

  1. ^ DMESG (8) (Исследование Unix 8-е изд.). Bell Labs. 1985 г.. Получено 2020-02-10.
  2. ^ http://man7.org/linux/man-pages/man1/dmesg.1.html
  3. ^ Гарет Андерсон (15 апреля 2006 г.). "Обзор инструментов командной строки GNU / Linux" (PDF). www.tldp.org. Проект документации Linux. п. 32. Архивировано с оригинал (PDF) 23 ноября 2016 г.. Получено 29 мая 2017.
  4. ^ Мендель Купер (5 апреля 2012 г.). "Расширенное руководство по сценариям на Bash" (PDF). www.tldp.org. Проект документации Linux. п. 329. Архивировано с оригинал (PDF) 18 мая 2017 г.. Получено 29 мая 2017.

внешняя ссылка