J'essaie de mettre en place un nouveau service (sous Debian Jessie) qui doit mettre en place des montages où la configuration réseau est stockée et donc ce service doit se terminer avant le réseautage.service démarre.
J'ai essayé ce qui suit:
[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
En utilisant systemd-analyze plot
je peux voir que mon service démarre, mais networking.service
démarre environ 3 secondes plus tôt:
Apparemment, ma configuration est erronée, mais j'ai du mal à trouver le problème ... Toute aide grandement appréciée ..
Mise à jour
Je l'ai actuellement résolu en modifiant la configuration du service pour démarrer avant local-fs.target
au lieu de 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
Je voudrais quand même comprendre pourquoi ma première configuration n'a pas fonctionné comme prévu ...?
/etc/network/interfaces
a des références à des ip-up
scripts qui résident dans une autre partition. Cette partition est montée par un script complexe /opt/intermodul-mounts/start.sh
qui doit être exécuté avant la mise en réseau. Actuellement, les ip-up
scripts ne démarrent pas efficacement car ils ne sont pas accessibles au démarrage. L'exécution service networking restart
ultérieure affiche correctement toutes les interfaces.