я хочу сделать nginx
услуга зависит от услуги, которую я написал, скажем abc.service
. Под зависимым я имею в виду:
nginx
служба должна остановиться, когда я остановлюсь abc
nginx
служба должна запуститься, когда я начну abc
Типичный способ - изменить /lib/systemd/system/nginx.service
и добавить Wants abc
директива. Однако я не хочу изменять nginx.service
file - так как он поставляется с пакетом nginx.
Есть другой способ сделать это?
Никогда не модифицируйте агрегат, поставленный в /lib/systemd/system
, эти модули поставляются владельцами пакетов и могут быть отменены при обновлении пакета.
Опция 1 : создать копию объекта в /etc/systemd/system
и измените его. затем systemctl daemon-reload
и все готово. /etc/systemd/system
это место для ваших локальных единиц => https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Unit%20File%20Load%20Path
вариант 2 : создайте вспомогательный файл, как предложил Джеральд Шнайдер.
root@host# mkdir /etc/systemd/system/nginx.service.d
root@host# cat /etc/systemd/system/nginx.service.d/mydeps.conf
[Unit]
Wants=abc.service
вам также может понадобиться директива в abc.service, чтобы остановить nginx при остановке abc.