Изменение зависимостей systemd во время загрузки

Я ищу способ проинструктировать systemd для пересчета сервисных зависимостей во время загрузки системы. В частности, мне нужна одна услуга, чтобы иметь возможность включить другую услугу, а вторая служба запускается позже в той же последовательности загрузки. Это часть моего процесса автоматического развертывания; очень рано в процессе загрузки, при первом запуске системы он автоматически настраивается. Одним из шагов, которые могут потребоваться, является предоставление других услуг. К сожалению, любые изменения, которые он делает на этом этапе, похоже, не вступили в силу до следующей перезагрузки. Перезагрузка машины после первоначального развертывания не является вариантом.

Вот обобщенная идея того, чего я пытаюсь достичь.

/etc/systemd/system/firstboot.service:

[Unit] Description=Enable MyService DefaultDependencies=no After=sysinit.target Before=basic.target [Service] Type=oneshot ExecStart=/bin/systemctl enable myservice.service ExecStartPost=/bin/systemctl disable firstboot.service [Install] RequiredBy=basic.target 

/etc/systemd/system/myservice.service:

 [Unit] Description=MyService [Service] Type=simple ExecStart=/usr/local/bin/myservice [Install] WantedBy=multi-user.target 

К сожалению, это не работает, как я ожидал; служба включена, но не запускается до multi-user.target :

 $ systemctl status myservice myservice.service - MyService Loaded: loaded (/etc/systemd/system/myservice.service; enabled) Active: inactive (dead) 

Я могу заставить его начать с systemctl isolate multi-user.target или перезагрузить машину.

Я попытался добавить systemctl daemon-reload и / или systemctl daemon-reexec в ExecStart / ExecStartPost из firstboot.service , но ни ExecStartPost из firstboot.service не имеет никакого эффекта.

Есть ли способ сообщить systemd о пересчете пути загрузки и включить изменения, которые были сделаны во время загрузки? Или мне нужно будет что-то сделать позже в процессе загрузки, чтобы запустить мой сервис?