सवाल एपीटी-डिस्ट-अपग्रेड के बजाय एपीटी-अप अपग्रेड का उपयोग क्यों करें?


मैं आमतौर पर उपयोग करता हूं apt-get update && apt-get upgrade जीयूआई के बजाय मेरे अपडेट और अपग्रेड चलाने के लिए क्योंकि यह अधिक तेज़ी से चल रहा है।

हालांकि, मैंने हाल ही में देखा है कि मुझे अक्सर एक संदेश मिलता है कि मेरे उन्नयन में से एक वापस आयोजित किया गया था। मैं आमतौर पर चलाता हूं dist-upgrade इसे चलाने के लिए और यह ठीक काम करता है। जहां तक ​​मैं पढ़ने के बाद बता सकता हूं यह प्रश्न और इसके जवाब, dist-upgrade सभी एक ही चीजें और फिर कुछ करता है।

तो, मेरा सवाल है: क्यों उपयोग करें apt-get upgrade बिलकुल? क्यों उपयोग नहीं करते हैं apt-get dist-upgrade पुरे समय? क्यों करता है apt-get upgrade यहां तक ​​कि अस्तित्व में है?


271
2017-09-30 03:21


मूल


नए उबंटू संस्करणों में, sudo apt full-upgrade समान चीजें करता है। - Aaron Franke


जवाब:


मैं आमतौर पर अपनी मशीनों को अपग्रेड करता हूं:

sudo apt-get update && time sudo apt-get dist-upgrade

नीचे से एक अंश है man apt-getअपग्रेड का उपयोग नियम में रहता है: वर्तमान में किसी भी परिस्थिति में संकुल को हटाया नहीं गया है, या संकुल पहले से स्थापित नहीं हैं और स्थापित किए गए हैं। यदि यह आपके लिए महत्वपूर्ण है, तो उपयोग करें apt-get upgrade। यदि आप चीज़ें चाहते हैं कि "बस काम करें", तो आप शायद चाहें apt-get dist-upgrade निर्भरता सुनिश्चित करने के लिए हल कर रहे हैं।

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

upgrade
    upgrade is used to install the newest versions of all packages
    currently installed on the system from the sources enumerated in
    /etc/apt/sources.list. Packages currently installed with new
    versions available are retrieved and upgraded; under no
    circumstances are currently installed packages removed, or packages
    not already installed retrieved and installed. New versions of
    currently installed packages that cannot be upgraded without
    changing the install status of another package will be left at
    their current version. An update must be performed first so that
    apt-get knows that new versions of packages are available.

dist-upgrade
    dist-upgrade in addition to performing the function of upgrade,
    also intelligently handles changing dependencies with new versions
    of packages; apt-get has a "smart" conflict resolution system, and
    it will attempt to upgrade the most important packages at the
    expense of less important ones if necessary. So, dist-upgrade
    command may remove some packages. The /etc/apt/sources.list file
    contains a list of locations from which to retrieve desired package
    files. See also apt_preferences(5) for a mechanism for overriding
    the general settings for individual packages.

365
2017-12-06 17:02



न केवल दोनों के बीच मतभेदों को संक्षेप में दिखाने के लिए धन्यवाद, बल्कि उन परिस्थितियों को समझाते हुए जहां एक दूसरे से बेहतर हो सकता है। यह ठीक वही है जिसकी मुझे तलाश थी। - jimchristie
dist-upgrade बुरी चीजों को तोड़ने की संभावना अधिक है upgrade। upgrade सुनिश्चित करता है कि आपका सिस्टम पूरा हो गया है। - Braiam
यदि आप सड़क रोलर दृष्टिकोण लेने में सहज हैं (यानी आपके पास बॉक्स पर चलने वाला कोई महत्वपूर्ण महत्वपूर्ण सॉफ्टवेयर सॉफ़्टवेयर नहीं है) तो विस्ट-अपग्रेड विवादित पैकेज संस्करणों के साथ समस्याओं को ठीक करने की अधिक संभावना है। - Henno
'एपीटी-अप अपग्रेड' के बारे में एक छोटा सा सवाल इस तथ्य को दर्शाता है कि "वर्तमान में कोई भी संकुल हटाया गया नहीं है या नया जोड़ा गया है": मौजूदा पैकेजों को तदनुसार अपग्रेड किया जाए। उदाहरण के लिए oldA पुराने बी पर निर्भर करता है। क्या पुराने और पुराने बी को अपग्रेड किया जाएगा? अगर नया ए पुराने बी पर निर्भर करता है और नया नहीं, तो अपग्रेड के दौरान इन दोनों के साथ क्या होता है? दोनों अपग्रेड नहीं किए गए हैं या दोनों अपग्रेड किए गए हैं, जो नए ए को छोड़ सकता है काम नहीं कर रहा है क्योंकि पुराना बी खो गया है? - Kenny
उपयोग करने का कारण क्या है time यहाँ? - ItalyPaleAle


मुझे पता है कि इस सवाल का उत्तर दिया गया है और एक वर्ष पुराना है, लेकिन मुझे लगता है कि इसे कहा जाना चाहिए। उबंटू 14.04 और बाद में (और डेबियन जेसी और बाद में, Google से इसे ढूंढने वालों के लिए) एपीटी 1.0 का उपयोग करता है, जो कमांड को अनुमति देता है apt के बजाय apt-get तथा apt-cache कुछ परिचालनों के लिए।

  • apt-get upgrade स्थापित नहीं होगा (केवल संस्करण),
  • apt-get dist-upgrade अपग्रेड को पूरा करने के लिए आवश्यक संकुल को स्थापित या हटा देगा,
  • apt upgrade स्वचालित रूप से इंस्टॉल हो जाएगा लेकिन संकुल को हटा नहीं देगा।
  • apt full-upgrade जैसा ही कार्य करता है apt-get dist-upgrade

111
2017-07-22 05:22



@muru संपादन के लिए धन्यवाद और पूर्ण अपग्रेड के बारे में नोट। मैं मुख्य रूप से डेबियन 7 (जो प्री-एपीटी 1.0 है) का उपयोग करता हूं, और मैंने केवल डेबियन जेसी और उबंटू 14.04 के साथ खेला है। - Stephen Angelico
आपका स्वागत है। किसी के रूप में इस्तेमाल किया जाता है jessie और नियमित रूप से 14.04, मैंने पहले आपके उत्तर से इस नई उपयोगिता के बारे में सीखा! - muru
क्या आपके पास आपके विवरण के लिए एक स्रोत है apt upgrade? सब कुछ मैं साथ आ सकता हूं सुझाव देता है कि apt upgrade के समान है apt-get upgrade। उदाहरण के लिए, apt help upgrade मेरे सिस्टम आउटपुट पर: "apt upgrade" is equivalent to "sudo apt-get upgrade" - Jon Bentley
के लिए संबंधित प्रबंधन apt तथा apt-get निर्दिष्ट करें कि मैंने मूल रूप से क्या कहा था। - Stephen Angelico
apt safe-upgrade मेरे सिस्टम पर एक वैध संचालन नहीं है। यदि तुम्हारा मतलब aptitude safe-upgrade, काफी नहीं। apt-get upgrade संकुल को कभी भी इंस्टॉल नहीं करेगा, जबकि apt upgrade तथा aptitude safe-upgrade नए पैकेज स्थापित करेंगे क्योंकि निर्भरता इसकी मांग करते हैं। इसलिए aptitude safe-upgrade के बराबर है apt upgrade, नहीं apt-get upgrade। - Stephen Angelico


upgrade विकल्प केवल उन संकुल के नए संस्करण को स्थापित करता है जो सिस्टम पर पहले से स्थापित हैं (और हाँ, कर्नेल अद्यतन उनके हैं)।

हालांकि, कभी-कभी अद्यतन निर्भरता बदलते हैं: उदाहरण के लिए, पैकेज का एक नया संस्करण अब आपके द्वारा स्थापित लाइब्रेरी पर निर्भर नहीं होगा, या अतिरिक्त पुस्तकालयों की स्थापना की आवश्यकता होगी। upgrade विकल्प कभी भी स्थापित संकुल को हटा नहीं देगा जिसे आपको वास्तव में आवश्यकता नहीं है।

हालांकि dist-upgrade विकल्प निर्भरता प्रणाली में परिवर्तनों को "समझदारी से" संभाल सकता है। इसमें उन संकुल को निकालना शामिल है जो निर्भर नहीं हैं या निर्भरताओं में परिवर्तनों के कारण उत्पन्न होने वाले संकुलों के बीच संघर्ष हल करते हैं।


6
2017-09-30 06:17



हालांकि यह सही है, मुझे नहीं लगता कि यह सवाल का जवाब देता है। यदि हमारे पास एक "बुद्धिमान" विकल्प है जो निर्भरता में परिवर्तन को नियंत्रित कर सकता है और अव्यवस्था को हटा सकता है, तो हमेशा इसका उपयोग क्यों न करें? - ændrük
upgrade कभी भी नहीं होगा जोड़ना नए पैकेज जो बनना निर्भरताओं के रूप में आवश्यक है। से man apt-get: "वर्तमान में किसी भी परिस्थिति में संकुल को हटाया नहीं गया है, या संकुल पहले से स्थापित नहीं किए गए हैं और संस्थापित नहीं हैं" @ ændrük सिर्फ इसलिए कि कुछ "बुद्धिमान" है इसका मतलब यह नहीं है कि यह हमेशा वही करेगा जो उपयोगकर्ता चाहता है (या यहां तक ​​कि कुछ भी उचित है)। कभी भी एक सिस्टम अद्यतन हटा देगा एक पैकेज, यह देखने के लिए अच्छा है कि वाई दबाए जाने से पहले क्या कर रहा है। - Eliah Kagan


उपयोगकर्ता उन संकुलों पर भरोसा कर सकते हैं जो अन्य (स्पष्ट रूप से स्थापित) पैकेजों की निर्भरता के कारण पूरी तरह से स्थापित किए गए थे। इस प्रकार पैकेजिंग सिस्टम किसी उपयोगकर्ता / व्यवस्थापक की कुछ कार्यक्षमता को बनाए रखने की इच्छा से अवगत नहीं हो सकता है जिसे अन्यथा डिस्ट-अपग्रेड के माध्यम से हटाया जा सकता है।


2
2018-02-04 13:42





Win-Home उपयोगकर्ताओं को हमेशा "dist-upgrade" करने में कोई समस्या नहीं होनी चाहिए, लेकिन यदि आप जटिल सिस्टम चला रहे हैं, तो आप बेहतर "कभी भी (वास्तव में) चल रहे सिस्टम को नहीं बदलते" ... यहां तक ​​कि यदि कोई समस्या नहीं होनी चाहिए , वहां "जांच" हो सकती है - आपको क्या कटौती करेगा! आप वह होना चाहिए जिसने सही 2 निर्णय लिया हो ;-)


-4
2017-08-12 12:17



Should not be a problem for Win-Home Users to always "dist-upgrade" ..ऐसा क्यों है ? - heemayl
खैर, मान लें कि आपने उत्पादक वातावरण के लिए वर्कस्टेशन एक उबंटू-सर्वर स्थापित किया है: जब आप हमेशा और स्वचालित रूप से डिस्ट-अपग्रेड करते हैं तो आप शायद नियंत्रण नहीं ले सकते हैं, जब आपको समस्याएं मिलती हैं - भले ही आपके पास सही हल करने का समय न हो उस पल में एक स्वचालित डिस्ट अपग्रेड किया जाता है। कुछ विन्यासों को बंदरगाह के लिए "मानव" स्पर्श की आवश्यकता हो सकती है। यही वह है जिसे मैंने कई बार समाप्त कर दिया। जब आप Win-Home जैसे "होम" प्लेटफ़ॉर्म पर काम करते हैं, तो डिफ़ॉल्ट रूप से उपयोगकर्ता अपडेट को नियंत्रित करने के लिए सक्षम नहीं होता है। तो आप जो आपको परेशान नहीं कर सकते हैं। - Thorben Kaufmann