जवाबों:
नहीं, वे एक समान नहीं हैं। apt-get upgrade
संस्करणों के बीच बदलती निर्भरता को संभाल नहीं करता है, इसलिए यदि पैकेज में निर्भरता बदल गई है, तो इसे अपग्रेड नहीं किया जाएगा (यह "वापस आयोजित किया जाएगा")। अधिक विवरण के लिए लंबा उत्तर देखें।
सॉफ़्टवेयर अपडेटर का उपयोग करना और उपयोग करना sudo apt-get update ; sudo apt-get dist-upgrade
(नोट करना dist-
) लगभग बराबर होगा, सिवाय इसके कि एक जीयूआई और दूसरे का कंसोल एप्लिकेशन और कुछ बहुत ही मामूली सूचनात्मक अंतर।
से man apt-get
,
apt-get upgrade
:
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.
(मेरे द्वारा जोर देकर)
इसका मतलब यह है कि पुराने संस्करण में आवश्यक नई निर्भरता वाले पैकेज के नए संस्करण को इस पद्धति के साथ अपग्रेड नहीं किया जाएगा (जब तक कि नई निर्भरता पहले से स्थापित नहीं थी)। इन्हें "हेल्ड बैक" के रूप में दिखाया जाएगा।
apt-get dist-upgrade
:
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. The dist-upgrade
command may therefore 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.
(मेरे द्वारा जोर देकर)
इसका मतलब यह है कि इस कमांड के बजाय upgrade
, नए (या हटाए गए) निर्भरता वाले पैकेज अपग्रेड किए जा सकते हैं।
दोनों के बीच अंतर का एक अच्छा उदाहरण है जब एक नया लिनक्स कर्नेल जारी किया जाता है। यह पैकेज में पैक किया गया linux-image-generic
है जो हमेशा लिनक्स कर्नेल के नवीनतम पैकेज पर निर्भर करता है। क्योंकि linux-image-generic
प्रत्येक कर्नेल उन्नयन के साथ परिवर्तन की निर्भरता , upgrade
इसे अपग्रेड नहीं करेंगे।
apt-get upgrade
आवश्यक है) को अपडेट करने के लिए रूट पासवर्ड की आवश्यकता नहीं होती है , तो apt-get
ऐसा नहीं कर सकते? ऐसा लगता है कि दोनों के बीच मौलिक रूप से कुछ अलग है।
यह लगभग समान है लेकिन बिल्कुल नहीं है। उदाहरण के लिए, जब कर्नेल अपडेट पेश किए जाते हैं, तो sudo apt-get update && sudo apt-get dist-upgrade
उन अपडेट को प्राप्त करने की आवश्यकता होती है।
sudo apt-get update && sudo apt-get upgrade
आपको बताएगा कि कुछ पैकेज वापस रखे गए हैं।
सॉफ़्टवेयर अपडेटर का उपयोग करने से सब कुछ सहज हो जाता है और आपको कुछ भी वापस दिखाई नहीं देगा।
apt
उपलब्ध के साथ , चरणबद्ध अपडेट ( पाबौक द्वारा उल्लिखित ) सॉफ्टवेयर अपडेटर और कमांड लाइन के साथ अद्यतन करने के बीच सबसे अधिक मुख्य अंतर है।इन दिनों, apt
उपयोगिता - जो तब मौजूद नहीं थी जब यह प्रश्न पोस्ट किया गया था, लेकिन संभवत: इस सवाल में शामिल किया गया होगा यदि यह था - apt-get
पैकेज के उन्नयन के लिए एक तेजी से लोकप्रिय विकल्प । वे समान हैं: एक ही पैकेज (जिसे भी कहा जाता है apt
) दोनों प्रदान करता है , और सब कुछ apt
कर सकते हैं, पारंपरिक apt-
उपयोगिताओं भी कर सकते हैं, हालांकि कुछ मामलों में आपको विशेष कॉन्फ़िगरेशन विकल्प पास करना होगा। लेकिन सॉफ्टवेयर अपडेटर की apt
तुलना में करीब है apt-get
। Software Updater की तरह, है नया संकुल स्थापित करने में सक्षम है जब एक मौजूदा पैकेज के नए संस्करण निर्भरता के रूप में उन्हें घोषणा की।sudo apt upgrade
इसलिए इन दिनों, जो उपयोगकर्ता इस अंतर से संबंधित हैं, वे sudo apt upgrade
इसके बजाय बस चल सकते हैं sudo apt-get upgrade
यदि वे चाहते हैं कि नई निर्भरता स्वचालित रूप से स्थापित हो। नतीजतन, सॉफ़्टवेयर अपडेटर की कुछ अपडेट में थोड़ी देरी करने की सुविधा, यह निर्धारित करने के लिए कि क्या वे जंगली में स्थिर हैं और यदि वे नहीं हैं तो सीमा क्षति, अब शायद सॉफ़्टवेयर अपडेटर का उपयोग करने और कमांड-लाइन पर अपडेट करने के बीच मुख्य अंतर है।
सॉफ़्टवेयर अपडेटर का यह व्यवहार चरणबद्ध नीति के कारण है । उस नीति को - सॉफ्टवेयर अपडेटर में लागू किया गया है, लेकिनapt-get
(या apt
) में नहीं - नीति पेश किए जाने के बाद से दो तरीकों के बीच एक बड़ा अंतर रहा है , और कुछ साल पहले पाबौक ने इस बारे में टिप्पणी की थी :
एक और अंतर है: PhasedUpdates का
apt-get
उपयोग नहीं करता है इसलिए कभी-कभी सॉफ़्टवेयर अपडेटर की तुलना में कम अपडेट दिखाता है । देखें कि सॉफ़्टवेयर अपडेटर क्यों कहता है कि कोई अपडेट उपलब्ध नहीं है, लेकिन उपयुक्त-अपग्रेड उपलब्ध अपडेट दिखाता है? ।apt-get
- पाबौक 25 फरवरी'15 को 7:34 पर
यह हमेशा सबसे महत्वपूर्ण अंतर हो सकता है, इसमें कोई भी हमेशा भाग सकता है sudo apt-get dist-upgrade
जब upgrade
नए पैकेजों को स्थापित करने या किसी अन्य को अनइंस्टॉल करने की कार्रवाई की अनिच्छा का सामना करना पड़ता है। हालाँकि, कमांड-लाइन से अपडेट करते समय, चरणबद्ध अपडेट का सापेक्ष महत्व इसके साथ बढ़ता है apt
:
apt-get
, apt
चरणबद्ध अद्यतन नीति के कारण देरी हो जाएगी भले ही सॉफ़्टवेयर अपडेटर का उपयोग किया गया था, भले ही कमांड अपडेट को डाउनलोड और इंस्टॉल करेगा।apt-get
, apt
कमांड की upgrade
कार्रवाई नए पैकेज स्थापित करेगी जो पहले स्थापित नहीं थे लेकिन नए पैकेज संस्करणों के लिए निर्भरता के रूप में आवश्यक हैं।इसके अलावा (ए) ग्राफिकल इंटरफेस पसंद करते हैं और (बी) अपडेट उपलब्ध होने पर इसकी डेस्कटॉप एकीकरण सूचना प्रदान करते हैं, मुख्य वर्तमान कारण सॉफ़्टवेयर अपडेटर का उपयोग कर सकता है जो चरणबद्ध अपडेट में भाग लेने का सबसे आसान तरीका है।
apt-get
उपयोग नहीं करता है इसलिए कभी-कभी सॉफ़्टवेयर अपडेटर की तुलना में कम अपडेट दिखाता है । देखें कि सॉफ़्टवेयर अपडेटर क्यों कहता है कि कोई अपडेट उपलब्ध नहीं है, लेकिन उपयुक्त-अपग्रेड उपलब्ध अपडेट दिखाता है? ।apt-get