"सुडो एप्ट-गेट अपडेट" क्या करता है?


512

मैं सोच रहा हूँ कि क्या sudo apt-get updateकरता है?

यह क्या अद्यतन करता है?

जवाबों:


549

संक्षेप में, 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 या इतने मिनट के भीतर संकेत नहीं देता है, इसलिए आपको केवल एक बार (या बिल्कुल नहीं) अपने पासवर्ड के लिए संकेत दिया जाएगा।


11
sudo apt-get updateजब भी हम पैकेज स्थापित करते हैं तो क्या हमें हमेशा कमांड चलाने की आवश्यकता होती है? अगर हम ऐसा नहीं करते तो नुकसान क्या है?
जॉनीक्यू

14
@ जॉनीक्यू यदि आप उस कमांड को नहीं चलाते हैं तो आपको एक आउट-ऑफ-डेट पैकेज स्थापित हो सकता है।
----

आह ऐसा लगता है जैसे यह सिर्फ एक सम्मेलन की बात है। इसलिए मैं मान रहा हूँ कि यह वास्तव में आवश्यक नहीं है, खासकर यदि आप केवल मूल आदेशों के साथ मूल पैकेजों का उपयोग कर रहे हैं जो आमतौर पर अपडेट नहीं होते हैं। मेरी स्थिति में समस्या यह है कि apt-get updateकुछ समय लगता है, यहां इंटरनेट अभी भी आदिम है।
जॉनीक्यू

2
@ जॉनीक्यू, यदि आपका एप्टीट्यूड अपडेट धीमा है, तो आपका एप्टीट्यूड डिस्टर्ब-अपग्रेड भी धीमा हो जाएगा, इसलिए यह एप्टीट्यूड अपडेट न करने का तर्क नहीं है। Btw, आप अपने apt-get अद्यतन को फोल्डर /etc/apt/sources.d/ पर देख कर यह देख सकते हैं कि क्या आपके पास कोई कस्टम रिपॉजिटरी जोड़ी गई है और उनमें से एक अनुत्तरदायी हो सकती है, जो पूरी प्रक्रिया को धीमा कर देगी।
म्लाडेन बी।

1
वैसे, "apt" का मतलब उन्नत पैकेजिंग टूल ( wiki.debian.org/Apt "APT क्या है?") है। दूसरे दिन मैंने कुछ सीखा, सोचा कि मैं साझा करूँगा। ("apt" अक्सर आदमी apt-get, man apt में प्रकट होता है, लेकिन मैंने पहले कभी भी संक्षिप्त रूप से विस्तार नहीं देखा था)।
jgreve

47

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पाएंगे ।


एलेक्स, क्या मैं मूल रूप से कमांड का उपयोग कर सकता हूं जैसे कि आप इसे डालते हैं: "apt-get update apt-get install <package>" मूल रूप से 2 चीजों को इस तरह से एक साथ 2 कमांड टाइप करने से ही प्रदर्शन किया जा सकता है?
एलिसीम

1
@Elysium हाँ, अगर आपके पास &&के रूप में उन दोनों के बीचsudo apt-get update&&sudo apt-get install foo bar baz
ζ--

7
उपयोग करने का &&अर्थ है कि दूसरा कमांड केवल तभी चलेगा जब पहला सफल होगा। यदि आप पहले कमांड की सफलता की परवाह नहीं करते हैं, तो ;इसके बजाय उपयोग करें ।
फ़्लिम

4
Google खोज ने मुझे इस प्रश्न / उत्तर की ओर ले गया। बस FYI;)
तेविएन्यू

19

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

संक्षेप में: इसे स्थापित करने से पहले चलाने के लिए अत्यधिक अनुशंसा की जाती है sudo apt-get update, लेकिन इसे छोड़ दिया जा सकता है यदि आप वास्तव में समय के लिए दबाए जाते हैं जब तक कि आपने अंतिम रूप से रिपॉजिटरी या पीपीए नहीं बदले हों apt-get update


13

यह आपके कंप्यूटर पर उपलब्ध सॉफ़्टवेयर सूची को अद्यतन करता है।

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

ध्यान दें कि updateअलग है upgrade। अपडेट, जैसा कि ऊपर उल्लेख किया गया है, उपलब्ध सॉफ़्टवेयर लाएगा और सूचियों को अपडेट upgradeकरेगा जबकि आपके कंप्यूटर पर स्थापित सॉफ़्टवेयर के नए संस्करण स्थापित करेगा (वास्तविक सॉफ़्टवेयर अपडेट)।

वास्तव में अपने सॉफ़्टवेयर को अपग्रेड करें (सूचियों को "अपडेट" नहीं), आप कमांड को निष्पादित करते हैं

sudo apt-get upgrade

जिसे आमतौर पर "अपडेट" के बाद निष्पादित किया जाता है।


sudo apt-get installतब के लिए क्या है ? सामान्य उन्नयन के बजाय विशेष पैकेज स्थापित करना?
पीटर मोर्टेंसन

12

apt-get updateनए पैकेज स्थापित करने से पहले आपको एक बार दौड़ना होगा क्योंकि यह स्थानीय रिपॉजिटरी जानकारी को अपडेट करता है। यदि आप एक-दूसरे के शीघ्र बाद कई पैकेज स्थापित करने जा रहे हैं, तो आपको चलाने की आवश्यकता नहीं है apt-get update। साथ ही, यदि आप टाइप करते हैं तो आप एक साथ कई पैकेज स्थापित कर सकते हैं sudo apt-get install package1 package2...


उसके लिए अच्छी ट्रिक!
इमर्सन हेसिह

6

जब आप कमांड लाइन से पैकेजों को sudo apt-get install ...(या sudo aptitude install ...) के साथ स्थापित करते हैं , या जब आप उन्हें कमांड लाइन (साथ upgradeया dist-upgradeइसके बजाय install) से अपग्रेड करते हैं , तो निम्न जानकारी आपके स्थानीय सिस्टम के कॉन्फ़िगरेशन से प्राप्त होती है, और इंटरनेट से नहीं :

  1. क्या पैकेज उपलब्ध हैं

  2. उनके कौन से संस्करण उपलब्ध हैं

  3. जहाँ उपलब्ध पैकेजों को पुनः प्राप्त किया जाना चाहिए

रनिंग sudo apt-get update(या sudo aptitude update) आपके स्थानीय सिस्टम पर इसे अपडेट करता है। यह वह चरण है जो वास्तव में पैकेजों को स्थापित करने के बारे में जानकारी प्राप्त करता है, जिसमें वर्तमान में स्थापित पैकेजों के लिए क्या अद्यतन शामिल हैं , इंटरनेट स्रोतों से उपलब्ध हैं

जब आप GUI इंटरफ़ेस (अपडेट मैनेजर, सॉफ़्टवेयर सेंटर, या सिनैप्टिक पैकेज मैनेजर) के साथ पैकेज स्थापित करते हैं, तो इसका काम sudo apt-get updateअपने आप हो जाता है। जब आप कमांड-लाइन से पैकेज स्थापित करते हैं, तो यह नहीं है, और आपको हमेशा ऐसा स्वयं करना चाहिए जब तक कि आपने हाल ही में ऐसा नहीं किया हो

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

कृपया ध्यान दें कि यदि आप एक ही समय में कई पैकेज प्रबंधन संचालन करने जा रहे हैं, तो आपको sudo apt-get updateहर एक से पहले चलने की आवश्यकता नहीं है । यह केवल तभी है जब जानकारी को कुछ समय के लिए अपडेट नहीं किया गया है, जिसे आपको इसे चलाने के लिए सुनिश्चित करना चाहिए।


4

जैसा कि एलियाह कगन ने ऊपर उल्लेख किया है, आप उम्मीद करेंगे कि GUI एप्लिकेशन / apt-get updateसे पहले चलेगा , लेकिन मैंने अपेक्षाकृत नई आक्रामक सुरक्षा वीएम मशीन पर एक दिलचस्प त्रुटि 404 की खोज की, जो मुझे एक मिनट के लिए रोक दिया गया था।apt-get installapt-get upgrade

कमांड लाइन से, मैं भागा apt-get update, और फिर सिस्टम टूल / सॉफ़्टवेयर-अपडेट कमांड को फिर से आज़माया, और इस बार यह 404 त्रुटियों के साथ नहीं चला।

तो, मुझे लगता है कि आप हमेशा यह नहीं मान सकते हैं कि apt-get updateजीयूआई अनुप्रयोगों से चलाया जाता है ...


दिलचस्प ... आपके और सर्वर के बीच कुछ असामान्य नेटवर्किंग स्थिति हो सकती है जो apt-getसॉफ्टवेयर अपडेटर / अपडेट मैनेजर द्वारा चलाए गए स्वचालित चेक की तुलना में आपके द्वारा चलाए जाने पर बेहतर तरीके से नियंत्रित होती है ? क्या आप एक HTTP प्रॉक्सी का उपयोग करते हैं? और क्या आप इसे फिर से बनाने में सक्षम हैं, या यह सिर्फ एक बार हुआ है? यदि यह एक पृथक विसंगति है, तो मुझे आश्चर्य होता है कि शायद यह समस्या एक अस्थायी सर्वर ग़लतफ़हमी के कारण है। आप किस दर्पण का उपयोग करते हैं? अधिक जानकारी के साथ, शायद मैं अपने उत्तर को बेहतर बना सकूं। (Btw, यह एक अलग जवाब के रूप में इरादा है, या यह एक टिप्पणी में परिवर्तित किया जाना चाहिए?)
एलियाह कगन

3

जैसा कि मेरे सामने बहुत से लोगों ने कहा है कि यह आपकी स्थानीय रिपॉजिटरी (पैकेज सूची) को अपडेट करता है।

यदि आप स्थापित करने का प्रयास करते हैं तो आप परेशानी में पड़ सकते हैं

apt-get install foobar

और फ़ॉबर या निर्भरता का भंडार में उनका नवीनतम संस्करण नहीं है। यह विशेष रूप से समस्याग्रस्त हो सकता है अगर एक .deb फ़ाइल को मैन्युअल रूप से या किसी 3 पार्टी से एक ppa स्थापित किया जाए।

मूल रूप से यह सुनिश्चित करता है कि आपकी सूची मास्टर सूची से मेल खाती है ।


2

आइए उबंटू पर वीएलसी मीडिया प्लेयर स्थापित करने के उदाहरण पर विचार करें :

sudo apt-get update

यह उपलब्ध अपडेट के लिए रिपॉजिटरी की जांच करेगा।

जहाँ तक

sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc

VLC मीडिया प्लेयर रिपॉजिटरी से स्थापित करेगा जिसे हमने खोजा था।

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

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