कुछ समझा सकता है कि कमांड एप-गेट अपडेट क्या करता है और मुझे वास्तव में इसका उपयोग कब करना चाहिए?
apt-get update
सभी उपलब्ध पैकेजों और उनके सटीक संस्करणों को सूचीबद्ध करते हुए, वितरण के रिपॉजिटरी से अपडेट किए गए इंडेक्स को डाउनलोड करें।
उबंटू और डेबियन जैसे आम वितरण आमतौर पर रूढ़िवादी और पिछड़े अपने पैकेज प्रसाद में संगत होते हैं, इसलिए समय के साथ संस्करण बहुत अधिक नहीं बदलेंगे; सुरक्षा अपडेट या बग फिक्स के कारण वे बदल जाएंगे। उदाहरण के लिए, mysql को अपग्रेड किया जा सकता 5.7.18
है 5.7.19
लेकिन नहीं 6.x
।
पैकेज इंडेक्स कहाँ संग्रहीत किया जाता है? एक डेटाबेस पर? एक फाइल पर?
यह आमतौर पर एक या एक से अधिक फ़ाइलों में संग्रहीत होता है /var/lib/apt
। डॉकर के संदर्भ में, ये फाइलें छवि के अंदर हैं। डॉकरफाइल का निर्माण करते समय, वे फाइलसिस्टम की नई परतों में संग्रहित हो जाते हैं जो निर्मित हो जाती हैं और नव निर्मित छवि के रूप में बनी रहती हैं।
अगर मैं कैश को अपडेट किए बिना apt-get इंस्टॉल करूं तो क्या होगा?
आप उन पैकेज संस्करणों को डाउनलोड करने का प्रयास कर सकते हैं जो अब मौजूद नहीं हैं। वर्चुअल मशीनों पर यह काफी सामान्य है, लेकिन कंटेनरों के अंदर भी यह संभव है, अगर बेस इमेज बन जाने के बाद वितरण रिपॉजिटरी ने नए पैकेज जारी किए हैं। वितरण अनुरक्षकों और डॉकरीफाइल अनुरक्षकों के बीच कोई समन्वय नहीं हो सकता है, जो वितरण से नीचे की ओर हैं और संख्या में बड़ा हो सकता है। केवल एक डेबियन रिपॉजिटरी है, लेकिन हजारों- jessie
आधारित कंटेनर छवियां और डॉकरफाइल हैं।
इसके अलावा, ubuntu जैसी कुछ अपस्ट्रीम छवियां छवि को छोटा बनाने के लिए डाउनलोड किए गए सूचकांक को हटा देती हैं और वहां पुरानी फाइलों से बचती हैं। इसलिए यह अपेक्षित है कि एक अपडेटेड इंडेक्स को बेस इमेज के शीर्ष पर डाउनलोड किया जाना चाहिए, न कि बेस इमेज के प्रत्येक संस्करण के लिए लेटेस्ट इंडेक्स के साथ शिप करने के लिए।
क्या कोई मौका है कि दूरस्थ पैकेज मौजूद नहीं होगा और लिंक टूट जाएगा?
निश्चित रूप से, क्योंकि सूचकांक में संग्रहीत संस्करण बहुत सटीक हैं 5.7.19
(सरलीकरण; वे अधिक समान हैं 5.7.19-0ubuntu1
)।
क्या डिबेट रिपॉजिटरी के बारे में कुछ सहमत राजनीतिक है? उदाहरण के लिए, एक रिपॉजिटरी में केवल एक पैकेज का अंतिम संस्करण शामिल होना चाहिए, या इसके विपरीत इसमें विशिष्ट वितरण रिलीज के लिए सभी संस्करण उपलब्ध होने चाहिए?
अपडेट उपलब्ध होने के बाद पुराने लघु संस्करणों को जल्दी से हटा दिया जाना आम है; मुझे लगता है कि यह सर्वर पर जगह बचाने के लिए है क्योंकि बायनेरिज़ कई मेगाबाइट्स के कई टन का वजन कर सकते हैं, सभी संस्करणों और आर्किटेक्चर द्वारा समर्थित गुणा। तो आमतौर पर पिन करना, असंभव, mysql-5.7.18
बाद में कहना apt-get install
; mysql-5.7.19
वितरण में जारी होते ही पहले वाला हटा दिया जाएगा।
डॉकर के लिए निष्पक्ष होना, यह गैर-निर्धारकवाद apt-get update
एक मुद्दा है जिसे प्रत्येक वितरण के पैकेज प्रबंधन के हिस्से के रूप में लाया जाता है। आपको समान रूप से EC2 या वैग्रंट वर्चुअल मशीन बनाने की कोशिश करने में समस्या होगी।
कुछ सिस्टम एडमिनिस्ट्रेटर मूल रिपॉजिटरी को मिरर करने के लिए एपली जैसी सेवाओं का उपयोग करते हैं और किसी विशेष संस्करण को पिन करने में सक्षम होते हैं, लेकिन आप सुरक्षा अपडेट्स पर गायब होने का जोखिम तब तक चलाते हैं जब तक कि आपके पास अपडेट्स के परीक्षण के लिए एक अलग-अलग प्रक्रिया नहीं होती है और आप क्या बदलते हैं। पिन कर रहे हैं।