मैं एक कॉन्फ़िगरेशन पैकेज बना रहा हूं, और उन सेवाओं को रोकना और पुनः आरंभ करना चाहूंगा जिनका कॉन्फ़िगरेशन प्रभावित है। अभी मैं उपयोग कर रहा हूँ service [stop|restart]
में {pre,post}{inst,rm}
जिस तरह से। मैं कहीं एक प्रश्न में पढ़ता हूं invoke-rc.d
जो सही तरीका है, क्योंकि यह किसी सेवा के बारे में उपयोगकर्ता की प्राथमिकताओं का सम्मान करता है। हालाँकि, मुझे इसके बारे में कोई दिशानिर्देश नहीं मिला। क्या किसी को इस तरह के दिशानिर्देशों का पता है? या कोई सलाह है कि मुझे किस तरीके से चुनना चाहिए? पैकेज आंतरिक उपयोग का है, और संभवतः अगले दो वर्षों के लिए केवल 14.04 के लिए होगा। हालाँकि, मैं अपने उत्तराधिकारी के लिए जितना संभव हो एक राज्य को साफ करना चाहता हूं, systemd
उतना ही मेरे दिमाग में भी है।
से invoke-rc.d
आदमी पेज :
डेबियन पैकेजों के अनुरक्षक लिपियों द्वारा init लिपियों की सभी पहुंच आह्वान के माध्यम से की जानी चाहिए ।
डेबियन पॉलिसी मैनुअल, अध्याय 9, धारा 3.3 से :
रखरखावकर्ताओं को अपने संकुल की स्क्रिप्ट जैसे पोस्टस्टीन, प्रर्म और पोस्ट्रम में इनस्क्रिप्ट से निपटने के लिए अपडेट- rc.d और इनवोक- rc.d कार्यक्रमों द्वारा प्रदान की गई अमूर्त परत का उपयोग करना चाहिए।
...
पैकेज अनुचर लिपियों को सीधे कॉल करने के बजाय, /etc/init.d/* इनस्क्रिप्ट में आह्वान करने के लिए इनवोक-आरओआरडी का उपयोग करना चाहिए।
डेबियन का उपयोग किया गया है sysv-init
और सीधे इसमें शिफ्ट हो जाएगा systemd
, और मुझे लगता है कि पॉलिसी मैनुअल को संदर्भित करने के लिए नियत समय में अपडेट किया जाएगा systemctl
। हालाँकि, मैं इस बारे में अनिश्चित हूं: क्या मुझे invoke-rc.d
इसके बजाय उपयोग करना चाहिए service
? मैं बता सकता हूं dpkg
कि मुझे कुछ फ़ाइलों (ट्रिगर्स के माध्यम से) में दिलचस्पी है, इसलिए क्या यह बताने का कोई तरीका है dpkg
कि मैं कुछ सेवाओं में भी दिलचस्पी रखता हूं और dpkg
रीस्टार्टिंग / रीलोडिंग करना चाहता हूं?
स्पष्ट करने के लिए: मैं init स्क्रिप्ट नहीं लिख रहा हूं। मैं अन्य अनुप्रयोगों, जैसे कठपुतली, NTP, आदि के लिए कॉन्फ़िगरेशन के साथ एक पैकेज प्रदान कर रहा हूं, इसलिए मैं स्क्रिप्ट्स में संबंधित सेवाओं को बंद और पुनः आरंभ करता हूं।
यहाँ , उदाहरण के लिए, invoke-rc.d
बनाम के बारे में एक डॉकर मुद्दा है service
। मुद्दा अभी भी खुला है, एक व्यक्ति के साथ, शायद एक अनुचर, टिप्पणी करते हुए कि वे निश्चित रूप से इसे सही तरीके से करने में रुचि रखते हैं - स्पष्ट रूप से दोनों में से कोई भी निश्चित नहीं है कि वह क्या है। (मेरा सवाल उस मुद्दे से स्वतंत्र है।)
invoke-rc.d
आदमी पेज और डेबियन नीति डॉक्स हमें बताता है के संबंध में इसका इस्तेमाल करने की/etc/init.d/
स्क्रिप्ट (शायद क्योंकि वे अभी भी प्रयोग किया SysV-init)। उपस्टार्ट या सिस्टमड के साथ यह कैसे बदलता है?