[Résolu] Voir les logs de systemd au démarrage

Bonjour,

je suis sous jessie et j’aimerais savoir s’il y a un moyen simple de voir les logs de systemd.

En effet, au démarrage, les lignes “[OK] Trucmuche” défilent très vite et sont tout de suite effacées par l’activation du mode graphique de la carte vidéo suite au lancement du serveur XOrg. Or j’ai également des “[ERROR] quelque chose” et des “[WARNING] quelque chose”.

Comment puis-je les re-visualiser par la suite ?

Merci à vous.

Bonjour,

Dans le dossier des logs par exemple :wink:

/var/log/

Oui, d’accord, ça je sais faire, mais comment tu fais pour repérer précisément celui qui était marqué “[ERROR]” et être sûr que c’était bien celui qui s’était affiché au démarrage ?

Si tu cherches le log de démarrage, c’est dans [mono]kern.log[/mono], ensuite ils sont archivés par numéros : kern.log.0, kern.log
1… en fonction de l’ancienneté.
Pour le serveur graphique je pense que tu as deviné, c’est dans Xorg.log

Oui et daemon.log pour les services lancés au démarrage.

Mais, y a-t-il un moyen de revoir les logs tels qu’ils sont apparus au démarrage, avec une seule ligne par service et si possible l’état (OK, ERROR, ou autre) en couleur ?

Salut,

je cherche ces trucs là avec par exemple pour lister les “warning” en majuscule ou en minuscule (d’ou le -i):

# cat /var/log/daemon.log | grep -i warning

Tu fais la même chose avec “error” ou autre mot cherché.
Je n’en sais pas plus
si c’est ta question ?
//

[mono]journalctl[/mono], il faut être [mono]root[/mono].

[quote][mono]-p, --priority=[/mono]
Filter output by message priorities or priority ranges. Takes either a single numeric or textual log level (i.e. between 0/“emerg” and 7/“debug”), or a range of numeric/text log levels in the form FROM…TO. The log levels are the usual syslog log levels as documented in syslog(3), i.e. [mono]“emerg” (0), “alert” (1), “crit” (2), “err” (3), “warning” (4), “notice” (5), “info” (6), “debug” (7).[/mono] If a single log level is specified, all messages with this log level or a lower (hence more important) log level are shown. If a range is specified, all messages within the range are shown, including both the start and the end value of the range. This will add “PRIORITY=” matches for the specified priorities.[/quote]

$ systemctl -t service -a --full | grep error $ systemctl --failed
[mono]$ man journalctl
$ man systemctl[/mono]

Merci BelZéButh pour ces commandes que je connaissais pas.

# journalctl -p err n’est pas mal.

Il n’y a donc pas moyen de revoir les logs tels qu’ils sont apparus au démarrage ?.. :confused:

A priori, mon problème vient d’un problème de dépendance pour les systèmes de fichiers distants (ici NFS).

root@orion:/var/log# journalctl -p err
-- Logs begin at mer. 2015-08-26 17:08:15 CEST, end at mer. 2015-08-26 17:56:36 CEST. --
août 26 17:08:15 orion systemd[1]: Failed to mount /data.
août 26 17:08:15 orion systemd[1]: Dependency failed for Remote File Systems.
août 26 17:08:16 orion kdm_greet[1009]: Cannot load /usr/share/kde4/apps/kdm/faces/.default.face: Aucun fichier ou dossier de ce type
août 26 17:08:19 orion kernel: usb 4-1-port7: over-current condition
août 26 17:08:19 orion kernel: usb 4-1-port8: over-current condition
août 26 17:08:30 orion pulseaudio[1476]: [pulseaudio] pid.c: Daemon already running.
août 26 17:08:30 orion pulseaudio[1478]: [pulseaudio] pid.c: Daemon already running.
août 26 17:08:30 orion pulseaudio[1480]: [pulseaudio] pid.c: Daemon already running.

En effet, /data est monté automatiquement en nfs au démarrage.
J’ai une erreur, mais j’y accède sans problème.

Maintenant, je ne sais pas si c’était vraiment cette erreur qui est apparue en rouge lors du démarrage… :blush:

Bonjour,
Avec systemadm, peut-être ?

-> [mono]$ man journalctl[/mono]

[quote][mono]–since=[/mono], [mono]–until=[/mono]

Start showing entries on or newer than the specified date, or on or older than the specified date, respectively. [mono]Date specifications should be of the format[/mono] "[mono]2012-10-30 18:17:16[/mono]". If the time part is omitted, "00:00:00" is assumed. If only the seconds component is omitted, ":00" is assumed. If the date component is omitted, the current day is assumed. Alternatively the strings [mono]"yesterday", "today", "tomorrow" are understood[/mono], which refer to 00:00:00 of the day before the current day, the current day, or the day after the current day, respectively. "now" refers to the current time. Finally, relative times may be specified, prefixed with "-" or "+", referring to times before or after the current time, respectively.[/quote]

Le journal du jour ?

Remonter le temps ?

Du xx au xx à …h… ?

[quote=“BelZéButh”]$ systemctl -t service -a --full | grep error $ systemctl --failed[/quote]
?


[mono]$ man systemd
$ man systemd-journald.service
$ man systemctl
$ man coredumpctl
$ man systemd.journal-fields
$ man journald.conf[/mono]

Ça y est, j’ai trouvé ce que je cherchais.

Il faut passer le paramètre systemd.confirm_spawn=true au noyau linux à l’invite de grub2.

Pour cela, lorsque le système se lance et que grub2 vous demande de choisir quel système d’exploitation exécuter :
[ol]
[li]Choisir le système d’exploitation ou la version de linux que vous voulez lancer;[/li]
[li]Tapez la lettre “e” pour éditer les paramètres à passer au noyau;[/li]
[li]Rajoutez le paramètre systemd.confirm_spawn=true à la fin de la ligne commençant par “linux”;

Debian GNU/Linux load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 eba21601-ca2b-4ec6-80b8-5d450fc292d0 else search --no-floppy --fs-uuid --set=root eba21601-ca2b-4ec6-80b8-5d450fc292d0 fi echo 'Chargement de Linux 3.16.0-4-amd64…' linux /boot/vmlinuz-3.16.0-4-amd64 root=UUID=eba21601-ca2b-4ec6-80b8-5d450fc292d0 ro quiet systemd.confirm_spawn=true echo 'Chargement du disque mémoire initial…' initrd /boot/initrd.img-3.16.0-4-amd64 [/li]
[li]Appuyez sur la touche F10 pour lancer le système.[/li][/ol]

Le paramètre systemd.confirm_spawn=true force systemd à passer en mode de démarrage interactif et demande alors confirmation pour chaque lancement de service.
Il est alors facile de suivre la sortie des états et des messages d’erreurs de chaque service. :smiley: :smiley: :smiley:

ATTENTION !!!

Petite précision…

Lors du démarrage interactif, quand vous basculez en mode graphique tous les services n’ont pas encore été lancés.
Il faut alors revenir sur la première console tty1 en appuyant sur les touches “alt+ctl+F1” et continuer à répondre aux demandes de lancement de systemd. :wink: