Ok, ler os comentários nos arquivos de configuração funciona às vezes ...
Eu estava certo supondo que net
funciona como uma "dependência virtual" no sentido de que mais de um serviço pode realmente fornecê-lo. E é realmente documentado dessa forma no manual: link . Mas, na verdade, isso é configurável e esse comportamento não é o padrão (pelo menos, não lembro de tê-lo modificado uma vez).
O arquivo /etc/rc.conf
pode ser usado para personalizar a maneira como init
e o init-scripts funcionam. E há uma opção interessante nele.
# Do we allow any started service in the runlevel to satisfy the dependency
# or do we want all of them regardless of state? For example, if net.eth0
# and net.eth1 are in the default runlevel then with rc_depend_strict="NO"
# both will be started, but services that depend on 'net' will work if either
# one comes up. With rc_depend_strict="YES" we would require them both to
# come up.
#rc_depend_strict="YES"
Como você vê, isso é exatamente o que eu preciso, e foi simplesmente padronizado com o valor errado (do meu ponto de vista). Definir essa opção como NO resolveu meu problema.
Antes:
yavin ~ # /etc/init.d/openvpn ineed
* Caching service dependencies ... [ ok ]
fsck dmcrypt localmount sysfs net.wlan0 net.enp5s0
Após (no caso de wlan0
, eu acho que teria enp5s0
em vez de wlan0
se enp5s0
estivesse em alta):
yavin ~ # /etc/init.d/openvpn ineed
* Caching service dependencies ... [ ok ]
fsck dmcrypt localmount sysfs net.wlan0