डेबियन में बूट-अप शुरू करने से एक डेमन को कैसे रोकें


16

कुछ डेमॉन हैं जिन्हें मैं बूट-अप पर शुरू करने से अक्षम करता हूं। एक उदाहरण के रूप में, मैं निम्नलिखित का उपयोग करता हूं:

 sudo update-rc.d -f postgresql remove

मुझे यकीन नहीं है कि अगर यह आदेश सही है और मुझे याद नहीं है कि मुझे यह कहाँ से मिला है।

वैसे भी, जब भी मैं अपग्रेड करता हूं postgresql, तो सेटिंग खो जाती है (यानी रिबूट पर डेमॉन शुरू होता है)।


1
SysVinit के साथ डेबियन पर, मुझे पसंद है file-rc। सीमलिंक को प्रबंधित करने के बजाय, मैं अपने रनलेवल कॉन्फ़िगरेशन के साथ एक टेक्स्ट फ़ाइल का प्रबंधन करता हूं।
गिल्स एसओ- बुराई को रोकें '

जवाबों:


22

update-rc.dशुरुआत में पैकेज अपग्रेड स्क्रिप्ट द्वारा किया गया था। removeपैकेज अनइंस्टॉल पर कॉल किया जाता है और सभी लिंक को हटा दिया defaultsजाता है, पैकेज इंस्टॉल पर कहा जाता है, enableया disableइसका उपयोग डीबकॉन्फ़ के आधार पर किया जा सकता है और सिस्मैडिन्स के लिए उपयोगी है। क्लीनअप removeवास्तव में एक सेवा को निष्क्रिय करने के लिए उपयोगी नहीं है। मैन पेज से:

एक सामान्य प्रणाली प्रशासन त्रुटि इस सोच के साथ लिंक को हटाना है कि यह सेवा को "अक्षम" करेगा, अर्थात यह सेवा को शुरू होने से रोकेगा। हालाँकि, यदि सभी लिंक हटा दिए गए हैं, तो अगली बार जब पैकेज अपग्रेड किया जाता है, तो पैकेज की पोस्टस्क्रिप्ट स्क्रिप्ट अपडेट-rc.d को फिर से चलाएगी और इससे उनके फ़ैक्टरी डिफ़ॉल्ट स्थानों पर लिंक पुनः इंस्टॉल हो जाएंगे। सेवाओं को निष्क्रिय करने का सही तरीका यह है कि सेवा को सभी रनवे में बंद कर दिया जाए, जिसमें यह डिफ़ॉल्ट रूप से शुरू हो। सिस्टम V init सिस्टम में इसका अर्थ है सेवा का प्रतीकात्मक लिंक S से K तक का नाम बदलना।

sudo update-rc.d postgresql disableआप जो चाहते हैं वह करेंगे, क्योंकि यह rdd सहानुभूति रखता है, लेकिन K (मारे गए, रुके हुए) उपसर्ग के साथ। इसे ए के साथ वापस लाएं enable। कुछ सेवाएं उनकी /etc/defaults/$serviceफ़ाइल से अक्षम होने का समर्थन करती हैं, लेकिन दुख की बात है कि अपवाद हैं। किसी सेवा को अक्षम करने के अन्य तरीके हैं /etc/init.d/$serviceफ़ाइल को chmod -x करना , या exit 0उसके शीर्ष पर सम्मिलित करना।


6

सबसे अच्छा समाधान स्पष्ट करने के लिए, तोबू ने दिए गए उत्तर के समान:

  1. विकल्प के update-rc.dसाथ उपयोग करें remove
  2. इसके बजाय, विकल्प के update-rc.dसाथ उपयोग करें disable

उदाहरण: update-rc.d postgresql disable


इसके अलावा, आप अन्य विशिष्ट सेवाओं के साथ अन्य (और अक्षम) भी पा सकते हैं systemctl

उदाहरण: systemctl disable pppd-dns.service



3

टोबू बिल्कुल सही है, लेकिन पूर्णता के लिए आपको एक स्मार्ट अवलोकन देने के लिए एक उपकरण है sysv-rc-conf:। कॉपी और पैट के लिए:

apt-get install sysv-rc-conf

रनिंग sysv-rc-confआप देखेंगे कि कौन सी स्क्रिप्ट किस रनलेवल में निष्पादित हुई है। आप सेवाओं को अक्षम / निष्क्रिय कर सकते हैं spaceऔर छोड़ सकते हैं q


2
मुझे भी पसंद है rcconf, इसके मानक रिपोज में। याद रखें, हालांकि इनमें से कोई भी अपस्टार्ट के साथ काम नहीं करेगा, जो उबंटू पर डिफ़ॉल्ट है। हालांकि बहुत सारे सामान अभी भी विरासत का उपयोग करते हैं।
जेएम बेकर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.