Di mana Linux menempatkan pesan-pesan boot?

39

Saya ingin mencari tempat di mana Linux menulis semua pesan boot. Kamu tahu:

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

Saya mencari dengan

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

di / var / log /, tetapi tidak menemukan apa pun.

Saya memiliki CentOS 5.5.
Misalnya saat boot saya punya: "Menentukan informasi IP untuk eth0 ... gagal; tidak ada tautan. Periksa kabel?"
Saya tidak peduli tentang kesalahan spesifik, tetapi saya tidak dapat menemukan log yang menyimpan kesalahan ini.

dmesg | grep "no link present" tidak mengembalikan apa pun juga.

Rodnower
sumber
1
apakah Anda menjalankan findperintah dengan izin root? findakan mencetak semua file yang dapat Anda daftarkan, tetapi grephanya dapat memeriksa file yang dapat Anda baca & beberapa file log mungkin dimiliki oleh izin pemotongan withput root untuk pengguna lain. Juga, setidaknya GNU grep mendukung -lopsi th untuk mencetak nama-nama file yang cocok dan bukan baris yang cocok. Ini bisa sangat berguna mencari file yang mengandung teks tertentu. Jadi coba su -c 'find /var/log -print0 | xargs -0 grep -l -i "words from boot messages"'atausudo find /varlog -print0 | xargs -0 sudo grep -l -i "words from boot messages"
mschilli
Saat ini dengan systemd di sini adalah jawabannya.
Pablo A

Jawaban:

24

Sebagian besar pesan boot dimasukkan ke dalam buffer, yang dapat Anda akses menggunakan perintah dmesg. Pada sebagian besar distribusi Linux, output itu juga disimpan di

/var/log/dmesg.log

Anda bisa melihatnya

tail -n 100 /var/log/dmesg.log
Luc Stepniewski
sumber
1
Sebagai contoh, saya punya saat boot: "Menentukan informasi IP untuk eth0 ... gagal; tidak ada tautan hadir Periksa kabel?" Saya tidak peduli dengan kesalahan ini secara khusus, tetapi ketika saya melakukannya: dmesg | grep "tidak ada tautan sekarang" Saya tidak mendapatkan apa-apa ... Sebenarnya saya mendapatkan garis SANGAT BANYAK dengan grep "eth0", tetapi tidak dengan kesalahan konkret. Jadi apakah ada cara untuk menemukan deskripsi kesalahan boot yang konkret atau tidak? (Terima kasih telah membalas pertanyaannya)
Rodnower
Coba gunakan Nanoperintah 's ^ w (whereis), pada dasarnya perintah Find. Atau grepdengan regexp santai. Jika Anda benar-benar khawatir tentang output perintah tertentu, Anda bisa masuk ke init.dfile itu dan mengubah STDOUT atau STDERR logging.
Mat Carlson
Tidak /var/log/dmesg.logdi Lubuntu 18.04
Marco Sulla
17

Setiap entri luar biasa selama boot ditempatkan di /var/log/syslogBisa juga masuk/var/log/boot.msg

BloodPhilia
sumber
Saya punya CentOS 5.5 dan saya tidak punya syslog di / var / log /
Rodnower
boot.log (umumnya boot.log (x) di mana x adalah bilangan bulat positif atau tidak sama sekali) kosong.
Rodnower
1
Coba / var / log / pesan
pjc50
1
/var/log/boot.msg adalah yang benar di linux mint
MaxV
mungkin juga mengandung entri yang tidak biasa.
Abdull
8

Solusi ini pasti bekerja pada sistem Debian, tetapi mungkin bisa bermanfaat juga.

Untuk menyimpan semua pesan yang ditampilkan selama boot Anda harus memulai layanan yang disebut bootlogd, setelah reboot berikutnya Anda dapat membaca pesan di /var/log/boot.

cYrus
sumber
Pada debian wheezy, saya mendapatkanroot@wheezy:/home/jrx# service bootlogd start bootlogd: unrecognized service
Jérôme Radix
4
@ JérômeRadix mungkin Anda harus menginstalnya terlebih dahulu?
behrooz
3

Ketik dmesg> ~ / dmesg.log untuk menyalin semua pesan boot ke salinan Anda sendiri. Anda dapat menambahkan tanggal dan waktu jika Anda ingin menyimpan banyak salinan dan Anda bahkan dapat mengotomatiskannya dalam skrip login.

G5MacPower
sumber