====== Systemd: analyser les erreurs au démarrage et autres astuces ====== Vérifier les services qui sont actuellement plantés : sudo systemctl --failed Plus d'infos sur les erreurs sudo journalctl -f Pour le plaisir : sudo journalctl -feu machin.service * -f : n'affiche que les entrées de journal les plus récentes et imprime continuellement les nouvelles entrées au fur et à mesure qu'elles sont ajoutées au journal. * -e : saute au bout du journal directement. * -u indique un service en particulier, cela réduit les recherches. ===== Obtenir des journaux précis ===== Journal complet de tout ce qui s'est passé ; pour éviter que ce soit trop long, on précise une unité temporelle, et puis on met ça dans un fichier texte, ça aidera à consulter... sudo journalctl --since="today" > journal.txt Faire une recherche dans ce fichier avec "warn", "fail", "error" permet déjà de lister quelques soucis. On peut aussi filtrer par type de message (''-p err'' pour les erreurs) et depuis une certaine date (''-until="date au format anglais"''): sudo journalctl -p err --until="2018-03-19 12h:00:00" > journalerr.txt Pour avoir tout le log d'un session, c'est ''-b'' suivi d'un décompte : ''-1'' pour la session précédente, ''-2'' pour la session d'avant, etc. sudo journalctl -b -1 ===== Autres détails avec dmesg ===== sudo dmesg -l err,crit,warn ===== Lister les services actifs et leur état ===== sudo systemctl --type=service --no-pager ===== Limiter la taille des logs ===== sudo nano /etc/systemd/journald.conf Modifier pour avoir ''SystemMaxUse=512M'' (par exemple, et regarder les autres options). ''SystemMaxFiles=100'' est une option complémentaire utile (il va faire l'équivalent d'un log rotate). Puis redémarrer pour que ce soit pris en compte : systemctl restart systemd-journald.service Pour libérer en urgence (manip temporaire) : sudo journalctl --vacuum-size=100M sudo journalctl --vacuum-time=10d ===== Avoir des vrais journaux de log ===== On peut forcer journalctl à nous refiler des vrais journaux, il va faire transiter par rsyslog. Donc en premier, installer ''rsyslog''. Puis dans ''/etc/systemd/journald.conf'', décommenter ''ForwardToSyslog=yes''. Relancer systemd, ça marche. systemctl restart systemd-journald.service [[https://creativecommons.org/publicdomain/zero/1.0/deed.fr|{{ https://liev.re/imagesweb/licences/cc-zero.png?100 | Ce texte est placé sous licence CC0}}]]