2012-08-22 10 views
7

Estoy tratando de escribir algunas secuencias de comandos init.d que satisfagan LSB para que se ejecuten adecuadamente al inicio y al apagar. Lamentablemente, tengo problemas con LSB/update-rc.d para satisfacer las dependencias.dependencias update-rc.d e init.d

# Required-Start: $network $local_fs hadoop-namenode hadoop-datanode zookeeper-server 
# Required-Stop: $network $local_fs hadoop-namenode hadoop-datanode zookeeper-server 
# Default-Start: 2 3 4 5 
# Default-Stop: 0 1 6 

Sin embargo, cuando corro por defecto update-rc.d, simplemente genera los valores por defecto en cuestión, con exactamente la misma hora de inicio como el ya dependencias, que rompe cosas horriblemente. ¿Me falta algo con update-rc.d o LSB para configurar esto?

En caso de que sea relevante, esto es Ubuntu 12.04

Respuesta

12

Para hacer su script se ejecute más tarde en la secuencia de arranque, sólo tiene que añadir un número de secuencia, como en el siguiente comando. Entonces la mayoría de las dependencias estarán satisfechas.

Una vez, tuve que usar un script de arranque que dependía de otros scripts de arranque. Esto trajo muchos problemas. Al final he utilizado este comando para resolver el problema:

cd /etc/init.d 
sudo update-rc.d my_script defaults 98 

El significa my_script obtiene el número de secuencia 98 en el arranque, todo apunta a que la gama de 1 a 99, y la mayoría de otros programas de arranque tienen un número menor , esto garantiza que mi script tenga todas sus dependencias listas.

Por cierto, para eliminar la secuencia de comandos de edad, esto puede ser usado:

sudo update-rc.d -f my_old_script remove 
# -f means 'force' 

Espero que esto ayude.