डेबियन में एक सेवा को अक्षम करने का अनुशंसित तरीका


10

क्या डेबियन में एक सेवा को अक्षम करने के लिए "अनुशंसित तरीका" है? (अक्षम करें = मशीन के बूट होने पर सेवा स्थापित हो जाती है लेकिन स्वचालित रूप से शुरू नहीं होगी।)

मुझे पता है कि आप update-rc.d -f service remove(जो मूल रूप से लिंक को हटाते हैं rcX.d) कर सकते हैं, लेकिन ऐसा करने से आप सेवा का अनुक्रम संख्या खो देते हैं (और SXXservice, XX क्रम संख्या होने के साथ), जीवन को कठिन बनाते हैं जब आप सेवा को फिर से सक्षम करना चाहते हैं। मुझे यह भी पता है कि मैं लिंक को केवल नाम बदल सकता हूं rcX.dताकि वे इसके साथ शुरू न करें S(या उन्हें कहीं और स्थानांतरित करें), लेकिन मुझे आश्चर्य हुआ कि क्या ऐसा करने के लिए कुछ "डेबियन-अनुमोदित सर्वोत्तम-अभ्यास" तरीका है।

जवाबों:


12

अपडेट- rc.d मैन पेज पर एक नजर डालें। इंटक स्क्रिप्ट लिंक इंस्टॉल करने वाले अनुभाग का तीसरा पैराग्राफ …

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

अंतिम दो वाक्यों को आपके प्रश्न का उत्तर देना चाहिए। :-)


उदाहरण के लिए:sudo update-rc.d postgresql disable
लूमिस नोव

5

आप अपने जीवन को थोड़ा आसान बनाने के लिए "sysv-rc-conf" उपयोगिता को आजमा सकते हैं। यह अन्य प्रणाली के chkconfig टूल का अधिक है।

बस प्रोमो पर टाइप करें:

sudo apt-get install sysv-rc-conf

चीयर्स!


अच्छा उपकरण, धन्यवाद। मैं देखता हूं कि यह सेवाओं को भी सही ढंग से अक्षम करता है (यानी सी के लिए सिम्कलिन का नाम बदलकर ...)।
हेनजी १zi

2

वास्तव में, sysv-rc-confअपडेट- rc.d मैन पेज द्वारा भी अनुशंसित दृष्टिकोण है:

कृपया ध्यान दें कि इस प्रोग्राम को पैकेज मेंटेनर स्क्रिप्ट्स में उपयोग के लिए डिज़ाइन किया गया था और तदनुसार, इस तरह की स्क्रिप्ट्स के लिए केवल बहुत सीमित कार्यक्षमता की आवश्यकता होती है। सिस्टम व्यवस्थापकों को रनवे के प्रबंधन के लिए अपडेट- rdd का उपयोग करने के लिए प्रोत्साहित नहीं किया जाता है। उन्हें लिंक को सीधे संपादित करना चाहिए या इसके बजाय sysv-rc-conf और bum जैसे रनलेवल संपादकों का उपयोग करना चाहिए।


0

जैसा कि मैंने इसे समझा, पैकेज की स्थापना रद्द करने के लिए "डेबियन सबसे अच्छा अभ्यास" है । यदि आप उनका उपयोग नहीं कर रहे हैं तो आपके पास पैकेज स्थापित नहीं होने चाहिए। यही कारण है कि स्थापना पर शुरू करने के लिए डेबियन पैकेज सभी कॉन्फ़िगर किए गए हैं।

(वे कुछ पैकेज जो बिना चलाए उपयोगी हो सकते हैं, आमतौर पर /etc/default/<packagename>शुरू करने को अक्षम करने के लिए उनकी कॉन्फ़िगरेशन फ़ाइलों में एक सेटिंग होती है ।)


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