Ich habe einen systemd-Dienst, den ich ausführen muss, bevor das Netzwerk gestartet wird, und ich habe ein wenig Probleme damit. Demnach: Ausführen von Diensten, nachdem das Netzwerk aktiv istIch muss verwendenVorher=Netzwerk-Vorher.Ziel, mein Dienst startet jedoch nicht.
Abhängigkeiten:
root@server:~# systemctl list-dependencies my-script --reverse
my-script.service
● └─network-pre.target (has a red dot next to it)
Die eigentliche Einheit selbst:
[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
Irgendwelche Vorschläge?
Antwort1
Entfernen Sie die Zeile Wants=, da Sie etwas Unmögliches auflisten: Starten Sie den Dienst vor network-pre.target, aber auch danach (Wants). Die Einheit sollte also folgendermaßen lauten:
[Unit]
Description=My script
Before=network-pre.target
[Service]
ExecStart=/etc/my-script
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Antwort2
Das hat bei mir funktioniert:
[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