¿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.


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

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


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.


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.