Mi computadora de escritorio con Debian Jessie comenzó a caer en un shell de modo de emergencia en cada arranque. La pantalla dice usar journalctl -xb
para encontrar la razón y usar systemctl default
para continuar el arranque. Cuando ejecuto systemctl default
, el sistema continúa arrancando, y después de un par de semanas de usar el sistema, aparentemente no hay nada malo.
Mirando a través journalctl -xb
, nada se destaca como la razón para caer a un proyectil de emergencia. ¿Hay una manera fácil de determinar exactamente la razón por la que decidió pasar al modo de emergencia? ¿Hay otras banderas u opciones de arranque que harán obvio dónde está el problema?
debian
systemd
systemd-journald
jordanm
fuente
fuente
journalctl -xb
cuándo sucedió?systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1M
para detalles de nivel forense ...Respuestas:
La falla debería haber mostrado un rojo
[ FAIL ]
en la consola (en lugar de[ OK ]
), con la descripción de la unidad al lado. Por lo general, las primeras fallas son las más importantes. Use shift + pageup en la consola para desplazarse hacia arriba y ver las últimas pantallas llenas de resultados. Esto podría no funcionar si hay demasiada salida.Esto funciona incluso si normalmente no ve
[ OK ]
mensajes, por ejemplo, debido aquiet
la línea de comando del núcleo que usa Debian. En la primera falla, systemd cambia al modo detallado.De lo contrario, puede usar
systemctl
. Sin ninguna opción, muestra una lista masiva de unidades conocidas con fallas resaltadas en rojo. Para mostrar solo los fallidos, usesystemctl --state=failed
osystemctl --failed
.Si busca a través de los archivos de la unidad, solo hay unas pocas formas de recurrir al arranque
emergency.target
. Por lo general, ocurre cuando.mount
falla una unidad para un sistema de archivos local, lolocal-fs.target
que hace que falle. O cuando su initramfs no puede montar el sistema de archivos raíz, si su initramfs usa systemd.local-fs.target
tieneOnFailure=emergency.target
. Y falla porque las unidades para los sistemas de archivos locales se agregan automáticamente a la lista Requiere de local-fs.target (a menos que lo hayan hechoDefaultDependencies=no
).fuente
De vez en cuando me encuentro con un mensaje de "modo de mantenimiento", y también tengo que desplazarme a través de journald en busca de errores. Dado que journalctl usa menos como buscapersonas, debería poder aplicar cualquier atajo menos a su búsqueda.
Normalmente, confiaría en la función de búsqueda (/) y buscaría cualquier cosa equivalente a "error", "advertencia" o "error". Y asegúrese de -i para forzar la búsqueda insensible a mayúsculas y minúsculas.
Así que mis pulsaciones de teclas tenderían a verse así:
Técnicamente no es una búsqueda exhaustiva o exacta del problema exacto, pero nunca me he perdido un problema de arranque de esta manera.
Algunos atajos de teclado menos relacionados a continuación:
http://www.thegeekstuff.com/2010/02/unix-less-command-10-tips-for-effective-navigation/
fuente
systemd
registrará mensajes rojos por fallas al iniciar una unidad de servicio, o lo más importante, falla al montar un sistema de archivos.