क्या dpkg के साथ मैन्युअल रूप से संकुल स्थापित करने से भविष्य के अपग्रेड पथ को रोका जा सकता है?


13

मैं एक निजी नेटवर्क का प्रबंधन करता हूं जिसकी ग्राहक की सुरक्षा नीति के कारण कोई इंटरनेट कनेक्टिविटी नहीं है। इस नेटवर्क में एक एकल उबंटू 10.04 एलटीएस सर्वर इंस्टालेशन है (जल्द ही कई और अधिक होने के लिए) और मैं इसे सॉफ्टवेयर के साथ अनुकूलित करने की कोशिश कर रहा हूं - हालांकि, मैं इंटरनेट कनेक्टिविटी की कमी के कारण मैन्युअल रूप से dpkg के साथ पैकेज स्थापित कर रहा हूं।

क्या यह उपलब्ध होने पर मुझे Ubuntu सर्वर (LTS) के एक नए संस्करण में अपग्रेड करने से रोकता है, क्योंकि मैंने जो पैकेजेस स्थापित किए हैं, वे चालू वितरण सीडी नहीं हैं, वे नए रिलीज़ पर भी होने की संभावना नहीं हैं।


3
साइड नोट: चूंकि आने के लिए कई और उबंटू सर्वर हैं, शायद आप स्थानीय रिपॉजिटरी पर विचार करना चाहें?
औरोल

3
यह समुदाय विकि क्यों है?
नाथन उस्मान

@ जॉर्ज एडिसन - क्यों नहीं?

1
@ नाम: क्योंकि कोई भी निरसन प्राप्त नहीं करता है। सीडब्ल्यू के सवालों से।
नाथन उस्मान

जवाबों:


17

नहीं, आधिकारिक रिपॉजिटरी से dpkg का उपयोग करके पैकेज स्थापित करने से आपको सड़क पर कोई समस्या नहीं होगी।

वास्तव में, तकनीकी दृष्टिकोण से, dpkg के माध्यम से एक पैकेज को स्थापित करना आपके द्वारा चलाए जाने से अलग नहीं है sudo apt-get install package। वही बातें होती हैं।

Dpkg के साथ पैकेज स्थापित करने में एकमात्र समस्या यह है कि आपको यह सुनिश्चित करना होगा कि निर्भरता सही क्रम में स्थापित हो। यदि नहीं, तो आप एक दूषित पैकेज डेटाबेस के साथ हवा कर सकते हैं।

मुझे पता है कि यह व्यक्तिगत अनुभव से होता है ...


सही क्रम में स्थापित होने से आपका क्या मतलब है? यदि किसी परिवाद में 3 निर्भरताएं, ए, बी और सी हैं, तो उन्हें एक विशिष्ट क्रम में स्थापित करने की आवश्यकता होगी? क्यों?
लीवेसक

@ जेसीएल: क्योंकि आश्रितों में से कुछ एक-दूसरे पर आश्रित होते हैं।
नाथन उस्मान

2
पैकेज डेटाबेस दूषित नहीं होगा ... लेकिन यह इंगित करेगा कि गुम निर्भरता के कारण एक पैकेज केवल अनपैक्ड (और कॉन्फ़िगर नहीं किया गया) है। भ्रष्ट का मतलब टूट जाएगा और वह dpkg अब काम नहीं करेगा। आपके द्वारा उल्लेख किए गए मामले में, यह अभी भी काम करता है और आप लापता निर्भरता (या यहां तक ​​कि apt-get -f install) को स्थापित करने के लिए dpkg का उपयोग करके इंस्टॉलेशन को पूरा कर सकते हैं ।
राफेल हर्ट्ज़ोग

@ रैप: हाँ, यह होगा। जो वास्तव में मेरे साथ हुआ है। और हाँ, dpkg के बाद काम नहीं किया।
नाथन उस्मान

2
मुझे लगता है कि आपके द्वारा बताए गए विशिष्ट ऑपरेशनों से संबंधित समस्या से मुझे डर है। कुछ और हुआ होगा। अप्रत्याशित बिजली की विफलता, फ़ाइल सिस्टम भ्रष्टाचार या जो कुछ भी लेकिन खराब क्रम में पैकेज स्थापित करना dpkg डेटाबेस को दूषित नहीं करता है। मैं एक dpkg अनुचर हूं और हमने बहुत सारे संबंधित बग्रेपोर्ट देखे होंगे यदि वास्तव में ऐसा होता था।
राफेल हर्त्जोग

3

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

किसी भी स्थिति में, आप अपग्रेड कर पाएंगे।



1

यह एक बेहतर विचार हो सकता है, यह विचार करते हुए कि आप स्थानीय रिपॉजिटरी स्थापित करने के लिए जल्द ही अधिक सर्वर जोड़ेंगे। इस तरह, आप प्रत्येक सर्वर के उपयुक्त स्रोतों में रेपो जोड़ सकते हैं और फिर उन सभी को एक स्थानीय रिपॉजिटरी में इंगित कर सकते हैं जो कि असली ubuntu repos का सिर्फ एक दर्पण है।

फिर जब पैकेजों को स्थापित या अपग्रेड करने का समय आता है, तो आप इस ऑपरेशन को संभालने के लिए मानक ubuntu टूल्स का उपयोग करते हैं। एक और लाभ यह है कि आपको बस कुछ ही समय में केंद्रीकृत स्थानीय रेपो को एक डीवीडी या हार्ड ड्राइव के साथ अपडेट करना होगा जिसे आप बंद वातावरण में ला सकते हैं और रेपो की निर्देशिकाओं के साथ सिंक कर सकते हैं। फिर प्रत्येक सर्वर आपको उन पैकेजों के लिए सचेत करेगा जो उन्होंने स्थापित किए हैं जो आपके स्थानीय रेपो पर उपलब्ध उन्नयन हैं ... जिसका अर्थ है कि आपके पास बनाए रखने के लिए बहुत कम प्रशासक हैं। उपकरण को ऐसा करने की अनुमति है जो उपकरण अच्छे हैं।

एलन पोप, ubuntu इंजीलवादी और उबंटू यूके पॉडकास्ट के पीछे की टीम में से एक, ने आधिकारिक उबंटू रिपॉजिटरी का एक दर्पण बनाने पर एक पोस्ट लिखी जिसमें मदद करनी चाहिए। आप इसे यहाँ पा सकते हैं ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.