¿Dónde está el archivo de registro generado por un inicio detallado en OS X Lion?

19

Después de iniciar mi máquina en modo detallado (cmd + v al inicio) quiero ver los mensajes de registro generados, para depurar un error que estoy recibiendo ( el error ). El error solo se muestra en la pantalla brevemente durante el inicio, antes de que la máquina se reinicie. Como resultado, no hay tiempo para leerlo correctamente.

¿OS X proporciona un archivo de registro separado para los mensajes de inicio, o están enterrados dentro de los archivos kernel.log y system.log? Si están enterrados dentro de estos archivos, ¿hay alguna forma rápida de saltar al punto donde se inicia el sistema, dentro del visor de la consola?

Purpletonic
fuente

Respuestas:

3

Comenzando al menos en Snow Leopard y posiblemente Leopard, todos los registros en el sistema pasan por el mecanismo de registro del sistema de Apple (ASL), que es como un demonio central y una base de datos para todos los mensajes de registro. El daemon de ASL también se asegura de que los mensajes de registro apropiados que cumplan ciertos criterios tradicionales se escriban en archivos de registro de texto plano tradicionales como system.logy kernel.log, pero todo también va a la base de datos de ASL.

Para obtener más información, consulte las páginas del manual para syslog(1), logger(1), syslog(3), asl(3), syslog.conf(5), asl.conf(5), syslogd(8), etc.

Puede usar syslog(1)para emitir consultas en la base de datos ASL. Además, /Utilities/Console.appproporciona una GUI para generar y guardar consultas personalizadas para la base de datos ASL.

Estoy bastante seguro de que el búfer de mensajes del núcleo (tradicionalmente visto con dmesg(8)) se vierte en la base de datos ASL tan pronto como el arranque se ha llevado a cabo lo suficiente como syslogdpara ejecutarse, por lo que no debería necesitar llamar dmesgdirectamente, excepto por la fuerza del hábito. O si su sistema no arranca lo suficiente como syslogdpara estar ejecutándose.

Spiff
fuente
¿Esto funciona para botas anteriores? El problema que estaba experimentando cuando escribí esta pregunta (resuelto ahora, afortunadamente) solo ocurría de manera intermitente. Entonces, digamos, cualquier otro arranque, fue Kernel pánico en mí, y lo que quería hacer era el siguiente arranque exitoso, revisar el archivo de registro, encontrar el arranque anterior e intentar y depurar.
purpletonic
@purpletonic Sí, todo lo que se envía a ASL se coloca en una base de datos, donde permanece durante 7 días por defecto (esto se puede ajustar con asl.conf(5)). Entonces, si estaba depurando problemas de arranque y reiniciando varias veces el mismo día, estarían allí de forma predeterminada. Y si se trata de un problema a más largo plazo, puede ajustar el período de retención de ASL para mantener las cosas por más tiempo.
Spiff
Sin embargo, esta respuesta no dice realmente cómo puedo ver la salida del proceso de arranque "detallado". Una vez arrancado, dmesgsolo muestra algunas entradas recientes pero no el registro de arranque. Intentando esto en 10.12.6 - ya no hay un archivo "kernel.log".
SuperTempel
11

Abra Terminal.app y ejecute

sudo dmesg

(se le pedirá su contraseña)

Esto mostrará los mensajes del sistema desde el último inicio hasta ahora (encontrará los mensajes de inicio en la parte superior de la salida). Puedes intentar

sudo dmesg | más

esto generará esos mensajes página por página.

trurl
fuente
¡Agradable! Usaría menos en lugar de más, es mucho más conveniente y no satura tu terminal de desplazamiento hacia atrás.
SilverWolf - Restablecer Monica
4

La respuesta aceptada (por Spiff) no fue útil para mí, y ya no hay un kernel.log.

Lo que funciona para mí (en macOS 10.12.6) es este comando:

log show --predicate "processID == 0" --start $(date "+%Y-%m-%d") --debug

Muestra todos los mensajes de kernel de hoy, incluido el proceso de arranque. Necesita un poco de limpieza, pero al menos contiene todo lo que necesitaba encontrar.

SuperTempel
fuente
Esto también funciona para mí. Gracias. Las otras respuestas muestran cosas no necesariamente relacionadas con el arranque, o no muestran EXACTAMENTE lo que se imprime durante el arranque. Tu respuesta hace +1. ¡Y también está codificado por colores!
Max Coplan
2

Yo mismo me pregunto cómo obtener el registro más apropiado para el inicio sin acceso a la consola / terminal. Se bloqueó en el inicio, pero puede obtener acceso al sistema de archivos a través del disco de instalación (tenía un arranque dual de Linux disponible). El archivo es:

/var/log/kernel.log

Si puede acceder a la consola dentro del sistema operativo, es mejor seguir las otras sugerencias y usar los comandos apropiados.

Warpspace
fuente