उन्नयन और डिस्ट-अपग्रेड पैकेज स्थापित करने के लिए dpkg का उपयोग करना


9

इसलिए मैं 12.04 सर्वर पर ऑफ़लाइन पैकेज इंस्टॉलेशन के साथ खेल रहा हूं, यहां दिए गए निर्देशों का उपयोग करके अपने यूआरआई को पुनर्प्राप्त और विस्मृत करके पैकेज डाउनलोड कर रहा हूं: http://www.webupd8.org/2009/11/get-list-of-packages- और-dependencies.html

मैंने इसके साथ यह किया apt-get upgradeऔर apt-get dist-upgradeफिर डाउनलोड किए गए पैकेजों का उपयोग करके स्थापित किया dpkg -i। तो प्रक्रिया इस तरह दिखी:

  1. URI प्राप्त करें
  2. wgetएक फ़ोल्डर के upgradeलिए संकुल ( संकुल / उन्नयन और dist-upgradeसंकुल / दूर-उन्नयन के लिए)
  3. दौड़ो dpkg -i /upgrade/*.debऔर फिरdpkg -i /dist-upgrade/*.deb

मेरा सवाल है: क्या मैन्युअल रूप से अपडेट किए गए पैकेजों को मैन्युअल रूप से स्थापित करने का यह तरीका सही ढंग से सबकुछ अपडेट हो जाएगा, जैसा कि मैं अभी apt-get upgradeऔर apt-get dist-upgradeसामान्य रूप से चलाता हूं ? या वहाँ कुछ है कि सामान्य apt-getआदेश है कि इस तरह से नहीं मिलेगा?

जवाबों:


15

उपयोग करने के बजाय dpkg, जो एक निम्न स्तर का पैकेज प्रबंधक है, आप का उपयोग करना बेहतर होगा apt। का उपयोग करके .deb फ़ाइलों को स्थापित करने के लिए apt, उन्हें apt कैश में कॉपी करें

sudo cp *.deb /var/cache/apt/archives/

और फिर नियमित रूप से अपग्रेड करें:

apt-get upgrade

aptआदेश नहीं बल्कि शुद्ध बंद इसे डाउनलोड करने की तुलना में अपने कैश में फ़ाइलों का उपयोग करेगा, ताकि काफी उद्देश्य कार्य करता है।


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

इसके अलावा, मेरे द्वारा पूछे जाने का कारण यह है कि मैं इस बात को लेकर चिंतित हूं कि क्या apt'sव्यवहार हो सकता है, अगर कहें, डाउनलोड किए गए पैकेजों को एक सिस्टम पर कॉपी किया गया था जिसमें इंटरनेट एक्सेस था और फिर aptदेखता है कि डाउनलोड किए गए कुछ या सभी पैकेज नवीनतम नहीं हैं (लेकिन वर्तमान में जो इंस्टॉल किया गया है उससे नया) और फिर यह उन विशेष पैकेजों के अपडेट किए गए संस्करणों को प्राप्त करने की कोशिश करता है (मैं चाहता हूं कि यह केवल उन विशिष्ट पैकेजों / संस्करणों को स्थापित करें जिन्हें मैंने डाउनलोड किया है)। मूल रूप से, aptनवीनतम ऑनलाइन संस्करण को वरीयता देता है या यह एक स्थानीय, नए-लेकिन-नहीं-नवीनतम संस्करण को वरीयता देगा?
R4mzy

1
@ R4mzy आपको वहां एक वैध बिंदु मिल गया है। aptइंटरनेट से नवीनतम पैकेज प्राप्त करने का प्रयास करेंगे, भले ही पुराने पैकेज स्थानीय स्तर पर उपलब्ध हों। आपको /etc/apt/sources.listयह सुनिश्चित करने की आवश्यकता हो सकती है कि यह स्थानीय पैकेजों को स्थापित करे।
Sayantankhan

@sayantankhan क्या आप दिखा सकते हैं कि आपके उत्तर में क्या दिखेगा? मैं पूछ रहा हूँ क्योंकि मैंने अपनी .deb फ़ाइल को कॉपी कर लिया है, /var/cache/apt/archives/लेकिन sudo apt-get update && sudo apt-get upgradeमुझे यह देखने या उस पैकेज को अपडेट / अपग्रेड करने की ज़रूरत नहीं है जो मुझे चाहिए। मुझे लगता है कि मुझे सूची को अपडेट करने की आवश्यकता है लेकिन मुझे यकीन नहीं है कि कैसे।
टॉड

1
@Todd मैंने इसे स्वयं नहीं किया है, लेकिन यहां एक तरीका है कि कोई उपयुक्त पैकेज प्राथमिकता को ओवररोड करे ।
सायंतनखाँ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.