2012-08-22 19 views
7

तो मैं एलएसबी को संतुष्ट करने वाली कुछ init.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 

तथापि, जब मैं अद्यतन-rc.d चूक चलाने के लिए, यह महज शामिल चूक, ठीक उसी शुरू करने का समय पहले से ही निर्भरता के रूप में है, जो चीजों को बुरी तरह टूट जाता है के साथ उत्पन्न करता है। क्या मैं इसे कॉन्फ़िगर करने के लिए अद्यतन-आरसीडी या एलएसबी के साथ कुछ खो रहा हूं?

मामले में यह प्रासंगिक है, इस अपनी स्क्रिप्ट बाद में बूट अनुक्रम में चलाने करने के लिये निम्न आदेश में एक क्रम संख्या जोड़ने जैसे Ubuntu 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' 

आशा इस मदद करता है।

7

यह दृष्टिकोण अब कुछ सिस्टम (उदाहरण के लिए डेबियन निचोड़) पर काम नहीं करता है। संख्या को कोई स्पष्टीकरण के साथ अनदेखा किया गया है। पसंदीदा तरीका यह है: http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html

"आवश्यक-प्रारंभ:" स्क्रिप्ट घोषणा देखें।

+0

हाँ मुझे लगता है कि ऐसा इसलिए है क्योंकि डेबियन ने निचोड़ के साथ समवर्ती बूट आइटम जोड़े। – UpTheCreek

संबंधित मुद्दे