फेडोरा 'एप्ट-गेट पर्स' के समकक्ष क्या है?


45

डेबियन में, पैकेज को हटाने के लिए कम से कम दो तरीके हैं:

  • apt-get remove pkgname
  • apt-get purge pkgname

पहला सिस्टम-वाइड कॉन्फिग फाइल्स (यानी " / etc " में पाया जाता है ) को संरक्षित करता है, जबकि दूसरा नहीं।

फेडोरा दूसरे रूप के समकक्ष क्या है purge? या शायद मुझे पूछना चाहिए कि क्या yum remove pkgnameवास्तव में कॉन्फ़िगर फ़ाइलों को संरक्षित करता है।

जवाबों:


27

yum remove कॉन्फ़िगरेशन फ़ाइलों को संरक्षित करने के लिए गारंटी नहीं है।

यम HOWTO में कहा गया है :

किसी भी घटना में, पैकेज हटाने के लिए कमांड सिंटैक्स है:

# yum remove package1 [package2 package3...]

जैसा कि ऊपर उल्लेख किया गया है, यह पैकेज 1 को हटाता है और पैकेज 1 पर निर्भर रहने वाले निर्भरता के पेड़ के सभी पैकेजों को, संभवतः अपरिवर्तनीय रूप से जहां तक ​​कॉन्फ़िगरेशन डेटा का संबंध है

अपडेट करें

जैसा कि जेम्स बताते हैं, आप rpm -eकिसी पैकेज को मिटाने के लिए कमांड का उपयोग कर सकते हैं लेकिन जो भी कॉन्फ़िगरेशन फाइल बदल गए हैं उनकी बैकअप प्रतियों को सहेज सकते हैं।

अधिक जानकारी के लिए, RPM का उपयोग करके संकुल को मिटाएँ देखें । विशेष रूप से:

यह देखने के लिए जांचता है कि क्या पैकेज के किसी भी विन्यास फाइल को संशोधित किया गया है। यदि हां, तो यह उनकी प्रतियां बचाता है।


4
यह वास्तव में सच नहीं है, अगर वे नहीं बदले हैं , तो "rpm -e" कॉन्फ़िगरेशन फ़ाइलों को हटा देगा । यदि उन्हें बदल दिया गया है तो उन्हें <filename> .rpmsave में ले जाया जाता है और हटाया नहीं जाता है।
जेम्स एंटिल

9

मुझे सर्वरफॉल्ट पर डुप्लिकेट प्रश्न का यह उत्तर मिला, जिसका शीर्षक था: "apt-get purge" के बराबर यम जो कि मैंने देखी गई एकमात्र विधि प्रदान apt-get purge <pkg>करता है जो उबंटू / डेबियन पर क्या कर सकता है ।

for package in package1 package2 package3
do
  echo "removing config files for $package"
  for file in $(rpm -q --configfiles $package)
  do
    echo "  removing $file"
    rm -f $file
  done
  rpm -e $package
done

केवल दूसरी विधि जो मैं यहां बता सकता हूं कि आउटपुट को पार्स करना है yum remove <pkg>और फिर मैन्युअल रूप से संशोधित की गई किसी भी फाइल को हटाना है। उदाहरण के लिए जब मैंने हाल ही में 2.3 के लिए ElasticSearch का RPM स्थापित किया है तो मैंने कई फाइलें संशोधित कीं जो इस RPM के साथ जुड़ी थीं। जब मैंने इसे YUM के साथ हटाया तो आपको इस तरह से आउटपुट में संदेश मिलेंगे:

warning: /etc/sysconfig/elasticsearch saved as /etc/sysconfig/elasticsearch.rpmsave
warning: /etc/elasticsearch/logging.yml saved as /etc/elasticsearch/logging.yml.rpmsave
warning: /etc/elasticsearch/elasticsearch.yml saved as /etc/elasticsearch/elasticsearch.yml.rpmsave

इन्हें YUM स्क्रिप्टेड या हाथ से उपयोग करके पोस्ट हटाया जा सकता है।

संदर्भ


यह एक दिलचस्प dnf प्लगइन हो सकता है ....
Mattdm

@mattdm - यह मुद्दा समय-समय पर सामने आया है, अच्छा होगा अगर हम "आरपीएम" दुनिया में ऐसा कर सकें।
स्लम

1

"पर्ज" के लिए कोई समकक्ष नहीं है, बस उपयोग करें yum remove package

इसके अलावा, आप उपयोग कर सकते हैं yum reinstall package, जब आप कुछ पैकेज को पुनर्स्थापित करना चाहते हैं ...


1
दरअसल, जैसा कि जस्टिन एथियर के जवाब में बताया गया है , yum removeइसके बराबर है apt-get purge
गिल्स एसओ- बुराई को रोकना '

6
@ गिलेस जस्टिन एथियर कहते हैं yum remove, " कॉन्फ़िगरेशन फ़ाइलों को संरक्षित करने की गारंटी नहीं है ।" यह कहने के समान नहीं है कि यह कॉन्फ़िगरेशन फ़ाइलों को संरक्षित नहीं करने की गारंटी है (जिसका अर्थ है कि यह बराबर है apt-get purge)। क्या आप इसे (बहुत) मजबूत दावा कर रहे हैं?
एलियाह कगन

@ एलियाकगन यही तरीका है कि मैं यम को समझता हूं कि जस्टिन कैसे कहता है। मुझे यकीन नहीं है कि यह सही है, CentOS विपरीत कह रहा है।
गिल्स एसओ- बुराई को रोकना '

1
मुझे लगता है कि यह अपरिभाषित व्यवहार है। यम कॉन्फ़िगरेशन फ़ाइलों को संरक्षित कर सकता है या नहीं भी कर सकता है।
m0j0

-2

यदि आप उस प्रोग्राम से कॉन्फ़िगर फ़ाइलों को साफ करना चाहते हैं जिसे आपने हाल ही में RPM सिस्टम के माध्यम से हटाया है, तो आपको केवल इतना करना है:


2
यह गलत है। "यम क्लीन ऑल" केवल यम द्वारा उपयोग किए गए कैश्ड मेटाडेटा, दर्पण सूचियों, आदि को साफ करता है। यह विन्यास फाइल के लिए कुछ नहीं करता है।
m0j0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.