क्या प्रत्येक पैकेज की स्थापना से पहले “sudo apt-get update” अनिवार्य है?


21

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

जवाबों:


20

उबंटू की आपकी कॉपी में उबंटू के रिपॉजिटरी में मौजूद पैकेज की सूची की एक निजी प्रति है। जब आप एक पैकेज स्थापित करते हैं, apt-getतो सूची को पढ़ता है और डाउनलोड करने के लिए पैकेज का URL निर्धारित करता है (जिसमें आमतौर पर पैकेज संस्करण की जानकारी होती है)।

apt-get updateपैकेज सूचियों को अद्यतन करता है। यदि आप किसी इंस्टॉलेशन से पहले ऐसा नहीं करते हैं, तो apt-getशिकायत कर सकते हैं कि यह रिपॉजिटरी में पैकेज नहीं ढूंढ सकता है, क्योंकि यह सूची के पुराने संस्करण (जो पैकेज के पुराने संस्करण को सूचीबद्ध करता है) के आधार पर URL की गणना करता है।

बेशक, apt-get updateरिपॉजिटरी बदलने के बाद आवश्यक है, क्योंकि सिस्टम को नए रिपॉजिटरी के लिए सूची डाउनलोड करने की आवश्यकता है।

इंस्टॉल किए गए पैकेजों को अपग्रेड करने से पहले यह आवश्यक है, क्योंकि सिस्टम को पता नहीं चल सकता है कि रेपो के पास पैकेज का नया संस्करण है या नहीं, जब तक कि उसके पास पैकेज सूची की अप-टू-डेट कॉपी न हो।

apt-get updateपैकेज स्थापित करने से पहले नहीं चलने का कोई कारण नहीं है । हालाँकि, यह आवश्यक नहीं है, यदि आप जानते हैं कि उस पैकेज का कोई नया संस्करण और उसकी निर्भरता अंतिम के बाद से दर्पणों पर उपलब्ध नहीं कराई गई है apt-get update। इसका एक विशेष मामला यह है जब पैकेज सूचियां अद्यतित होती हैं, जो कि अंतिम समय से काफी कम समय के बाद होती है apt-get update; इसका मतलब यह है कि दर्पण पर सभी पैकेज उसी संस्करण हैं जो वे थे।

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


"पैकेज सूचियां अद्यतित हैं (जो कि अंतिम apt-get अपडेट के बाद काफी कम समय के बाद है" - एक समय कैसे? कितनी बार पैकेज सूचियाँ बदली जाती हैं? पैकेज सूचियाँ क्या बदल सकती हैं?
joshreesjones

@ mathguy54 उत्तर अपडेट किया गया। व्यवहार में, जब भी मुझे 404 त्रुटियां मिलती हैं तो मैं एप-प्राप्त अपडेट चलाता हूं (पैकेज डाउनलोड करते समय "फाइल नहीं मिली")।
इग्निस

"उबंटू के संकुल की सूची की एक निजी प्रति है जो उबंटू के भंडार में है" - यह सूची कहाँ है? मैं इसे पढ़ना चाहूंगा। बढ़िया जानकारी के लिए शुक्रिया।
joshreesjones

@ mathguy54 आप पाठ संपादक *_Packagesके /var/lib/apt/lists/साथ समाप्त होने वाली फ़ाइलों को पढ़ सकते हैं , हालांकि आमतौर पर पैकेज प्रबंधन टूल के साथ एक और अधिक उन्नत खोज करते हैं, उदाहरण के लिएapt-cache show/policy/etc.
इग्निस

3

आप नहीं है absolutly आप एक पैकेज स्थापित करने से पहले अद्यतन आदेश का उपयोग करने की जरूरत है, लेकिन आप एक पैकेज के तुरंत बाद आप इसे स्थापित उन्नयन अंत सकता है यदि आप ऐसा नहीं करते।

इसके अलावा, ध्यान रखें कि आपको अपने सिस्टम को नियमित रूप से अपडेट करने की आवश्यकता है। यदि आप अपने कंप्यूटर को जोखिम में नहीं रखते हैं (आपके पास नवीनतम सुरक्षा पैच नहीं होंगे)।


3

यदि आपने केवल एक सॉफ़्टवेयर रिपॉजिटरी (PPA या डेबियन रिपॉजिटरी) जोड़ी है, तो आपको apt-get updateरिपॉजिटरी को अपवित्र करने के लिए दौड़ना होगा और आवश्यक रूप से उपलब्ध सॉफ़्टवेयर की सूची में किसी भी पैकेज को जोड़ना होगा। अन्यथा, APT आपके द्वारा इंस्टॉल किए गए पैकेज के नाम को नहीं पहचानेगा।

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

यदि आप सॉफ़्टवेयर को स्थापित या अपग्रेड करने की चित्रमय विधि का उपयोग करते हैं, उदाहरण के लिए, क्रमशः Ubuntu सॉफ्टवेयर सेंटर या अपडेट मैनेजर, तो ये क्लाइंट स्वचालित रूप से संकुल के नवीनतम संस्करणों के लिए जाँच करेंगे।

यह कहा जा रहा है, यदि आप सॉफ्टवेयर का एक बैच स्थापित कर रहे हैं और कुछ मिनट पहले या कुछ घंटे पहले भी अपडेट चलाया है, तो संभावना है कि आपको नवीनतम संस्करण मिल जाएगा। हालाँकि, यदि आप उस सॉफ़्टवेयर के प्रकार को स्थापित कर रहे हैं जिसे बार-बार अपडेट किया जाता है (जैसे कि अल्फा / बीटा या ब्लीडिंग-एज सॉफ़्टवेयर), तो आप उस सॉफ़्टवेयर के रिपॉजिटरी से कुछ भी लाने से पहले अपडेट चलाना चाहेंगे।

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