Como alterar a ordem de inicialização do rc.d no FreeBSD?

3

Minha pergunta é exatamente a mesma que esta pergunta, exceto que eu quer mudar serviços no FreeBSD.

Eu fiz algumas pesquisas e encontrei o comando rcorder que dá uma ordem completa de serviços com os parâmetros abaixo.

rcorder /etc/rc.d/* /usr/local/etc/rc.d/*

Além disso, posso adicionar a opção REQUIRE de qualquer script rc.d para iniciar meu serviço antes dele. Eu não gostei desse jeito porque eu não quero mudar os scripts rc.d de outros programas. Existe alguma maneira mais adequada de fazer isso?

Obrigado ...

    
por ibrahim 01.08.2013 / 16:02

1 resposta

5
A ordem de inicialização do

rc é determinada por rcorder , como você já determinou.

Este processo para determinar a ordem de inicialização é automático e a página man de rcorder é relativamente auto-explicativo, mas talvez você queira passar algum tempo revisando Scripts rc.d práticos e a rc man page antes de fazer qualquer alteração.

No seu caso particular, você pode dizer ao rcorder que seu script prefere iniciar BEFORE: outros scripts (usando a palavra-chave BEFORE ), mas isso deve ser feito apenas com um bom motivo e dentro de certos limites. Do artigo de roteiro rc.d Practical:

Note: The BEFORE: line should not be abused to work around an incomplete dependency list in the other script. The appropriate case for using BEFORE: is when the other script does not care about ours, but our script can do its task better if run before the other one. A typical real-life example is the network interfaces vs. the firewall: While the interfaces do not depend on the firewall in doing their job, the system security will benefit from the firewall being ready before there is any network traffic.

E adicionalmente

Keep in mind that putting a service name in the REQUIRE: line does not guarantee that the service will actually be running by the time our script starts. The required service may fail to start or just be disabled in rc.conf(5). Obviously, rcorder(8) cannot track such details, and rc(8) will not do that either. Consequently, the application started by our script should be able to cope with any required services being unavailable.

    
por 01.08.2013 / 19:06