Trabalhando com init no Debian
Este artigo irá tratar de scripts de inicialização e manipulação relacionados ao init, como: rcconf, update-rc.d, sysv-rc-conf, sysvconfig, invoke-rc.d, na unha, scripts service, script de um rc.local para o Debian.
Parte 3: update-rc.d
Um outro mais interessante e MUITO mais eficiente é o update-rc.d.
Instalação:
# apt-get install file-rc update-rc.d
Utilização:
update-rc.d <nome> start NN runlevel . stop NN runlevel .
Nome é o mesmo nome do arquivo contido em /etc/init.d, NN significa a ordem em que eles serão iniciados/parados e runlevel especifica em quais runlevels eles serão iniciados/parados.
Exemplo com o script firewall.
NOTA: O arquivo deve estar dentro do diretório init.d.
# update-rc.d firewall start 20 2 3 4 5 . stop 20 0 1 6 .
NOTA: Se já existir uma entrada no arquivo como o nome especificado, update-rc.d não irá fazer nada.
Você também pode deixar os runlevels como padrão:
update-rc.d <nome> defaults [NN | NN-start NN-stop]
Colocando o defaults, ele irá deixar os runlevels para inicialização como: 2, 3, 4 e 5; e para finalização: 0, 1 e 6 (para saber mais, leia a manpage do init). NN indica que o arquivo terá a mesma prioridade na inicialização/finalização. Para deixar diferente, especifique NN-start para a inicialização e NN-stop para finalização.
NOTA: É recomendável sempre especificar um runlevel para os serviços serem finalizados.
Ex:
# update-rc.d firewall defaults
Já para remover um arquivo da inicialização/finalização, use:
update-rc.d [-f] <nome> remove
O -f pode ser usado para que o update-rc.d remova também links simbólicos. Este comando excluirá os links dos rcN.d, e conseqüentemente com que o serviço seja iniciado e parado manualmente, ou seja, você precisará usar o script em /etc/init.d/firewall <opção>.
Ex:
# update-rc.d -f firewall remove
Uma opção que pode ser usada em ambos os 3 comandos é -n. Ela faz com que update-rc.d simule o que aconteceria.
# update-rc.d -n firewall remove
Não se preocupe, ele irá mostrar a saída corretamente, porém, não haverá nenhuma alteração.
Instalação:
# apt-get install file-rc update-rc.d
Utilização:
update-rc.d <nome> start NN runlevel . stop NN runlevel .
Nome é o mesmo nome do arquivo contido em /etc/init.d, NN significa a ordem em que eles serão iniciados/parados e runlevel especifica em quais runlevels eles serão iniciados/parados.
Exemplo com o script firewall.
NOTA: O arquivo deve estar dentro do diretório init.d.
# update-rc.d firewall start 20 2 3 4 5 . stop 20 0 1 6 .
NOTA: Se já existir uma entrada no arquivo como o nome especificado, update-rc.d não irá fazer nada.
Você também pode deixar os runlevels como padrão:
update-rc.d <nome> defaults [NN | NN-start NN-stop]
Colocando o defaults, ele irá deixar os runlevels para inicialização como: 2, 3, 4 e 5; e para finalização: 0, 1 e 6 (para saber mais, leia a manpage do init). NN indica que o arquivo terá a mesma prioridade na inicialização/finalização. Para deixar diferente, especifique NN-start para a inicialização e NN-stop para finalização.
NOTA: É recomendável sempre especificar um runlevel para os serviços serem finalizados.
Ex:
# update-rc.d firewall defaults
Já para remover um arquivo da inicialização/finalização, use:
update-rc.d [-f] <nome> remove
O -f pode ser usado para que o update-rc.d remova também links simbólicos. Este comando excluirá os links dos rcN.d, e conseqüentemente com que o serviço seja iniciado e parado manualmente, ou seja, você precisará usar o script em /etc/init.d/firewall <opção>.
Ex:
# update-rc.d -f firewall remove
Uma opção que pode ser usada em ambos os 3 comandos é -n. Ela faz com que update-rc.d simule o que aconteceria.
# update-rc.d -n firewall remove
Não se preocupe, ele irá mostrar a saída corretamente, porém, não haverá nenhuma alteração.