Де 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" теж нічого не повертає.


1
ви запустили findкоманду з кореневими дозволами? findбуде надрукувати всі файли, які ви можете перелічити, але grepможна перевірити лише ті файли, які ви можете прочитати, а деякі файли журналу можуть бути власниками кореневих дозволів читання для інших користувачів. Також принаймні GNU grep підтримує цю -lопцію для друку імен файлів із збігами замість відповідних рядків. Це може бути дуже корисно шукати файли, що містять певний текст. Тож спробуйте 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

Сьогодні з системою тут є відповідь.
Пабло А

Відповіді:


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/syslogCould also in/var/log/boot.msg


У мене CentOS 5.5 і в мене немає syslog в / var / log /
Rodnower

boot.log (зазвичай boot.log (x), де x додатне ціле число або нічого) порожній.
Родновер

1
Спробуйте / var / log / messages
pjc50

1
/var/log/boot.msg є правильним на монетному дворі linux
MaxV

може також містити невиключні записи.
Абдулл

8

Це рішення, безумовно, працює в системах Debian, але, можливо, може бути корисним у будь-якому випадку.

Для того, щоб зберігати всі повідомлення, показані під час завантаження, вам потрібно запустити послугу, що викликається bootlogd, після наступної перезавантаження ви можете прочитати повідомлення в /var/log/boot.


На Debian wheezy я потрапляюroot@wheezy:/home/jrx# service bootlogd start bootlogd: unrecognized service
Jérôme Radix

4
@ JérômeRadix, можливо, слід спочатку встановити його?
behrooz

3

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.