Ядро Linux, как и другие программы может и выводит различные информационные сообщения и сообщения об ошибках. Все они выводятся в буфер сообщения ядра, так называемый kernel ring buffer. Основная причина существования этого буфера — надо сохранить сообщения, которые возникают во время загрузки системы пока сервис Syslog ещё не запущен и не может их собирать.
Для получения сообщений из этого буфера можно просто прочитать файл /var/log/dmesg. Однако, более удобно это можно сделать с помощью команды dmesg. В этой статье мы рассмотрим как пользоваться dmesg. Разберемся с опциями утилиты, а также приведем примеры работы с ней.
Синтаксис и опции dmesg
Синтаксис команды dmesg очень простой. Надо набрать имя команды и если необходимо, то опции:
$ dmesg опции
Опции позволяют управлять выводом, добавлять или скрывать дополнительную информацию и делать просмотр сообщений более удобным. Вот они:
- -C, —clear — очистить буфер сообщений ядра;
- -c, —read-clear — вывести сообщения из буфера ядра, а затем очистить его;
- -d, —show-delta — выводит время прошедшее между двумя сообщениями;
- -f, —facility — выводить только сообщения от подсистем определенной категории;
- -H, —human — включить вывод, удобный для человека;
- -k, —kernel — отображать только сообщения ядра;
- -L, —color — сделать вывод цветным, автоматически включается при использовании опции -H;
- -l, —level — ограничить вывод указанным уровнем подробности;
- -P, —nopager — выводить информацию обычным текстом, не добавлять постраничную навигацию;
- -r, —raw — печатать сообщения как есть, не убирая служебные префиксы;
- -S, —syslog — использовать Syslog для чтения сообщений от ядра, по умолчанию используется файл /dev/kmsg;
- -T, —ctime — выводить время в удобном для человека формате;
- -t, —notime — не выводить время поступления сообщения;
- -u, —userspace — показывать только сообщения от программ из пространства пользователя;
- -w, —follow — после вывода всех сообщений не завершать программу, а ждать новых;
- -x, —decode — выводить категорию и уровень журналирования в удобном для чтения формате.
Это далеко не все опции, а только самые интересные. Если вы хотите посмотреть другие, воспользуйтесь такой командой:
Проверяем жесткий диск Victoria HDD/SSD
Поддерживаемые категории журналирования:
- kern — сообщения от ядра;
- user — сообщения от программ пространства пользователя;
- mail — сообщения от сервисов почты;
- daemon — сообщения от системных служб;
- auth — сообщения безопасности и информации об авторизации пользователей;
- syslog — сообщения, отправляемые сервисом Syslogd;
- lpr — сообщения от служб печати.
А вот доступные уровни журналирования:
- emerg — ошибка привела к неработоспособности системы;
- alert — требуется вмешательство пользователя;
- crit — критическая ошибка;
- err — обычная ошибка;
- warn — предупреждение;
- notine — замечание;
- info — информация;
- debug — отладочное сообщение.
Примеры использования dmesg
Как вы уже поняли команда dmesg показывает не только сообщения от ядра, но и другие сообщения от системных служб, например, от системы инициализации systemd. Чтобы вывести вообще все сообщения выполните команду без опций:
По умолчанию перед сообщением выводится только временной сдвиг от загрузки системы. Если вы хотите полную временную метку, используйте опцию -T:
Во время загрузки ядро тестирует оборудование и выводит подробную информацию о нём в буфер сообщений ядра. Таким образом, с помощью dmesg можно посмотреть информацию об оборудовании, просто отфильтруйте нужные данные, например CPU:
dmesg | grep CPU
Для того чтобы выводить только сообщения от ядра, а не всё под ряд, используйте опцию -k:
Теперь в выводе утилиты не будет сообщений от Systemd. Если вы хотите выводить все сообщения ядра в реальном времени, используйте опцию -w:
Для того чтобы добавить цвет к выводу и включить постраничную навигацию вместо вывода текста одним большим куском используйте опцию -H:
Для того чтобы вывести категорию сообщения и его уровень логирования используйте опцию -x:
Если вас интересуют только ошибки, можно отсеять их по уровню журналирования:
dmesg -l crit,err
Или только информационные сообщения:
Можно вывести только сообщения, которые попали сюда из пространства пользователя, для этого используйте опцию -u:
Или же отфильтруйте категории user и daemon с помощью опции -f:
dmesg -f user,daemon
Аналогичным образом вы можете фильтровать и другие категории. Если вы хотите очистить буфер сообщений ядра, используйте опцию -C. При следующем запуске dmesg там будет пусто:
Выводы
В этой небольшой статье мы разобрали как пользоваться dmesg. Теперь вы знаете за что отвечает эта утилита, а также какие опции можно использовать.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Источник: losst.pro
Ремонт ноутбуков — Как пользоваться DMI Tools, прописываем серийки в БИОС.
- Проблема у него в том, что при включении шумит вентилятор и не выдает изображения на экран.
Сначала было подозрение, что проблема с чипом, но как оказалась проблема была с БИОСом.
Когда мы его прошили и скачали дам с интернета зашили в этот ноутбук он запустился.
После чего начел выдавать сообщение о том, что информация, о верном серийном номере и других параметром нет в БИОС.
Сейчас я покажу как это выглядит. - Часть информации мы можем взять из наклейки, которая находится под батареей.
Что надо делать?
Для этого есть специальная утилита, которая позволяет нам вносить информацию в БИОС, называется она DMITools.
Я использую загрузочную флешку, для того чтобы загрузить DOS так как эта утилита работает из под DOS.
Вот наша утилита и конкретно программа, которая работает с этой платформой, а платформа здесь кванта Р13 под номером 174. - Здесь мы видим меню, как можно считать информацию.
Так же мы можем прописать информацию и внести изменения в сам БИОС. - Информацию я переписал и сейчас буду ее вводить.
Начнем с серийного номера.
Вводим серийный номер (1) и нажимаем клавишу Enter, так мы сохраняем информацию в БИОСе. - Теперь вводим модель ноутбука (2), и так же нажимаем Enter.
- Вбиваем SKU Number (4), нажимаем Enter.
- GUID Number (2) забиваются все нули, возможно они уже есть.
- Вводим System Board CT Number (8), нажимаем Enter.
- Также немало важен Mac Address (6), он должен совпадать с Mac Address сетевой платы.
Без него сетевая плата под Windows может не работать. - Вводим PCID (7), нажимаем Enter.
- У нас остается UUID Number (2).
Зайдя в эту вкладку, нажимаем Generate UUID, и DMITools автоматически его генерирует. - Теперь считываем и видим, что все пункты у нас заполнены.
Перезагружаем ноутбук.
Также проверяем эту информацию в БИОС.
После чего ноутбук перезагружается без ошибок.
Аналогичные действия можно производить с любым ноутбуком у каждого производителя есть своя утилита.
Видео смотрите ниже:
Источник: kom-servise.ru