Gestion des services
Les services sont stockés sous forme de fichier .services présents dans /lib/systemd/system/ et /etc/systemd/system/.
Lorsqu’ils sont activés, des liens vers ces fichiers sont présents dans des dossiers du type /lib/systemd/system/my-service.wants ou /lib/systemd/system/runlevel.wants.
Pour désactiver le démarrage automatique d’un service :
sudo systemctl disable mon-service.service
Pour le réactiver :
sudo systemctl enable mon-service.service
Vérifier s’il va démarrer automatiquement au prochain boot :
systemctl is-enabled mon-service.service
Voir s’il est en cours de fonctionnement :
systemctl status mon-service.service
Pour le démarrer ou l’arrer manuellement :
systemctl start mon-service.service
systemctl stop mon-service.service
User-level services
dans $HOME/.config/systemd
Pour les gérer, systemctl --user
Logs
journalctl
Pour voir le journal d’un service :
journalctl -u mon-service
Pour voir uniquement les infos d’un démarrage précis, on peut utiliser l’option journalctl -b. Sans valeur, c’est équivalent à -b 0 et concerne le démarrage actuel.
Une valeur négative montre les démarrages précédents l’actuel (-1 pour le précédent, -2 pour l’avant-dernier etc).
Une valeur positive montre les démarrages dans l’ordre chronologique (1 pour le plans ancient enregistré, 2 pour le 2e plus ancien etc)
Pour voir les entrées les plus récentes (à condition d’utiliser less en pager) :
journalctl -e -u mon-service
Implique -n 1000 qui limite le nombre de lignes à 1000
Semble impliquer -b aussi
Pour choisir un niveau d’évenement :
journalctl -p notice
debug,info,notice, warning,err,crit,alert
Paramétrage des logs
La config des journaux est stockée dans /etc/systemd/journald.conf[.d/] .
Par défaut ils sont stockés dans /var/log/journal/
On peut paramétrer la taille max du dossier avec
Journal]
SystemMaxUse=512M
SystemKeepFree=10G
Par défaut, il utilise au max 10% et laisse au minimum 15% dispo.
On peut nettoyer les logs avec
sudo journalctl --vacuum-size=1000M
pour conserver les 1G les + récents ou
sudo journalctl --vacuum-time=10d
pour conserver uniquement les 10 derniers jours.