Suchen Sie den Speicherort eines systemd-Dienstes


62

Es gibt viele verschiedene Orte, an denen System-Unit-Dateien abgelegt werden können. Gibt es eine schnelle und einfache Möglichkeit, systemd zu fragen, woher es die Erklärung eines Dienstes liest, wenn nur der Dienstname angegeben wird?

Antworten:


75

Für Einheiten, die in tatsächlichen, statischen Dateien definiert sind, ist dies ersichtlich in 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)

Es gibt aber auch Einheiten, die nicht durch Dateien definiert sind, zB mit systemd-croninstalliertem. Diese haben keinen nützlichen Ort mit 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

In beiden Fällen bildet das FragmentPathFeld jedoch aus:

$ 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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.