¿Dónde coloca Linux los mensajes de arranque?

39

Quiero encontrar un lugar donde Linux escriba todos los mensajes de arranque. Ya sabes:

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

Busqué con

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

en / var / log /, pero no encontró nada.

Tengo CentOS 5.5.
Por ejemplo, en el momento del arranque tuve: "No se pudo determinar la información de IP para eth0 ... no hay enlace. ¿Comprobar el cable?"
No me importa el error específicamente, pero no puedo encontrar ningún registro que contenga este error.

dmesg | grep "no link present" tampoco devuelve nada.

Rodnower
fuente
1
¿Ejecutó el findcomando con permisos de root? findimprimirá todos los archivos que pueda enumerar, pero grepsolo puede verificar los archivos que puede leer y algunos archivos de registro pueden ser propiedad de permisos de lectura de raíz para otros usuarios. Además, al menos GNU grep admite la -lopción de imprimir los nombres de los archivos con coincidencias en lugar de líneas coincidentes. Esto puede ser muy útil para buscar archivos que contengan cierto texto. Así que intente 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
Hoy en día con systemd aquí está la respuesta.
Pablo A

Respuestas:

24

La mayoría de los mensajes de arranque se colocan en un búfer al que puede acceder mediante el comando dmesg. En la mayoría de las distribuciones de Linux, esa salida también se almacena en

/var/log/dmesg.log

Que puedes ver con

tail -n 100 /var/log/dmesg.log
Luc Stepniewski
fuente
1
Por ejemplo, tuve en el momento del arranque: "No se pudo determinar la información de IP para eth0 ... no hay enlace presente ¿Comprobar el cable?" No me importa este error específicamente, pero cuando lo hago: dmesg | grep "sin enlace presente" No obtengo nada ... En realidad obtengo MUCHAS líneas con grep "eth0", pero no con un error concreto. Entonces, ¿hay alguna manera de encontrar una descripción concreta de los errores de arranque o no? (Gracias por responder al punto)
Rodnower
Intente usar Nanoel comando 's ^ w (whereis), esencialmente un comando Buscar. O grepcon una expresión regular relajada. Si está realmente preocupado por la salida de un comando específico, puede ir a su init.darchivo y cambiar el registro STDOUT o STDERR del comando infractor.
Mat Carlson
No /var/log/dmesg.logen Lubuntu 18.04
Marco Sulla
17

Cada entrada excepcional durante el arranque se coloca en /var/log/syslogTambién podría estar en/var/log/boot.msg

BloodPhilia
fuente
Tengo CentOS 5.5 y no tengo syslog en / var / log /
Rodnower
boot.log (generalmente boot.log (x) donde x es un entero positivo o nada) está vacío.
Rodnower
1
Pruebe / var / log / messages
pjc50
1
/var/log/boot.msg es el correcto en Linux mint
MaxV
también puede contener entradas no excepcionales.
Abdull
8

Esta solución seguramente funciona en los sistemas Debian, pero de todos modos puede ser útil.

Para almacenar todos los mensajes que se muestran durante el arranque, debe iniciar un servicio llamado bootlogd, después del próximo reinicio puede leer los mensajes /var/log/boot.

Ciro
fuente
En debian wheezy, me saleroot@wheezy:/home/jrx# service bootlogd start bootlogd: unrecognized service
Jérôme Radix
44
@ JérômeRadix ¿tal vez deberías instalarlo primero?
behrooz
3

Escriba dmesg> ~ / dmesg.log para copiar todos los mensajes de arranque en su propia copia. Puede agregar la fecha y la hora si desea conservar varias copias e incluso podría automatizarlas dentro de un script de inicio de sesión.

G5MacPower
fuente