सेवाओं की स्थापना क्यों नहीं शुरू होती है?


23

मैंने इसे कुछ समय देखा है, लेकिन इस अजीबोगरीब policy-rc.dबाइनरी के बारे में उबंटू आदमी में कुछ भी नहीं मिला है, जो कि सेवाओं को dpkg / apt द्वारा कॉल किए जाने पर पुनरारंभ / बंद / बंद होने से रोकता है, इसलिए मैं यह जानना चाहूंगा कि इसका कारण क्या है।

Setting up lxc (0.9.0-0ubuntu3.6) ...
invoke-rc.d: policy-rc.d denied execution of start.
invoke-rc.d: policy-rc.d denied execution of start.
invoke-rc.d: policy-rc.d denied execution of start.

जाहिर है, कोई भी पैकेज इस बाइनरी का मालिक नहीं है:

dpkg -S /usr/sbin/policy-rc.d
dpkg-query: no path found matching pattern /usr/sbin/policy-rc.d

जवाबों:


31

यह "स्क्रिप्ट" sysv-rcपैकेज में शामिल है । यह एक डेबियन पॉलिसी का हिस्सा है, जो जब भी सेवा शुरू / पुनरारंभ / बंद करता है / संकुल की स्थापना करता है, तब सेवाओं को नियंत्रित करने / पुनः आरंभ करने / रुकने की अनुमति देता है:

POLICY-RC.D पॉलिसी लेयर (/usr/sbin/policy-rc.d) इंटरफ़ेस:

अधिकांश डेबियन सिस्टम में यह स्क्रिप्ट नहीं होगी क्योंकि पॉलिसी लेयर की आवश्यकता बहुत सामान्य नहीं है। चेरोट जेल का उपयोग करने वाले अधिकांश लोगों को केवल एक-लाइन स्क्रिप्ट की आवश्यकता होती है, जो जेल से बाहर निकलने की स्थिति में 101 / के रूप में जेल की /usr/sbin/policy-rc.d स्क्रिप्ट के रूप में वापस आती है।

/Usr/sbin/policy-rc.d फ़ाइल को वैकल्पिक सिस्टम (/ usr / sbin / अपडेट-अल्टरनेटिव्स) के माध्यम से प्रबंधित किया जाना चाहिए ताकि कोई भी पैकेज इसे प्रदान कर सके।

/usr/sbin/policy-rc.d [विकल्प] []

/usr/sbin/policy-rc.d [विकल्प] - सूची [...]

( स्रोत )

तो, यहाँ क्या होता है? खैर, जब भी यह स्क्रिप्ट मौजूद होगी, यह एक कोड लौटाएगा जो स्थानीय प्रणाली की वर्तमान नीति बताता है (जो कि डिफ़ॉल्ट रूप से 101= नीति द्वारा निषिद्ध कार्रवाई है)। यदि आप नीति को बदलना चाहते हैं, तो फ़ाइल को इस मान में से किसी में भी रूट के रूप में बदलें:

  0 - action allowed
  1 - unknown action (therefore, undefined policy)
 100 - unknown initscript id
 101 - action forbidden by policy
 102 - subsystem error
 103 - syntax error
 104 - [reserved]
 105 - behaviour uncertain, policy undefined.
 106 - action not allowed. Use the returned fallback actions
       (which are implied to be "allowed") instead. 

स्क्रिप्ट अभी भी एक स्थान धारक है, लेकिन जब इन सभी मूल्यों को पूरा किया जा सकता है। यदि आप किसी भी परिवर्तन की अनुमति देना चाहते हैं तो बस और बदले जाने के exit 101लिए परिवर्तन करें exit 0। जब भी आप किसी सर्विस को इनस्टॉल / रिमूव / अपग्रेड करते हैं तो ये (re) स्टार्ट / रुकना होगा।


6
डॉकर छवियों का एक निश्चित समय हैexit 101 # For most Docker users, "apt-get install" only happens during "docker build", # where starting services doesn't work and often fails in humorous ways. This # prevents those failures by stopping the services from attempting to start.
तजोर्रीमोर्री

2
@Tjorriemorrie क्या आप विस्तृत कर सकते हैं? मुझे यह मुद्दा तब आता है जब एक डॉकटर छवि का निर्माण होता है और मुझे लगता है कि मैं इसे ठीक नहीं कर पा रहा हूं
जॉनी फ्लावर्स



@ बाइगूड: हालिया masterशाखा में लाइन नंबर बदल गया । यहाँ [है डॉकर स्रोत में लाइनों के लिए एक permalink ( github.com/moby/moby/blob/v17.05.0-ce/contrib/mkimage/… )।
होसम ऐली
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.