Il existe de nombreux endroits différents où les fichiers unitaires de systemd peuvent être placés. Existe-t-il un moyen rapide et facile de demander à systemd d'où il a lu la déclaration d'un service, à partir du nom du service ?
Réponse
Trop de publicités?
Daniel Renshaw
Points
12272
Pour les unités qui sont définies dans des fichiers réels et statiques, cela peut être vu en systemctl status
:
$ systemctl status halt-local.service
halt-local.service - /usr/sbin/halt.local Compatibility
Loaded: loaded (/lib/systemd/system/halt-local.service; static)
Active: inactive (dead)
Mais il y a des unités qui ne sont pas définies par des fichiers, par exemple avec systemd-cron
installé. Ceux-ci n'ont pas d'emplacement utile répertorié avec status
:
$ systemctl status cron-jojo-0.timer
cron-jojo-0.timer - [Cron] "*/10 * * * * ..."
Loaded: loaded (/var/spool/cron/crontabs/jojo)
Active: active (waiting) since Mon 2015-05-18 14:53:01 UTC; 9min ago
Dans les deux cas, cependant, le FragmentPath
Le domaine est éducatif :
$ systemctl show -p FragmentPath cron-daily.service
FragmentPath=/lib/systemd/system/cron-daily.service
$ systemctl show -p FragmentPath cron-jojo-0.service
FragmentPath=/run/systemd/generator/cron-jojo-0.service
$ systemctl show -p FragmentPath halt-local.service
FragmentPath=/lib/systemd/system/halt-local.service