У меня есть служба systemd, которую мне нужно запустить до запуска сети, и я немного борюсь с ней. Согласно этому: Запуск служб после включения сетиМне нужно использоватьДо=сеть-пред.цель, однако моя служба не запускается.
Зависимости:
root@server:~# systemctl list-dependencies my-script --reverse
my-script.service
● └─network-pre.target (has a red dot next to it)
Сам блок:
[Unit]
Description=My script
Before=network-pre.target
Wants=network-pre.target
[Service]
ExecStart=/etc/my-script
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Какие-либо предложения?
решение1
Удалите строку Wants=, так как вы перечисляете то, что невозможно удовлетворить: запустите службу до network-pre.target, но также и после (Wants) ее. Таким образом, блок должен выглядеть так:
[Unit]
Description=My script
Before=network-pre.target
[Service]
ExecStart=/etc/my-script
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
решение2
Вот что мне помогло:
[Unit]
Description=@CPACK_PACKAGE_DESCRIPTION_SUMMARY@
Before=network-pre.target
Wants=network-pre.target
DefaultDependencies=no
Requires=local-fs.target
After=local-fs.target
[Service]
Type=oneshot
ExecStart=/sbin/my-script.sh
RemainAfterExit=yes
[Install]
WantedBy=network.target