Где Linux размещает сообщения о загрузке?

39

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

facility one    [STARTED]
facility two    [STARTED]
facility three  [FAILED]

Я искал с

find . -print0 | xargs -0 grep -i "words from boot messages"

в / var / log /, но ничего не нашел.

У меня есть CentOS 5.5.
Например, во время загрузки у меня было: "Определение информации IP для eth0 ... не удалось; ссылка отсутствует. Проверьте кабель?"
Меня не волнует ошибка, но я не могу найти ни одного журнала, содержащего эту ошибку.

dmesg | grep "no link present" тоже ничего не возвращает.

Rodnower
источник
1
вы запускали findкоманду с правами root? findраспечатает все файлы, которые вы можете перечислить, но grepсможет проверить только те файлы, которые вы можете прочитать, а некоторые файлы журналов могут принадлежать пользователям с правами на чтение root. Также, по крайней мере, GNU grep поддерживает -lопцию th для печати имен файлов с совпадениями, а не с соответствующими строками. Это может быть очень полезно для поиска файлов, которые содержат определенный текст. Так что попробуйте su -c 'find /var/log -print0 | xargs -0 grep -l -i "words from boot messages"'илиsudo find /varlog -print0 | xargs -0 sudo grep -l -i "words from boot messages"
MSchilli
В настоящее время с systemd вот ответ.
Пабло А

Ответы:

24

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

/var/log/dmesg.log

Что вы можете просмотреть с

tail -n 100 /var/log/dmesg.log
Люк Степневский
источник
1
Например, у меня во время загрузки было: «Определение информации IP для eth0 ... не удалось; ссылка отсутствует. Проверьте кабель?» Я не забочусь об этой ошибке конкретно, но когда я делаю: dmesg | grep "нет ссылки" я ничего не получаю ... На самом деле я получаю ОЧЕНЬ МНОГО строк с grep "eth0", но не с конкретной ошибкой. Так есть ли способ найти описание конкретных ошибок загрузки или нет? (Спасибо за ответ на вопрос)
Родновер
Попробуйте использовать Nanoкоманду 's ^ w (whereis), по сути, команду Find. Или grepс расслабленным регулярным выражением. Если вас действительно беспокоит вывод конкретной команды, вы можете зайти в ее init.dфайл и изменить протоколирование STDOUT или STDERR вызывающей команды.
Мат Карлсон
Нет /var/log/dmesg.logна Lubuntu 18.04
Марко Сулла
17

Каждая исключительная запись во время загрузки помещается в /var/log/syslogМожет также быть в/var/log/boot.msg

BloodPhilia
источник
У меня есть CentOS 5.5 и у меня нет системного журнала в / var / log /
Родновер
boot.log (обычно boot.log (x), где x - положительное целое число или ничего), пуст.
Родновер
1
Попробуйте / var / log / messages
pjc50
1
/var/log/boot.msg является правильным на Linux
Mint
может также содержать неисключительные записи.
Абдулль
8

Это решение, безусловно, работает в системах Debian, но может быть полезно в любом случае.

Чтобы сохранить все сообщения, отображаемые во время загрузки, вы должны запустить службу, которая называется bootlogd, после следующей перезагрузки вы можете прочитать сообщения в /var/log/boot.

Кир
источник
На Debian Wheezy я получаюroot@wheezy:/home/jrx# service bootlogd start bootlogd: unrecognized service
Жером Радикс
4
@ JérômeRadix, может быть, вы должны сначала установить его?
беруз
3

Введите dmesg> ~ / dmesg.log, чтобы скопировать все загрузочные сообщения в вашу собственную копию. Вы можете добавить дату и время, если хотите сохранить несколько копий и даже автоматизировать их в сценарии входа в систему.

G5MacPower
источник