41

I want to find place to where Linux writes all boot messages. You know:

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

I searched with

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

in /var/log/, but found nothing.

I have CentOS 5.5.
For example at boot time I had: "Determining IP information for eth0... failed; no link present. Check cable?"
I don't care about error specificaly, but I can't find any log that holds this error.

dmesg | grep "no link present" returns nothing too.

Jonas Stein
  • 1,082
  • 3
  • 13
  • 31
Rodnower
  • 2,119
  • 6
  • 31
  • 46
  • 1
    did you run the `find` command with root permissions? `find` will print all files you can list, but `grep` can only check the files you can read & some log files might be owned by root withput read permissions for other users. Also, at least GNU grep supports th `-l` option to print the names of files with matches instead of matched lines. This can be very usefule looking for files that contain certain text. So try `su -c 'find /var/log -print0 | xargs -0 grep -l -i "words from boot messages"'` or `sudo find /varlog -print0 | xargs -0 sudo grep -l -i "words from boot messages"` – mschilli Feb 15 '15 at 08:33
  • Nowadays with systemd [here](https://unix.stackexchange.com/a/345978/209677) is the answer. – Pablo A Dec 24 '18 at 02:22

4 Answers4

27

Most of the boot messages are put in a buffer, that you can access using the command dmesg. On most Linux distributions, that output is also stored in

/var/log/dmesg.log

That you can view with

tail -n 100 /var/log/dmesg.log
rubo77
  • 4,680
  • 11
  • 45
  • 79
Luc Stepniewski
  • 391
  • 2
  • 4
  • 1
    For example, I had at boot time: "Determining IP information for eth0... failed; no link present Check cable?" I don't care about this error specificaly, but when I do: dmesg | grep "no link present" I get nothing... Actually I get VERY MUCH lines with grep "eth0", but not with concrete error. So is there way to find concrete boot errors description or no? (Thank you for reply to the point) – Rodnower Aug 15 '10 at 20:43
  • Try using `Nano`'s ^w (whereis) command, essentially a Find command. Or `grep` with a relaxed regexp. If you are really worried about a specific command's output, you could go in it's `init.d` file and change the offending command's STDOUT or STDERR logging. – Mat Carlson Mar 20 '14 at 22:12
  • 1
    No `/var/log/dmesg.log` on Lubuntu 18.04 – Marco Sulla May 02 '19 at 19:03
19

Every exceptional entry during boot is placed in /var/log/syslog Could also be in /var/log/boot.msg

Pylsa
  • 30,630
  • 16
  • 89
  • 116
9

This solution surely works on Debian systems, but maybe can be useful anyway.

In order to store all the messages shown during the boot you have to start a service called bootlogd, after the next reboot you can read the messages in /var/log/boot.

cYrus
  • 21,379
  • 8
  • 74
  • 79
3

Type dmesg > ~/dmesg.log to copy all the boot messages into your own copy. You can add the date and time if you want to keep multiple copies and you could even automate it within a login script.

G5MacPower
  • 31
  • 1