Sto cercando di impostare un nuovo servizio (sotto Debian Jessie) che deve impostare alcuni montaggi in cui è memorizzata la configurazione di rete e quindi questo servizio deve essere completato prima dell'avvio di network.service.
Ho provato quanto segue:
[Unit]
Description=mount/repair remaining filesystems (all persistent fs beyond "/")
#Before=network-pre.target
Before=networking.service
[Service]
Type=oneshot
ExecStart=/opt/intermodul-mounts/start.sh
TimeoutSec=0
RemainAfterExit=yes
[Install]
RequiredBy=networking.service
Utilizzando systemd-analyze plotposso vedere che il mio servizio inizia, ma networking.serviceinizia circa 3 secondi prima:
Apparentemente la mia configurazione è sbagliata, ma ho difficoltà a trovare il problema ... Qualsiasi aiuto è stato molto apprezzato ...
Aggiornare
Al momento l'ho risolto cambiando la configurazione del servizio per iniziare prima local-fs.targetinvece di networking.service:
[Unit]
DefaultDependencies=no
Description=mount/repair remaining filesystems (all persistent fs beyond "/")
Before=local-fs.target
[Service]
Type=oneshot
ExecStart=/opt/intermodul-mounts/start.sh
TimeoutSec=0
RemainAfterExit=yes
[Install]
RequiredBy=local-fs.target
Tuttavia, vorrei capire perché la mia prima configurazione non ha funzionato come previsto ...?
/etc/network/interfacesha riferimenti a ip-upscript che risiedono in un'altra partizione. Quella partizione è montata da uno script complesso /opt/intermodul-mounts/start.shche deve essere eseguito prima di configurare la rete. Attualmente, gli ip-upscript non si avviano effettivamente perché non sono accessibili al momento dell'avvio. L'esecuzione service networking restartsuccessiva mostra correttamente tutte le interfacce.
