Il existe de nombreux endroits différents où les fichiers d'unité systemd peuvent être placés. Existe-t-il un moyen rapide et facile de demander à systemd d’où il lit une déclaration de service, étant donné uniquement le nom du service?
Pour les unités définies dans des fichiers statiques réels, cela peut être vu dans 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 existe des unités qui ne sont pas définies par des fichiers, par exemple avec systemd-cron
installée. Ceux-ci n'ont aucun 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 champ FragmentPath
éduque:
$ 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