Trova la posizione di un servizio systemd


62

Esistono molti luoghi diversi in cui è possibile posizionare i file di unità di sistema. Esiste un modo semplice e veloce per chiedere a systemd da dove legge la dichiarazione di un servizio, dato solo il nome del servizio?

Risposte:


75

Per le unità definite in file statici effettivi, questo può essere visto 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)

Ma ci sono unità che non sono definite da file, ad esempio con systemd-croninstallato. Questi non hanno una posizione utile elencata con 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 entrambi i casi, tuttavia, il FragmentPathcampo sta educando:

$ 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.