Dove Linux colloca i messaggi di avvio?


39

Voglio trovare un posto dove Linux scrive tutti i messaggi di avvio. Sai:

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

Ho cercato con

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

in / var / log /, ma non ho trovato nulla.

Ho CentOS 5.5.
Ad esempio all'avvio ho avuto: "Determinazione delle informazioni IP per eth0 ... fallita; nessun collegamento presente. Controllare il cavo?"
Non mi interessa la specificità dell'errore, ma non riesco a trovare alcun registro che contenga questo errore.

dmesg | grep "no link present" non restituisce nulla.


1
hai eseguito il findcomando con i permessi di root? findstamperà tutti i file che puoi elencare, ma greppuò solo controllare i file che puoi leggere e alcuni file di registro potrebbero essere di proprietà di root con permessi di lettura per altri utenti. Inoltre, almeno GNU grep supporta questa -lopzione per stampare i nomi dei file con le corrispondenze anziché le righe corrispondenti. Questo può essere molto utile per cercare file che contengono un determinato testo. Quindi prova su -c 'find /var/log -print0 | xargs -0 grep -l -i "words from boot messages"'osudo find /varlog -print0 | xargs -0 sudo grep -l -i "words from boot messages"
mschilli il

Oggi con systemd ecco la risposta.
Pablo A

Risposte:


24

La maggior parte dei messaggi di avvio viene inserita in un buffer, a cui è possibile accedere utilizzando il comando dmesg. Sulla maggior parte delle distribuzioni Linux, anche quell'output è archiviato

/var/log/dmesg.log

Che puoi vedere con

tail -n 100 /var/log/dmesg.log

1
Ad esempio, al momento dell'avvio: "Determinazione delle informazioni IP per eth0 ... non riuscita; nessun collegamento presente Controllare il cavo?" Non mi interessa questo errore in particolare, ma quando lo faccio: dmesg | grep "nessun collegamento presente" Non ottengo nulla ... In realtà ottengo MOLTE linee con grep "eth0", ma non con errori concreti. Quindi c'è un modo per trovare la descrizione degli errori di avvio concreti o no? (Grazie per la risposta al punto)
Rodnower,

Prova a usare il Nanocomando 's ^ w (whereis), essenzialmente un comando Trova. O grepcon una regexp rilassata. Se sei davvero preoccupato per l'output di un comando specifico, puoi andare nel suo init.dfile e modificare la registrazione STDOUT o STDERR del comando offensivo.
Mat Carlson,

No /var/log/dmesg.logsu Lubuntu 18.04
Marco Sulla

17

Ogni voce eccezionale durante l'avvio viene inserita in /var/log/syslogPotrebbe anche essere presente/var/log/boot.msg


Ho CentOS 5.5 e non ho syslog in / var / log /
Rodnower

boot.log (generalmente boot.log (x) dove x è un numero intero positivo o nulla) è vuoto.
Rodnower,

1
Prova / var / log / messages
pjc50

1
/var/log/boot.msg è quello corretto su Linux Mint
MaxV

può contenere anche voci non eccezionali.
Abdull

8

Questa soluzione sicuramente funziona su sistemi Debian, ma forse può essere comunque utile.

Per memorizzare tutti i messaggi mostrati durante l'avvio, è necessario avviare un servizio chiamato bootlogd, dopo il successivo riavvio è possibile leggere i messaggi /var/log/boot.


Su debian wheezy, ricevoroot@wheezy:/home/jrx# service bootlogd start bootlogd: unrecognized service
Jérôme Radix il

4
@ JérômeRadix forse dovresti installarlo prima?
Behrooz,

3

Digita dmesg> ~ / dmesg.log per copiare tutti i messaggi di avvio nella tua copia. Puoi aggiungere la data e l'ora se vuoi conservare più copie e puoi anche automatizzarle all'interno di uno script di accesso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.