Em um Debian 7.5, rc.local não será executado na inicialização

Em um Debian 7.5, rc.local não será executado na inicialização

Estou lutando para descobrir por que o rc.local não será executado no momento da inicialização.
O arquivo em si é executável, é chamado de /etc/rc2.d
Além disso, o arquivo quando da linha de comando não retornará nenhum erro.
Alguma idéia do que mais verificar para descobrir por que não é executado?

Responder1

Como você diz que isso rc.localé executado corretamente quando executado manualmente, as duas coisas que vêm imediatamente à mente são:

  • Algo está errado na inicialização, mas funciona quando você mesmo o executa. Talvez você esteja tentando executar um programa que não está no PATH no momento da inicialização.
  • /etc/rc.localrealmente não está sendo executado na inicialização.

Em ambos os casos, a primeira coisa que eu faria é colocar algo como

/usr/bin/printenv > /var/tmp/rc.local-$(date +%T)

como a primeira linha rc.localdepois da #!/bin/shlinha. Isso imprimirá as variáveis ​​de ambiente em um arquivo com carimbo de data e hora sempre que for executado. (Não grave o arquivo /tmpporque ele será esvaziado na inicialização.) Execute /etc/rc.localmanualmente e dê uma olhada rápida no arquivo resultante (ele terá um nome como /var/tmp/rc.local-21:14:35). Em seguida, reinicie o seu sistema.

Você deve ter dois arquivos /var/tmp(ou onde quer que seja) que possa comparar. Se você tiver apenas o primeiro arquivo, /etc/rc.localnão será realmente chamado. Se você tiver dois arquivos, compare-os. O último terá ummuitoambiente esparso e PATH. Examine seu rc.localscript e veja se há algo que você está tentando executar que depende de alguma variável ou componente de PATH que não esteja no ambiente de inicialização. Se você encontrar algo, adicione a inicialização necessária ao rc.local.

informação relacionada