176 votes

Trouver l'emplacement d'un service de fichiers unitaires systemd

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 ?

178voto

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X