यम अद्यतन बनाम यम इंस्टॉल के बीच अंतर


20

rpmकमांड के साथ काम करते समय मैंने देखा कि अगर मैंने स्थापित किया some-package-1.0और फिर एक और rpm -ivh some-package-1.1दोनों पैकेजों को सूचीबद्ध किया, तो मुझे rpm -qa | grep some-packageनिम्न जैसा करना होगा:

some-package-1.0
some-package-1.1

हालाँकि, 1.1 को स्थापित करने के बजाय, अगर मैं मेरे द्वारा अपग्रेड करता rpm -Uvh some-package-1.1हूं तो मुझे एक ही पैकेज (1.1) का वांछित परिणाम मिलता है rpm -qa | grep some-package

अब क्या ऐसा ही व्यवहार लागू होता है yum installऔर yum update?

मैं पूछता हूं कि rpm -U(अपग्रेड) कमांड के साथ एक पैकेज को अपग्रेड / इंस्टॉल करने के लिए मौजूद नहीं है, लेकिन yum update(यदि मैं गलत नहीं हूं) पैकेज पहले से मौजूद है।

मैं विशेष रूप से उनके संस्करणों जैसे पैकेजों को निर्दिष्ट करने का परिणाम जानने के लिए इच्छुक हूं some-package-1.0। इसलिए संक्षेप में, मैं जानना चाहता हूं कि क्या मेरे पास दो विशिष्ट संस्करण हैं जैसे some-package-1.0और some-package-1.1:

  1. yum install1.0 पर पहले से स्थापित होने के बाद 1.1 पर प्रदर्शन करेंगे , 2 पैकेजों को सूचीबद्ध करेंगे?
  2. क्या रनिंग yum update some-package-1.1सफलतापूर्वक बदल जाएगी some-package-1.0?

जवाबों:


31

यम और आरपीएम के बीच प्रमुख अंतर यह yumहै कि निर्भरता को हल करना जानता है और अपने काम करते समय इन अतिरिक्त पैकेजों को स्रोत बना सकता है। यद्यपि rpmआप इन निर्भरताओं के लिए सचेत कर सकते हैं, यह अतिरिक्त पैकेजों को स्रोत करने में असमर्थ है।

बनाम उन्नयन के रूप में स्थापित करने के लिए। दोनों उपकरण एक इंस्टॉल कर सकते हैं, और RPM आपको एक साथ कई संस्करण स्थापित करने की अनुमति देगा, लेकिन YUM आपको बताएगा कि वह पैकेज पहले से ही स्थापित है। तो कोई YUM आपको कई संस्करण स्थापित करने की अनुमति नहीं देगा।

जैसा कि yum update, यह दो तरीकों में से एक में प्रतिक्रिया करेगा। यदि आप इसे एक पैकेज बताते हैं जिसे आप अपडेट करना चाहते हैं, तो वह ऐसा करने का प्रयास करेगा, सभी आवश्यक निर्भरताओं को डाउनलोड करके उन्हें भी इंस्टॉल करेगा। यदि आप इसे बिना किसी पैकेज के नाम से चलाते हैं, yum updateतो आपके सिस्टम पर स्थापित हर पैकेज को अपडेट करने का प्रयास करेंगे ।

यदि आप इसका उपयोग yum upgradeकरते हैं तो यह वैसा ही होगा yum update, सिवाय इसके कि "अप्रचलित" के रूप में चिह्नित किए गए किसी भी पैकेज को हटाने का प्रयास किया जाएगा।

उदाहरण

यहाँ एक परिदृश्य अपने खुद के विपरीत नहीं है। का एक नया संस्करण vim-X11उपलब्ध है।

$ yum check-update vim-X11 | expand
Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit

vim-X11.x86_64                     2:7.4.417-1.fc19                      updates

और मैं इस समय इस संस्करण में हूँ:

$ rpm -q vim-X11 | expand
vim-X11-7.4.179-1.fc19.x86_64

जब हम इसे स्थापित करने का प्रयास करते हैं:

$ sudo yum install vim-X11
...   
=================================================================================================================================================================
 Package                                 Arch                              Version                                      Repository                          Size
=================================================================================================================================================================
Updating:
 vim-X11                                 x86_64                            2:7.4.417-1.fc19                             updates                            1.2 M
Updating for dependencies:
 vim-common                              x86_64                            2:7.4.417-1.fc19                             updates                            5.9 M
 vim-enhanced                            x86_64                            2:7.4.417-1.fc19                             updates                            1.0 M
....
Running transaction
  Updating   : 2:vim-common-7.4.417-1.fc19.x86_64                                                                                                            1/6 
  Updating   : 2:vim-enhanced-7.4.417-1.fc19.x86_64                                                                                                          2/6 
  Updating   : 2:vim-X11-7.4.417-1.fc19.x86_64                                                                                                               3/6 
  Cleanup    : 2:vim-X11-7.4.179-1.fc19.x86_64                                                                                                               4/6 
  Cleanup    : 2:vim-enhanced-7.4.179-1.fc19.x86_64                                                                                                          5/6 
  Cleanup    : 2:vim-common-7.4.179-1.fc19.x86_64                                                                                                            6/6 
  Verifying  : 2:vim-enhanced-7.4.417-1.fc19.x86_64                                                                                                          1/6 
  Verifying  : 2:vim-X11-7.4.417-1.fc19.x86_64                                                                                                               2/6 
  Verifying  : 2:vim-common-7.4.417-1.fc19.x86_64                                                                                                            3/6 
  Verifying  : 2:vim-enhanced-7.4.179-1.fc19.x86_64                                                                                                          4/6 
  Verifying  : 2:vim-X11-7.4.179-1.fc19.x86_64                                                                                                               5/6 
  Verifying  : 2:vim-common-7.4.179-1.fc19.x86_64                                                                                                            6/6 

तो संक्षेप में

  1. yum install1.0 पर पहले से स्थापित होने के बाद 1.1 पर प्रदर्शन करेंगे , 2 पैकेजों को सूचीबद्ध करेंगे?

नहीं। YUM तब भी अपडेट करेगा, जब आपने पैकेज स्थापित होने पर उसे इंस्टॉल करने के लिए कहा हो।

  1. क्या रनिंग yum update some-package-1.1सफलतापूर्वक कुछ-पैकेज-1.0 की जगह लेगा?

हाँ।


बहुत विस्तृत जवाब के लिए धन्यवाद। तो जिस तरह से मैं इसे देखता हूं मैं सिर्फ yum installसंस्करण के साथ पैकेज का नाम निर्दिष्ट करते समय इसका उपयोग जारी रख सकता हूं और कई संस्करणों को स्थापित करने के साथ इसका संबंध नहीं होना चाहिए। ऐसी स्थिति जहां मैं उपयोग yum updateकरना चाहूंगा जब मैं केवल पैकेज का नाम निर्दिष्ट करूंगा, सही होगा?
kaizenCoder 25'14

@aspiringCodeArtisan - यह आंशिक रूप से सही है। yum installपता लगाएगा कि एक पैकेज पहले से ही स्थापित है और इसे अद्यतन करने के लिए स्विच करेगा बनाम इसे स्थापित करना, जैसा कि मेरा उदाहरण दिखाया गया है।
SLM

@ एसएलएम - स्पष्ट करने के लिए, क्या आरपीएम किसी विशेष पैकेज के लिए जैपर खोज के समान एक रिपॉजिटरी खोज सकता है?
प्रेरित

1
@Motivated - कोई rpmपसंद नहीं है dpkg, यह केवल स्थानीय डिस्क पर फ़ाइलों को w / प्रबंधित करने की चिंता करता है। भंडार "प्रबंधन" ख के लिए / डब्ल्यू आपके सिस्टम + एक रेपो आप की तरह कुछ की जरूरत है yumया dnf
SLM

1
@Motinated - rpmजब एक url से स्थापित करने के लिए उपयोग किया जाता है, तो उन्हें भी खींचने के लिए कोई भी पैकेज dep नहीं करता है, यह केवल आरपीएम को स्थानीय रूप से डाउनलोड करता है और फिर इसे स्थापित करता है।
SLM
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.