Estou escrevendo um script para realizar algumas tarefas no momento da inicialização em meu Debian Wheezy AWS EC2 AMI. Fontes na internet dizem que a maneira usual de fazer isso é usar update-rc.d
para instalar os links simbólicos necessários para configurá-lo para ser executado no momento da inicialização.
No entanto, quando tento fazer isso, recebo o erro
$ update-rc.d
-bash: update-rc.d: command not found
Este método tem funcionado para mim até o Debian Squeeze. A maneira padrão de fazer isso mudou no Debian 7.0? Não consigo encontrar nenhuma documentação que explique como fazê-lo de forma oficial.
Responder1
Parece que você está tentando usar update-rc.d
como usuário sem privilégios? Como esta ferramenta está localizada em /usr/sbin/
você provavelmente não a possui em seu arquivo $PATH
. Então tente executá-lo como usuário root ou chame-o via sudo update-rc.d
.
Responder2
Seu script deve conter um cabeçalho LSB (Linux Standards Base) que indica suas dependências e capacidades (vejahttps://wiki.debian.org/LSBInitScriptspara mais informações sobre cabeçalhos LSB).
Se um cabeçalho LSB estiver presente, você pode usar insserv
para incluir seu script no processo de inicialização (vejahttps://wiki.debian.org/LSBInitScripts/DependencyBasedBootPara maiores informações).
Responder3
Uma parte da criação de um novo script LSB e da adição é como um serviço de inicialização, que é uma abordagem mais padrão.
Você também pode adicionar qualquer script menor (como gerar um relatório, tarefas de limpeza) ao arquivo /etc/init.d/rc.local
.
No entanto, certifique-se de que rc.local esteja presente e habilitado para seu nível de execução (geralmente 3 no debian) -find /etc/rc*.d | grep rc.local