2012-08-22 7 views
7

그래서 LSB를 만족시키는 일부 init.d 스크립트를 작성하여 시작 및 종료시 적절하게 실행되도록하려고합니다. 불행히도 LSB/update-rc.d에서 종속성을 만족시키는 문제가 있습니다. 내가 업데이 트 - rc.d 기본값을 실행할 때update-rc.d 및 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 

그러나, 그것은 단지 끔찍한 일을 깨 이미 종속성으로 동일한 시작 시간과, 관련된 기본값을 생성합니다. 이 구성을 얻으려면 update-rc.d 또는 LSB가있는 항목이 누락 되었습니까? 이 관련이 경우

, 이것은, 스크립트가 나중에 부팅 순서에서 실행되도록 바로 다음 명령에 같은 일련 번호를 추가하려면 우분투 12.04

답변

12

입니다. 그렇다면 대부분의 의존성이 충족 될 것입니다.

한 번, 다른 부트 스크립트에 의존하는 부트 스크립트를 사용해야했습니다. 이로 인해 많은 문제가 발생했습니다. 결국 나는이 문제를 해결하려면이 명령을 사용 :

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

my_script 의미 부팅 시퀀스 번호 (98)를 얻을 수를, 그것은 1에서 99 그것의 범위처럼 보이는, 그리고 대부분의 다른 부팅 스크립트는 작은 숫자가 , 이것은 나의 스크립트가 모든 의존성을 준비 할 수있게한다. BTW

, 기존의 스크립트를 제거하기 위해,이 사용할 수 있습니다 :

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

희망이 도움이됩니다.