मैं सभी पोस्ट-इंस्टॉल कॉन्फ़िगरेशन चरणों को छोड़ने के लिए apt-get को कैसे पूछूं?


11

डेबियन / उबंटू मशीनों पर कुछ पैकेज (जैसे रैबिटमक्यू) स्थापित करते समय, post-installकदम सेवा शुरू करने के लिए चूक जाता है।

हालांकि यह ज्यादातर मामलों में महान है, कुछ मामलों में (जब आपके पास पहले से ही उदाहरण के लिए आवश्यक पोर्ट पर चलने वाली सेवा है) यह विफल हो जाता है जो apt-getपूरी तरह से विफल हो जाता है।

क्या यह बताने apt-getका एक तरीका है कि उन सभी post-installचरणों को छोड़ दें ताकि यह अभी भी ठीक से स्थापित हो सके?

नोट यह स्थापित करने के दौरान प्रश्नों के बारे में नहीं है, यहां तक ​​कि इंटरएक्टिव सत्रों में भी ये इंस्टॉल्स विफल हो जाते हैं क्योंकि post-installचरण विफलता विफल सही तरीके से नियंत्रित नहीं होती है




1
वह प्रश्न समान है लेकिन अलग है। यह सभी चरणों को छोड़ देने के बारे में है, न कि केवल इंटरएक्टिव लोगों के लिए। कुछ कार्य स्वचालित रूप से स्क्रिप्ट को निष्पादित करते हैं जो हमेशा नहीं चाहते हैं।
वोल्फ

जवाबों:


8

मैं किसी भी इंटरएक्टिव पोस्ट-इंस्टाल कॉन्फ़िगरेशन स्टेप्स को छोड़ने के लिए apt-get को कैसे पूछूं?

export DEBIAN_FRONTEND=noninteractive
apt-get install -y [packagename]

संपादित करें : हाँ, यह स्किप करने के लिए था (अच्छी तरह से, स्वचालित) पोस्ट-इंस्टॉल प्रश्न , सच - खेद।

पोस्ट-इंस्टॉल स्क्रिप्ट को छोड़ने का कोई तरीका नहीं है । गैर-टर्मिनल त्रुटि वापस करने या स्क्रिप्ट को ठीक करने के लिए आधिकारिक डेबियन नीति स्क्रिप्ट को संपादित करना है। Http://www.debian-administration.org/articles/251 देखें

ऐसा लगता है कि आप इसे कई सर्वरों के लिए स्वचालित कर रहे हैं, जिस स्थिति में, आप संभवतः पैकेज का अपना संस्करण बनाना चाहते हैं और इसे तैनात कर सकते हैं। एक अन्य विकल्प पैकेज मेंटेनर को ईमेल करना और चर्चा करना है कि क्या विफलता के बाद शुरू होने के लिए टर्मिनल त्रुटि होनी चाहिए (मेरा मानना ​​है कि यह अन्य पैकेज जैसे अपाचे या लाइटटैप के लिए है, उदाहरण के लिए, लेकिन मैं गलत हो सकता है ।)


यह सिर्फ इंटरेक्टिव चरणों को छोड़ना है। उन लोगों को यहाँ समस्या नहीं है, ये गैर-संवादात्मक post-installकदम हैं जो विफल हो जाते हैं जैसे कि कुछ service rabbitmq-server startविफल हो जाता है।
वोल्फ

अपडेट किया गया। क्या उससे मदद हुई?
ब्रेट डिकमैन

यह करता है, यह जानना बेहतर है कि यह सोचकर संभव नहीं है अगर यह :) मदद के लिए धन्यवाद।
वुल्फ

यदि आप sudo का उपयोग कर रहे हैं, तो पर्यावरण चर का निर्यात काम नहीं करेगा, लेकिन आप इसे इस तरह से कर सकते हैं:sudo DEBIAN_FRONTEND=noninteractive apt-get -y [packagename]
aculich

4

आप जो करना चाहते हैं वह पॉलिसी- rc.d के साथ कुछ है । इनवोक-आरओडी के लिए मैन पेज देखें। आप एक नीति निर्धारित कर सकते हैं ताकि सेवाएं अपने आप शुरू न हों।


यह इसके चारों ओर काम करने का एक तरीका है, लेकिन यह एक अस्थायी उपाय होगा जो मुझे लगता है? कम से कम ... मुझे लगता है कि जिस तरह से आप विश्व स्तर पर अक्षम कर देंगे सभी सेवा शुरू होती है।
वोल्फ

2

यह काम करना चाहिए

echo exit 101 > /usr/sbin/policy-rc.d
chmod +x /usr/sbin/policy-rc.d
apt-get install <packagename>
rm -f /usr/sbin/policy-rc.d

इस मामले के लिए थोड़ा हैकी और बहुत विशिष्ट है, लेकिन यह बहुत मदद करता है! धन्यवाद :)
वुल्फ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.