Чтобы ответить хотя бы на первую часть вашего вопроса о dmesg
:
/var/log/dmesg
хранит содержимое «кольцевого буфера ядра», буфера памяти, созданного ядром при загрузке, для хранения данных журнала, которые он генерирует, как только вы пройдете фазу загрузчика.
Кольцевой буфер - это особый тип буфера, который всегда имеет постоянный размер, удаляя самые старые сообщения при поступлении новых сообщений. Текст, хранящийся в кольцевом буфере ядра, - это то, что вы видите, вспыхивая на экране при первой загрузке Unix -подобная машина в режиме консоли (без заставки, Плимут). Журнал ядра хранится в буфере памяти, так что журналы загрузки должны быть где-то до тех пор, пока система не загрузится до того момента, когда syslog
демон сможет вступить во владение.
dmesg
под Linux входит в состав необходимого util-linux
пакета инструментов обслуживания системы, публикуемого kernel.org. Согласно dmesg(1)
справочной странице,
dmesg используется для проверки или управления кольцевым буфером ядра.
Смотрите: http://www.computerhope.com/unix/dmesg.htm
При инициализации 'systemd' эта команда может использоваться для печати кольцевого буфера ядра:,
# journalctl --dmesg or journalctl -k
thxs для исправления @don_crissti
Выполнение команды, dmesg | grep -i ethernet
например, проанализирует кольцевой буфер ядра для строки 'ethernet'.
Я надеюсь, что это поможет, по крайней мере, с первой частью вашего запроса.
/var/log/kern.log
и/var/log/dmesg
должен иметь тот же контент, что и сообщения ядра? Но их содержание не совпадает.