Hay muchos lugares diferentes donde se pueden colocar los archivos de la unidad systemd. ¿Hay una manera rápida y fácil de preguntarle a systemd de dónde lee la declaración de un servicio, dado solo el nombre del servicio?
Hay muchos lugares diferentes donde se pueden colocar los archivos de la unidad systemd. ¿Hay una manera rápida y fácil de preguntarle a systemd de dónde lee la declaración de un servicio, dado solo el nombre del servicio?
Respuestas:
Para las unidades que se definen en archivos reales, estáticos, esto se puede ver 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)
Pero hay unidades que no están definidas por archivos, por ejemplo, con systemd-cron
instalado. Estos no tienen una ubicación útil listada 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
En cualquier caso, sin embargo, el FragmentPath
campo es educar:
$ 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