Estou tentando configurar um novo serviço (no Debian Jessie) que precisa instalar algumas montagens nas quais a configuração de rede é armazenada e, portanto, esse serviço deve ser concluído antes do início do networking.service.
Eu tentei o seguinte:
[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
Usando systemd-analyze plot
posso ver que meu serviço é iniciado, mas é networking.service
iniciado cerca de 3 segundos antes:
Aparentemente, minha configuração está errada, mas estou tendo dificuldade em encontrar o problema ... Qualquer ajuda muito apreciada ..
Atualizar
No momento, eu o resolvi alterando a configuração do serviço para iniciar antes, em local-fs.target
vez 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
Ainda assim, gostaria de entender por que minha primeira configuração não funcionou conforme o esperado ...?
/etc/network/interfaces
tem referências a ip-up
scripts que residem em outra partição. Essa partição é montada por um script complexo /opt/intermodul-mounts/start.sh
que deve ser executado antes da instalação da rede. Atualmente, os ip-up
scripts não iniciam efetivamente porque não estão acessíveis no momento da inicialização. A execução service networking restart
posterior traz todas as interfaces corretamente.