En Debian 7.5, rc.local no se ejecutará en el arranque

En Debian 7.5, rc.local no se ejecutará en el arranque

Estoy luchando por descubrir por qué rc.local no se ejecutará en el momento del arranque.
El archivo en sí es ejecutable, se llama desde /etc/rc2.d
Además, el archivo desde la línea de comando no devolverá ningún error.
¿Alguna idea de qué más comprobar para descubrir por qué no se ejecuta?

Respuesta1

Como dices que rc.localse ejecuta correctamente cuando lo ejecutas manualmente, las dos cosas que me vienen a la mente inmediatamente son:

  • Algo va mal en el momento del arranque, pero funciona cuando lo ejecuta usted mismo. Quizás esté intentando ejecutar un programa que no está en la RUTA en el momento del arranque.
  • /etc/rc.localRealmente no se ejecuta en el arranque.

En ambos casos lo primero que haría es poner algo como

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

como la primera línea o rc.localdespués de la #!/bin/shlínea. Eso imprimirá las variables de entorno en un archivo con marca de tiempo cada vez que se ejecute. (No escriba el archivo /tmpporque se vacía al arrancar). Ejecútelo /etc/rc.localmanualmente y eche un vistazo rápido al archivo resultante (se llamará algo así como /var/tmp/rc.local-21:14:35). Luego reinicie su sistema.

Deberías tener dos archivos en /var/tmp(o donde sea) que puedas comparar. Si solo tiene el primer archivo, /etc/rc.localen realidad no se llama. Si tiene dos archivos, compárelos. El último tendrá unmuyentorno disperso y RUTA. Revise su rc.localsecuencia de comandos y vea si hay algo que esté intentando ejecutar que dependa de alguna variable o algún componente de PATH que no esté en el entorno de arranque. Si encuentra algo, agregue la inicialización necesaria a rc.local.

información relacionada