जवाबों:
संक्षेप में, apt-get update
वास्तव में सॉफ्टवेयर के नए संस्करणों को स्थापित नहीं करता है। इसके बजाय, यह उन संकुल के उन्नयन के लिए संकुल सूचियों को अद्यतन करता है जिन्हें उन्नयन की आवश्यकता होती है, साथ ही नए संकुल जो अभी-अभी रिपॉजिटरी में आए हैं।
apt-get update
रिपॉजिटरी से पैकेज सूचियों को डाउनलोड करता है और पैकेज के नवीनतम संस्करणों और उनकी निर्भरता के बारे में जानकारी प्राप्त करने के लिए उन्हें "अपडेट" करता है। यह सभी रिपॉजिटरी और पीपीए के लिए ऐसा करेगा। से http://linux.die.net/man/8/apt-get :
उनके स्रोतों से पैकेज इंडेक्स फ़ाइलों को फिर से सिंक्रनाइज़ करने के लिए उपयोग किया जाता है। उपलब्ध पैकेजों के अनुक्रमित
/etc/apt/sources.list
(5) में निर्दिष्ट स्थान से प्राप्त होते हैं । अद्यतन हमेशा अपग्रेड या डिस्ट-अपग्रेड से पहले किया जाना चाहिए।
apt-get upgrade
मशीन पर विद्यमान पैकेज के नए संस्करणों को लाएगा यदि APT इन नए संस्करणों के बारे में जानता है apt-get update
।
से http://linux.die.net/man/8/apt-get :
वर्तमान में सिस्टम में स्थापित सभी पैकेजों के नवीनतम संस्करणों को स्थापित करने के लिए उपयोग किया जाता है
/etc/apt/sources.list
(5) स्रोतों से । वर्तमान में उपलब्ध नए संस्करणों के साथ स्थापित पैकेज पुनः प्राप्त और उन्नत हैं; किसी भी परिस्थिति में वर्तमान में हटाए गए पैकेज स्थापित नहीं हैं, और न ही ऐसे पैकेज हैं जो पहले से ही पुनर्प्राप्त और स्थापित नहीं हैं। वर्तमान में स्थापित पैकेजों के नए संस्करण जिन्हें किसी अन्य पैकेज की इंस्टॉल स्थिति को बदले बिना अपग्रेड नहीं किया जा सकता है, उन्हें उनके वर्तमान संस्करण में छोड़ दिया जाएगा। [जोर मेरा] एक अद्यतन पहले किया जाना चाहिए ताकि apt-get को पता चले कि पैकेज के नए संस्करण उपलब्ध हैं।
apt-get dist-upgrade
वही काम करेगा जो इसके द्वारा किया जाता है apt-get upgrade
, साथ ही यह समझदारी से निर्भरता को भी संभालता है, इसलिए यह अप्रचलित पैकेजों को हटा सकता है या नए जोड़ सकता है। यहाँ देखें: "डिस्ट-अपग्रेड" क्या है और यह "अपग्रेड" से अधिक अपग्रेड क्यों करता है?
से http://linux.die.net/man/8/apt-get :
उन्नयन के कार्य को करने के अलावा, यह विकल्प समझदारी से संकुल के नए संस्करणों के साथ बदलती निर्भरता को भी संभालता है; apt-get में "स्मार्ट" संघर्ष रिज़ॉल्यूशन सिस्टम है, और यह आवश्यक होने पर कम महत्वपूर्ण लोगों की कीमत पर सबसे महत्वपूर्ण पैकेज को अपग्रेड करने का प्रयास करेगा।
/etc/apt/sources.list
(5) फ़ाइल है जहाँ से वांछित पैकेज फ़ाइलों को पुनः प्राप्त करने के लिए स्थानों की एक सूची में शामिल है। अलग-अलग पैकेजों के लिए सामान्य सेटिंग्स को ओवर-राइड करने के लिए एक तंत्र के लिए apt_preferences (5) भी देखें।
आप &&
निम्नानुसार आदेशों को जोड़ सकते हैं :
sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg
या निर्भरता की संस्करण आवश्यकताओं के अनुसार संभव नवीनतम संस्करण प्राप्त करने के लिए:
sudo apt-get update && sudo apt-get dist-upgrade
आपको sudo
दोनों समय की आवश्यकता है, लेकिन चूंकि sudo
डिफ़ॉल्ट रूप से आपको अंतिम sudo
ऑपरेशन के बाद 5 या इतने मिनट के भीतर संकेत नहीं देता है, इसलिए आपको केवल एक बार (या बिल्कुल नहीं) अपने पासवर्ड के लिए संकेत दिया जाएगा।
apt-get update
कुछ समय लगता है, यहां इंटरनेट अभी भी आदिम है।
Google खोज आपको लगभग किसी भी टर्मिनल कमांड की परिभाषा दे सकती है, जैसे कि टर्मिनल में --help। उदाहरण के लिए,
apt-get --help
sudo apt-get update
अनिवार्य रूप से तीन भाग हैं:
sudo
सुपर-उपयोगकर्ता (रूट) क्षमताओं के साथ निम्न कमांड करता है। सिस्टम फ़ाइलों को संशोधित करने या अनुप्रयोगों को स्थापित करने के लिए आवश्यक कई क्रियाओं को गुजरने के लिए अतिरिक्त अनुमतियों की आवश्यकता होती है।
apt-get
एक कमांड लाइन टूल है जो उबंटू सॉफ्टवेयर पैकेजों को स्थापित करने, हटाने और प्रबंधित करने के लिए उपयोग करता है
update
apt-get प्रोग्राम का उपयोग करने के लिए एक विकल्प है जो इंटरनेट पर एक सर्वर से पैकेज सूचियों को अद्यतन करता है। संकुल सूचियाँ apt-get उपयोगिता प्रदान करती हैं जो कि सॉफ़्टवेयर संकुल के बारे में महत्वपूर्ण जानकारी के साथ जिसे आप apt-get का उपयोग करके स्थापित कर सकते हैं। apt-get इन सूचियों का उपयोग यह निर्धारित करने के लिए करता है कि कौन सा सॉफ़्टवेयर स्थापित करने के लिए कब दिया जाए। उदाहरण के लिए
sudo apt-get install guake
यह वर्तमान में मेरे कंप्यूटर की स्थानीय सॉफ़्टवेयर सूचियों में सूचीबद्ध होने के कारण गुएक टर्मिनल स्थापित करेगा। हालांकि, यह उपयुक्त संस्करण नहीं हो सकता है, या यदि कार्यक्रम नया है, तो यह बिल्कुल भी उपलब्ध नहीं हो सकता है। इस प्रकार, एप्टीट-गेट के साथ सॉफ़्टवेयर स्थापित करते समय, आप आमतौर पर टाइप करते हैं
sudo apt-get update
sudo apt-get install <package>
यह सुनिश्चित करना कि apt-get पैकेज के सबसे हाल के संस्करण को स्थापित करना जानता है।
जानकारी के लिए एक अन्य उपयोगी स्रोत help.ubuntu.com
साइट है। उदाहरण के लिए, यदि आपने उस साइट को खोजा है तो आप AptGet / Howto को परिणामों में से एक के रूप में apt-get
पाएंगे ।
&&
के रूप में उन दोनों के बीचsudo apt-get update&&sudo apt-get install foo bar baz
&&
अर्थ है कि दूसरा कमांड केवल तभी चलेगा जब पहला सफल होगा। यदि आप पहले कमांड की सफलता की परवाह नहीं करते हैं, तो ;
इसके बजाय उपयोग करें ।
रनिंग sudo apt-get update
बस सुनिश्चित करता है कि सभी रिपॉजिटरी और पीपीए से आपके पैकेज की सूची अद्यतित है। यदि आप इस आदेश को नहीं चलाते हैं, तो आप विभिन्न पैकेजों के पुराने संस्करण प्राप्त कर सकते हैं जिन्हें आप स्थापित कर रहे हैं, या इससे भी बदतर, निर्भरता के मुद्दे। यदि आपने अभी PPA जोड़ा है और अद्यतन नहीं किया है, तो PPA से कुछ भी काम नहीं करेगा क्योंकि आपके पास उस PPA या रिपॉजिटरी से पैकेज सूची नहीं है।
संक्षेप में: इसे स्थापित करने से पहले चलाने के लिए अत्यधिक अनुशंसा की जाती है sudo apt-get update
, लेकिन इसे छोड़ दिया जा सकता है यदि आप वास्तव में समय के लिए दबाए जाते हैं जब तक कि आपने अंतिम रूप से रिपॉजिटरी या पीपीए नहीं बदले हों apt-get update
।
यह आपके कंप्यूटर पर उपलब्ध सॉफ़्टवेयर सूची को अद्यतन करता है।
आपके कंप्यूटर में एक सूची (एक कैटलॉग की तरह) होती है जिसमें सभी उपलब्ध सॉफ़्टवेयर होते हैं जो उबंटू सर्वर उपलब्ध होते हैं। लेकिन उपलब्ध सॉफ़्टवेयर और संस्करण बदल सकते हैं, इसलिए एक "अपडेट" सर्वर से टकराएगा और देखेगा कि अपनी स्थानीय सूचियों (या कैटलॉग) को अपडेट करने के लिए कौन सा सॉफ़्टवेयर उपलब्ध है।
ध्यान दें कि update
अलग है upgrade
। अपडेट, जैसा कि ऊपर उल्लेख किया गया है, उपलब्ध सॉफ़्टवेयर लाएगा और सूचियों को अपडेट upgrade
करेगा जबकि आपके कंप्यूटर पर स्थापित सॉफ़्टवेयर के नए संस्करण स्थापित करेगा (वास्तविक सॉफ़्टवेयर अपडेट)।
वास्तव में अपने सॉफ़्टवेयर को अपग्रेड करें (सूचियों को "अपडेट" नहीं), आप कमांड को निष्पादित करते हैं
sudo apt-get upgrade
जिसे आमतौर पर "अपडेट" के बाद निष्पादित किया जाता है।
sudo apt-get install
तब के लिए क्या है ? सामान्य उन्नयन के बजाय विशेष पैकेज स्थापित करना?
apt-get update
नए पैकेज स्थापित करने से पहले आपको एक बार दौड़ना होगा क्योंकि यह स्थानीय रिपॉजिटरी जानकारी को अपडेट करता है। यदि आप एक-दूसरे के शीघ्र बाद कई पैकेज स्थापित करने जा रहे हैं, तो आपको चलाने की आवश्यकता नहीं है apt-get update
। साथ ही, यदि आप टाइप करते हैं तो आप एक साथ कई पैकेज स्थापित कर सकते हैं
sudo apt-get install package1 package2...
जब आप कमांड लाइन से पैकेजों को sudo apt-get install ...
(या sudo aptitude install ...
) के साथ स्थापित करते हैं , या जब आप उन्हें कमांड लाइन (साथ upgrade
या dist-upgrade
इसके बजाय install
) से अपग्रेड करते हैं , तो निम्न जानकारी आपके स्थानीय सिस्टम के कॉन्फ़िगरेशन से प्राप्त होती है, और इंटरनेट से नहीं :
क्या पैकेज उपलब्ध हैं
उनके कौन से संस्करण उपलब्ध हैं
जहाँ उपलब्ध पैकेजों को पुनः प्राप्त किया जाना चाहिए
रनिंग sudo apt-get update
(या sudo aptitude update
) आपके स्थानीय सिस्टम पर इसे अपडेट करता है। यह वह चरण है जो वास्तव में पैकेजों को स्थापित करने के बारे में जानकारी प्राप्त करता है, जिसमें वर्तमान में स्थापित पैकेजों के लिए क्या अद्यतन शामिल हैं , इंटरनेट स्रोतों से उपलब्ध हैं ।
जब आप GUI इंटरफ़ेस (अपडेट मैनेजर, सॉफ़्टवेयर सेंटर, या सिनैप्टिक पैकेज मैनेजर) के साथ पैकेज स्थापित करते हैं, तो इसका काम sudo apt-get update
अपने आप हो जाता है। जब आप कमांड-लाइन से पैकेज स्थापित करते हैं, तो यह नहीं है, और आपको हमेशा ऐसा स्वयं करना चाहिए जब तक कि आपने हाल ही में ऐसा नहीं किया हो ।
क्योंकि पैकेज के अपडेट किए गए संस्करण के बारे में जानकारी उपलब्ध है sudo apt-get update
(या sudo aptitude update
) चलाने के द्वारा प्राप्त की जाती है, किसी भी पैकेज को स्थापित करने से पहले इसे चलाने की सलाह दी जाती है, और नवीनतम अपडेट को स्थापित करने के लिए इसे चलाने के लिए आवश्यक है, भले ही आपने कोई सॉफ़्टवेयर जोड़ा या हटाया न हो। स्रोत (जैसे PPA) ।
कृपया ध्यान दें कि यदि आप एक ही समय में कई पैकेज प्रबंधन संचालन करने जा रहे हैं, तो आपको sudo apt-get update
हर एक से पहले चलने की आवश्यकता नहीं है । यह केवल तभी है जब जानकारी को कुछ समय के लिए अपडेट नहीं किया गया है, जिसे आपको इसे चलाने के लिए सुनिश्चित करना चाहिए।
जैसा कि एलियाह कगन ने ऊपर उल्लेख किया है, आप उम्मीद करेंगे कि GUI एप्लिकेशन / apt-get update
से पहले चलेगा , लेकिन मैंने अपेक्षाकृत नई आक्रामक सुरक्षा वीएम मशीन पर एक दिलचस्प त्रुटि 404 की खोज की, जो मुझे एक मिनट के लिए रोक दिया गया था।apt-get install
apt-get upgrade
कमांड लाइन से, मैं भागा apt-get update
, और फिर सिस्टम टूल / सॉफ़्टवेयर-अपडेट कमांड को फिर से आज़माया, और इस बार यह 404 त्रुटियों के साथ नहीं चला।
तो, मुझे लगता है कि आप हमेशा यह नहीं मान सकते हैं कि apt-get update
जीयूआई अनुप्रयोगों से चलाया जाता है ...
apt-get
सॉफ्टवेयर अपडेटर / अपडेट मैनेजर द्वारा चलाए गए स्वचालित चेक की तुलना में आपके द्वारा चलाए जाने पर बेहतर तरीके से नियंत्रित होती है ? क्या आप एक HTTP प्रॉक्सी का उपयोग करते हैं? और क्या आप इसे फिर से बनाने में सक्षम हैं, या यह सिर्फ एक बार हुआ है? यदि यह एक पृथक विसंगति है, तो मुझे आश्चर्य होता है कि शायद यह समस्या एक अस्थायी सर्वर ग़लतफ़हमी के कारण है। आप किस दर्पण का उपयोग करते हैं? अधिक जानकारी के साथ, शायद मैं अपने उत्तर को बेहतर बना सकूं। (Btw, यह एक अलग जवाब के रूप में इरादा है, या यह एक टिप्पणी में परिवर्तित किया जाना चाहिए?)
जैसा कि मेरे सामने बहुत से लोगों ने कहा है कि यह आपकी स्थानीय रिपॉजिटरी (पैकेज सूची) को अपडेट करता है।
यदि आप स्थापित करने का प्रयास करते हैं तो आप परेशानी में पड़ सकते हैं
apt-get install foobar
और फ़ॉबर या निर्भरता का भंडार में उनका नवीनतम संस्करण नहीं है। यह विशेष रूप से समस्याग्रस्त हो सकता है अगर एक .deb फ़ाइल को मैन्युअल रूप से या किसी 3 पार्टी से एक ppa स्थापित किया जाए।
मूल रूप से यह सुनिश्चित करता है कि आपकी सूची मास्टर सूची से मेल खाती है ।
आइए उबंटू पर वीएलसी मीडिया प्लेयर स्थापित करने के उदाहरण पर विचार करें :
sudo apt-get update
यह उपलब्ध अपडेट के लिए रिपॉजिटरी की जांच करेगा।
जहाँ तक
sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc
VLC मीडिया प्लेयर रिपॉजिटरी से स्थापित करेगा जिसे हमने खोजा था।
यदि आपने रूट यूजर (प्रशासक) के रूप में लॉग इन किया है, तो आपको उपयोग करने की आवश्यकता नहीं है sudo
, क्योंकि आपके पास पहले से ही सुपर उपयोगकर्ता विशेषाधिकार हैं।
sudo apt-get update
जब भी हम पैकेज स्थापित करते हैं तो क्या हमें हमेशा कमांड चलाने की आवश्यकता होती है? अगर हम ऐसा नहीं करते तो नुकसान क्या है?