Com sysvinit
(systemd é diferente, mas você usaria unidades lá, não initscripts), a ordem de inicialização é determinada durante a inicialização pela ordenação dos arquivos em /etc/rc?.d
. Os links simbólicos são gerados por update-rc.d
com a ajuda de insserv
, que é realmente um detalhe de implementação (assim como os arquivos .depend.boot
etc.). Tudo o que você precisa saber são as dependências entre initscripts, declaradas em seus cabeçalhos LSB; por exemplo, :
### BEGIN INIT INFO
# Provides: unbound
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
Se você quiser alterar a ordem de inicialização, você precisa adicionar dependências aos initscripts relevantes. A maneira mais segura de fazer isso é adicionar substituições a /etc/insserv/overrides
: criar um novo arquivo lá com o mesmo nome do script que você deseja substituir e gravar o novo cabeçalho nesse arquivo. Em seguida, execute update-rc.d yourscript defaults
para recalcular os links simbólicos.
Você encontrará mais informações nas páginas de manual de insserv
e update-rc.d
.