Wo legt Linux die Meldungen von boot ab?

39

Ich möchte einen Ort finden, an dem Linux alle Bootmeldungen schreibt. Wissen Sie:

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

Ich suchte mit

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

in / var / log /, aber nichts gefunden.

Ich habe CentOS 5.5.
Zum Beispiel beim Booten hatte ich: "Ermittlung der IP-Informationen für eth0 ... fehlgeschlagen; keine Verbindung vorhanden. Kabel prüfen?"
Ich interessiere mich nicht speziell für Fehler, aber ich kann kein Protokoll finden, das diesen Fehler enthält.

dmesg | grep "no link present" gibt auch nichts zurück.

Rodnower
quelle
1
Haben Sie den findBefehl mit Root-Berechtigungen ausgeführt? finddruckt alle Dateien aus, grepdie Sie auflisten können, kann jedoch nur die Dateien überprüfen, die Sie lesen können. Einige Protokolldateien sind möglicherweise Eigentum des Root-Benutzers mit Leseberechtigungen für andere Benutzer. Außerdem unterstützt GNU grep mindestens die -lOption, die Namen von Dateien mit Übereinstimmungen anstelle von übereinstimmenden Zeilen zu drucken. Dies kann sehr nützlich sein, wenn Sie nach Dateien suchen, die bestimmten Text enthalten. Also versuchen Sie su -c 'find /var/log -print0 | xargs -0 grep -l -i "words from boot messages"'odersudo find /varlog -print0 | xargs -0 sudo grep -l -i "words from boot messages"
mschilli
Heutzutage ist mit systemd hier die Antwort.
Pablo A

Antworten:

24

Die meisten Startmeldungen werden in einem Puffer abgelegt, auf den Sie mit dem Befehl zugreifen können dmesg. Bei den meisten Linux-Distributionen wird diese Ausgabe auch in gespeichert

/var/log/dmesg.log

Das kannst du mit ansehen

tail -n 100 /var/log/dmesg.log
Luc Stepniewski
quelle
1
Zum Beispiel hatte ich beim Booten: "Ermittlung der IP-Informationen für eth0 ... fehlgeschlagen; keine Verbindung vorhanden Kabel prüfen?" Ich interessiere mich nicht speziell für diesen Fehler, aber wenn ich das tue: dmesg | grep "no link present" Ich bekomme nichts ... Eigentlich bekomme ich sehr viele Zeilen mit grep "eth0", aber nicht mit konkreten Fehlern. Gibt es also eine Möglichkeit, eine konkrete Beschreibung der Startfehler zu finden oder nein? (Vielen Dank für die Antwort auf den Punkt)
Rodnower
Versuchen NanoSie, den Befehl 's ^ w (whereis) zu verwenden, im Wesentlichen einen Befehl zum Suchen. Oder grepmit einem entspannten Ausdruck. Wenn Sie sich wirklich Sorgen über die Ausgabe eines bestimmten Befehls machen, können Sie in dessen init.dDatei die STDOUT- oder STDERR-Protokollierung des betreffenden Befehls ändern.
Mat Carlson
Nein /var/log/dmesg.logzu Lubuntu 18.04
Marco Sulla
17

Jeder außergewöhnliche Eintrag beim Booten wird in /var/log/syslogCould also in platziert/var/log/boot.msg

BloodPhilia
quelle
Ich habe CentOS 5.5 und ich habe kein Syslog in / var / log /
Rodnower
boot.log (in der Regel boot.log (x), wobei x eine positive Ganzzahl oder nichts ist) ist leer.
Rodnower
1
Try / var / log / messages
pjc50
1
/var/log/boot.msg ist das richtige unter Linux Mint
MaxV
kann auch nicht außergewöhnliche Einträge enthalten.
Abdull
8

Diese Lösung funktioniert sicherlich auf Debian-Systemen, kann aber trotzdem nützlich sein.

Um alle während des Bootvorgangs angezeigten Meldungen zu speichern , müssen Sie einen aufgerufenen Dienst starten. bootlogdNach dem nächsten Neustart können Sie die Meldungen einlesen /var/log/boot.

cYrus
quelle
Auf debian wheezy bekomme ichroot@wheezy:/home/jrx# service bootlogd start bootlogd: unrecognized service
Jérôme Radix
4
@ JérômeRadix solltest du es vielleicht erstmal installieren?
Behrooz
3

Geben Sie dmesg> ~ / dmesg.log ein, um alle Startmeldungen in Ihre eigene Kopie zu kopieren. Sie können das Datum und die Uhrzeit hinzufügen, wenn Sie mehrere Kopien behalten möchten, und Sie können sie sogar in einem Anmeldeskript automatisieren.

G5MacPower
quelle