Mon ordinateur de bureau exécutant Debian Jessie a commencé à tomber dans un shell en mode d'urgence à chaque démarrage. L'écran indique à utiliser journalctl -xb
pour trouver la raison et à utiliser systemctl default
pour continuer le démarrage. Lorsque j'exécute systemctl default
, le système continue de démarrer, et après quelques semaines d'utilisation du système, il n'y a apparemment rien de mal.
En regardant à travers journalctl -xb
, rien ne ressort comme étant la raison de la chute dans un obus d'urgence. Existe-t-il un moyen facile de déterminer exactement la raison pour laquelle il a décidé de passer en mode d'urgence? Existe-t-il d'autres indicateurs ou options de démarrage qui indiqueront clairement où se situe le problème?
debian
systemd
systemd-journald
jordanm
la source
la source
journalctl -xb
moment où cela s'est produit?systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1M
pour les détails de niveau médico-légal ...Réponses:
L'échec aurait dû afficher un rouge
[ FAIL ]
sur la console (au lieu de[ OK ]
), avec la description de l'unité à côté. Généralement, les premiers échecs sont les plus importants. Utilisez shift + pageup sur la console pour faire défiler vers le haut et afficher les derniers écrans de sortie. Cela pourrait ne pas fonctionner s'il y a trop de sortie.Cela fonctionne même si vous ne voyez pas normalement les
[ OK ]
messages, par exemple à cause dequiet
la ligne de commande du noyau telle qu'utilisée par Debian. Lors du premier échec, systemd passe en mode détaillé.Sinon, vous pouvez utiliser
systemctl
. Sans aucune option, il affiche une liste massive d'unités connues avec des échecs surlignés en rouge. Pour afficher uniquement les échecs, utilisezsystemctl --state=failed
ousystemctl --failed
.Si vous recherchez dans les fichiers d'unité, il n'y a que très peu de façons pour que le démarrage revienne
emergency.target
. C'est généralement quand une.mount
unité pour un système de fichiers local tombe en panne, provoquant l'local-fs.target
échec. Ou lorsque vos initramfs ne parviennent pas à monter le système de fichiers racine, si vos initramfs utilisent systemd.local-fs.target
aOnFailure=emergency.target
. Et il échoue car les unités des systèmes de fichiers locaux sont automatiquement ajoutées à la liste Requiert de local-fs.target (sauf si elles l'ontDefaultDependencies=no
).la source
De temps en temps, je rencontre une invite de "mode de maintenance", et je dois également faire défiler le journal pour les erreurs. Puisque journalctl utilise moins comme pageur, vous devriez pouvoir appliquer moins de raccourcis à votre recherche.
En général, je me fie à la fonction de recherche (/) et je recherche tout ce qui équivaut à "erreur", "avertissement" ou "échec". Et assurez-vous de -i pour forcer la recherche insensible à la casse.
Donc, mes frappes auraient tendance à ressembler à:
Ce n'est techniquement pas une recherche exhaustive ou exacte du problème précis, mais je n'ai jamais manqué un problème de démarrage de cette façon.
Quelques raccourcis clavier associés moins ci-dessous:
http://www.thegeekstuff.com/2010/02/unix-less-command-10-tips-for-effective-navigation/
la source
systemd
enregistrera les messages rouges en cas d'échec de démarrage d'une unité de service ou, plus important encore, d'échec de montage d'un système de fichiers.