अद्यतन प्रबंधक (सॉफ़्टवेयर अपडेटर) के लिए कमांड लाइन क्या है?


25

जब मैं करता हूं

sudo apt-get update
sudo apt-get upgrade

कभी-कभी उबंटू GUI अपडेट मैनेजर में अभी भी कुछ आइटम बचे होंगे। उदाहरण के लिए "पूर्ण सामान्य लाइनुइन कर्नेल"।

मुझे पता है कि वहाँ भी है sudo apt-get dist-upgrade, लेकिन यह अन्य चीजों को छूता है।

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

EDIT: यह प्रश्न अपडेट मैनेजर को संदर्भित करता है जो नए संस्करणों (जैसे 16.04) में सॉफ्टवेयर अपडेटर के बराबर है, जैसा कि @ एलियाह कगन ने बताया है


उबंटू अपडेट-मैनेजर पैकेज खुला स्रोत है ताकि आप अपने उत्तर को खोजने के लिए स्रोत कोड के माध्यम से मछली पा सकें। मैंने त्वरित रूप से देखा, लेकिन मैंने उनके उन्नयन के तरीके के बारे में कुछ भी असामान्य नहीं देखा।

यह मेरे लिए कुछ शोध के बाद स्पष्ट नहीं है कि एक सीधा समकक्ष है, लेकिन एक बहुत ही ज्ञानवर्धक उत्तर है जो कि एप-गेट और एप्टीट्यूड के बीच का अंतर बताता है । मेरा अनुमान है कि अपडेट मैनेजर इस तरह से उपयुक्त है कि इसमें नियमों का थोड़ा और विशिष्ट सेट है, जो इसे अपडेट करने के लिए उपयोग करता है, सिवाय इसके कि apt-get updateइसके नियम कुछ विशेष मामलों में नए पैकेज स्थापित करने की अनुमति देता है, जैसे कर्नेल अपडेट। उम्मीद है कि कोई और जानकार
cha5on

3
मुझे पूरा यकीन है कि इसका जवाब है apt-get dist-upgrade। आपका क्या मतलब है, "जो अन्य चीजों को छूता है"?
फ्लिम

जवाबों:


22

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

रनिंग apt-get upgradeउन पैकेजों को अपग्रेड करेगा जिन्हें अपग्रेड किया जा सकता है:

  • किसी भी पैकेज को स्थापित किए बिना जो पहले से ही कुछ संस्करण में स्थापित नहीं हैं , और
  • बिना किसी पैकेज को हटाए।

अपडेट मैनेजर इन दोनों चीजों को करने में सक्षम है, इसलिए apt-get dist-upgradeइसके काफी करीब है।

  • रनिंग sudo apt-get dist-upgrade, अपने आप से, अपने उबंटू सिस्टम को नए रिलीज़ में अपग्रेड नहीं करेगा। वास्तव में, डेबियन के विपरीत, एक नई रिलीज़ के लिए अपग्रेड करने का एक समर्थित तरीका apt-get dist-upgradeनहीं है । डेबियन में (और उबंटू में, हालांकि यह कभी-कभी विफल हो सकता है और असमर्थित है), अगले रिलीज के लिए रिपॉजिटरी में सूचीबद्ध सभी रिपॉजिटरी को बदलकर और अगले रिलीज के लिए अपग्रेड करने का प्रयास करेगा।/etc/apt/sources.listsudo apt-get dist-upgrade

क्योंकि apt-get dist-upgradeपैकेज को हटा सकते हैं (और नए पैकेज स्थापित कर सकते हैं जो आप नहीं चाहते हैं), यह हमेशा दबाने से पहले क्या करना है, इसके विवरण के माध्यम से देखना सबसे अच्छा है y

इसलिए जब दौड़ना sudo apt-get -y upgradeआम तौर पर उचित होता है, तो -yध्वज का उपयोग शायद ही कभी किया जाना चाहिए dist-upgrade

कारण आप नहीं मिलता है नया कर्नेल संस्करणों के साथ sudo apt-get upgradeहै क्योंकि वे एक अलग, अलग नाम संकुल द्वारा प्रदान की जाती है। (कर्नेल संस्करण नाम से अलग है।) यह एक नए कर्नेल के साथ स्थापित पुराने कर्नेल को रखने की सुविधा है (और GRUB मेनू में उनके बीच चयन करने में सक्षम है)।

स्थापना के लिए नए कर्नेल पैकेजों की स्वचालित पेशकश एक स्थापित रूपक (जैसे linux-image-generic) होने से पूरी होती है। जब आपके उबंटू रिलीज़ के लिए एक नया कर्नेल निकलता है, तो आपका कर्नेल मेटाफ़ेज अपग्रेड हो जाता है और उस मेटाफ़ैकेज के लिए उन्नत संस्करण नए कर्नेल को एक निर्भरता के रूप में सूचीबद्ध करता है (पुराने कर्नेल को स्थापित होने से रोकने के बिना)।

यदि आप उपयोग नहीं करना चाहते हैं sudo apt-get dist-upgrade, तो आप हमेशा अलग-अलग पैकेजों को मैन्युअल रूप से अपग्रेड कर सकते हैं जो कि आपके चलने पर वापस आयोजित किए जाते हैं sudo apt-get upgrade। ऐसा करने के लिए, उन्हें "इंस्टॉल करें" :।sudo apt-get install packagename


1
"अपडेट मैनेजर इन दोनों चीजों को करने में सक्षम है, इसलिए एप्ट-गेट डिस्ट-अपग्रेड इसके काफी करीब है।" - संदर्भ में बहुत अस्पष्ट है।
मैट

7

यदि आप कमांड लाइन से सॉफ़्टवेयर अपडेट विंडो खोलना चाहते हैं (जो कि मैं आपको इकट्ठा कर रहा था, तो ज्यादातर इसलिए कि मैंने इसे खोजा और यहीं समाप्त हो गया क्योंकि यह मेरा लक्ष्य है) अपने आप को जड़ देने के लिए जीयूआई खिड़की तक पहुंच (मेरे पास एक अनुमति समस्या थी जो इसे हटाने से करने की कोशिश कर रही थी)

sudo update-manager

यदि मैं प्रश्न को ठीक से समझता हूं, तो @questionreality का उत्तर सही है, कम से कम इसने मेरे लिए काम किया। केवल एक चीज यह है कि विंडो प्रॉम्प्ट के बिना अपडेट को कैसे आगे बढ़ाया जाए? मेरा मतलब है, विशुद्ध रूप से कमांड लाइन ऑपरेशन?
नाइटकोड

1

मुझे सिर्फ यह जवाब मिला लेकिन स्रोत को खो दिया इसलिए मैं इसका श्रेय नहीं ले सकता ...

नीचे दिया गया कमांड उस पैकेज को स्थापित करेगा जिसमें कर्नेल एक निर्भरता के रूप में है और इसलिए आपके कर्नेल को इसे करने के लिए सही चुनने का अद्यतन करेगा।

मेरे 14.4 इंस्टॉलेशन को कर्नेल को छोड़कर 14.10 में अपग्रेड किया गया था। मेरे मामले में, कर्नेल 3.13.x से 3.16.x तक अपडेट किया गया है, हालांकि यह संभव है कि 3.13.0.x संस्करणों में अपडेट हो सकता है। जाहिरा तौर पर 3.13 हालांकि एलटीएस कर्नेल नहीं था।

sudo apt-get install linux-image-generic

1
यदि इस उत्तर पर नकारात्मक वोट करने वाले व्यक्ति के पास "क्यों" कहने के लिए कुछ बुनियादी शिष्टाचार थे, तो मेरे जैसे लिनक्स सीखने वालों को यह जानने में मदद मिलेगी कि यह गलत क्यों है।
क्लेन डिसिल्वा

0

गलत जगह गलत है, लेकिन मेरा मानना ​​है कि आप करना चाहते हैं:

apt-get -f install

यह बकाया निर्भरता को साफ करेगा


1
धन्यवाद। हालांकि यह प्रतीत नहीं होता है। मैंने apt-get -f installतब अपडेट किया और फिर से अपग्रेड किया, फिर मैनेजर गुई पर जाएं और चेक करें, फिर भी आइटम।

0

aptकमांड लाइन उपयोगिताओं के रूप में उनके gui समतुल्य (अर्थात् software updater) के रूप में आराम के सटीक स्तर प्रदान नहीं करते हैं । जबकि एक apt-get dist-upgradeउन्नयन के थोक का ख्याल रखेगा, यह कहना है कि डाउनलोड और नए पैकेजों की स्थापना, यह ubuntu (या डेबियन) की एक नई रिलीज के अस्तित्व का पता नहीं लगाएगा, जो कि ubuntu gui उपयोगिता करेगी। अनुपलब्ध भाग को संपादित करना है /etc/apt/sources.list(या संबंधित फ़ाइलों में /etc/apt/sources.list.d/- लेकिन आपके पास शायद ये नहीं हैं), यह बताने के लिए aptकि नई रिलीज़ मौजूद है, और जहां रिपॉजिटरी हैं।

उदाहरण के लिए, ए के लिए dist-upgrade से utopic को ज्वलंत , आप खोल सकते /etc/apt/sources.listहैं, और एक त्वरित खोज करते हैं और की जगह ले utopicकरने के लिए vivid, और फिर चलाने dist-upgradeCLI आदेश। उस फ़ाइल में लाइनों को डुप्लिकेट करने के लिए एक सुरक्षित पथ हो सकता है, और केवल इन डुप्लिकेट की गई पंक्तियों पर खोज और प्रतिस्थापित करें, इस प्रकार यूटोपिक रिपॉजिटरी रखते हुए।

अधिक जानकारी के लिए, मैं उस आदमी पृष्ठ से परामर्श करने का सुझाव देता हूं sources.listजिस पर फ़ाइल प्रारूप का वर्णन है, और इसे कैसे संपादित किया जाए।

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