Gdzie Linux umieszcza komunikaty rozruchowe?

39

Chcę znaleźć miejsce, w którym Linux zapisuje wszystkie komunikaty rozruchowe. Wiesz:

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

Szukałem za pomocą

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

w / var / log /, ale nic nie znalazł.

Mam CentOS 5.5.
Na przykład podczas uruchamiania miałem: „Określenie informacji IP dla eth0 ... nie powiodło się; brak łącza. Sprawdź kabel?”
Nie obchodzi mnie konkretnie błąd, ale nie mogę znaleźć dziennika, który zawiera ten błąd.

dmesg | grep "no link present" też nic nie zwraca.

Rodnower
źródło
1
czy uruchomiłeś findpolecenie z uprawnieniami roota? findwydrukuje wszystkie pliki, które możesz wyświetlić, ale grepmoże tylko sprawdzić pliki, które możesz odczytać, a niektóre pliki dziennika mogą być własnością root z uprawnieniami do odczytu dla innych użytkowników. Ponadto przynajmniej GNU grep obsługuje -lopcję drukowania nazw plików z dopasowaniami zamiast dopasowanych linii. Może to być bardzo przydatne w poszukiwaniu plików zawierających określony tekst. Więc spróbuj su -c 'find /var/log -print0 | xargs -0 grep -l -i "words from boot messages"'lubsudo find /varlog -print0 | xargs -0 sudo grep -l -i "words from boot messages"
mschilli
Obecnie z Systemd tutaj jest odpowiedź.
Pablo A

Odpowiedzi:

24

Większość komunikatów rozruchowych znajduje się w buforze, do którego można uzyskać dostęp za pomocą polecenia dmesg. W większości dystrybucji Linuksa dane wyjściowe są również przechowywane w

/var/log/dmesg.log

Możesz to zobaczyć za pomocą

tail -n 100 /var/log/dmesg.log
Luc Stepniewski
źródło
1
Na przykład miałem w czasie rozruchu: „Określenie informacji IP dla eth0 ... nie powiodło się; brak łącza Sprawdź kabel?” Nie obchodzi mnie ten błąd, ale kiedy to zrobię: dmesg | grep „brak linku” Nic nie dostaję… Właściwie otrzymuję BARDZO DUŻO wierszy z grep „eth0”, ale nie z konkretnym błędem. Czy istnieje sposób na znalezienie konkretnego opisu błędów rozruchu, czy nie? (Dziękuję za odpowiedź na ten temat)
Rodnower
Spróbuj użyć polecenia Nano^ s (whereis), zasadniczo polecenia Znajdź. Lub grepz zrelaksowanym wyrażeniem regularnym. Jeśli naprawdę martwisz się wyjściem konkretnego polecenia, możesz wejść do jego init.dpliku i zmienić rejestrowanie STDOUT lub STDERR przestępczego polecenia.
Mat Carlson
Nie /var/log/dmesg.logw Lubuntu 18.04
Marco Sulla
17

Każdy wyjątkowy wpis podczas rozruchu jest umieszczony w /var/log/syslogCould/var/log/boot.msg

BloodPhilia
źródło
Mam CentOS 5.5 i nie mam syslog w / var / log /
Rodnower
boot.log (zwykle boot.log (x), gdzie x jest dodatnią liczbą całkowitą lub nic) jest pusty.
Rodnower
1
Spróbuj / var / log / messages
pjc50,
1
/var/log/boot.msg jest poprawny na
Linuxie
może również zawierać nietypowe wpisy.
Abdull,
8

To rozwiązanie z pewnością działa na systemach Debian, ale może i tak może być przydatne.

Aby zapisać wszystkie wiadomości wyświetlane podczas rozruchu, musisz uruchomić usługę o nazwie bootlogd, po następnym uruchomieniu możesz odczytać wiadomości /var/log/boot.

Cyrus
źródło
Na debian wheezy dostajęroot@wheezy:/home/jrx# service bootlogd start bootlogd: unrecognized service
Jérôme Radix,
4
@ JérômeRadix, może powinieneś go najpierw zainstalować?
behrooz
3

Wpisz dmesg> ~ / dmesg.log, aby skopiować wszystkie komunikaty rozruchowe do własnej kopii. Możesz dodać datę i godzinę, jeśli chcesz zachować wiele kopii, a nawet zautomatyzować ją w skrypcie logowania.

G5MacPower
źródło