RPM पैकेज के लिए नव स्थापित निर्भरता की स्थापना रद्द कैसे करें?


16

क्या निर्भरता की सूची बनाने का एक आसान तरीका एक नया स्थापित RPM पैकेज है yum?

उदाहरण: यदि आप करते हैं yum install rubyतो यह कुछ रूबी को भी स्थापित करेगा।

लेकिन जब मैं rubyपैकेज की स्थापना रद्द करता हूं तो मैं भी इसे स्थापित की गई निर्भरता से छुटकारा चाहता हूं।

इसलिए मेरा पहला विचार उन नए पैकेजों की एक सूची बनाना था, और rpm -eजब मैं अनइंस्टॉल करता हूं , तो उन पर काम करता हूं ruby

सवाल

स्वचालित तरीके से ऐसी सूची कैसे बनाएं?

या फिर वहाँ एक आसान तरीका है तो rpm पैकेज नाम के साथ पाठ फ़ाइलों का प्रबंधन करने के लिए है?


जवाबों:


21

yum अपना स्वयं का इतिहास रखता है, इसलिए आप यह पता लगा सकते हैं कि एक पैकेज स्थापित किया गया था या उसके इतिहास का उपयोग करके अपडेट किया गया था।

उदाहरण के लिए, yum history packages-info rubyआपको माणिक से जुड़े सभी लेन-देन देंगे, जहां आमतौर पर सबसे पुराना वह है जहां पैकेज स्थापित किया गया था।

Transaction ID : 102
Begin time     : Thu Apr  3 17:15:17 2014
Package        : ruby-2.0.0.353-16.fc20.x86_64
State          : Install
Size           : 64,734
Build host     : buildvm-17.phx2.fedoraproject.org
Build time     : Thu Nov 28 06:01:20 2013
Packager       : Fedora Project
Vendor         : Fedora Project
License        : (Ruby or BSD) and Public Domain
URL            : http://ruby-lang.org/
Source RPM     : ruby-2.0.0.353-16.fc20.src.rpm
Commit Time    : Mon Nov 25 07:00:00 2013
Committer      : V?t Ondruch <vondruch@redhat.com>
Reason         : user
Command Line   : install ruby rubygems
From repo      : updates
Installed by   : Michael Hampton <error>

यह आपको लेनदेन आईडी देगा, जिसे आप तब देख सकते हैं और जो निर्भरताएं स्थापित कर सकते हैं, उदाहरण के लिए yum history info <ID>

Transaction ID : 102
Begin time     : Thu Apr  3 17:15:17 2014
Begin rpmdb    : 2336:55d492c6f5d091f328529861bdf95111264337f6
End time       :            17:15:20 2014 (3 seconds)
End rpmdb      : 2346:ccca040d610665c49a1ff6a11f787f8d5aa6790d
User           : Michael Hampton <error>
Return-Code    : Success
Command Line   : install ruby rubygems
Transaction performed with:
    Updated       rpm-4.11.2-2.fc20.x86_64                @updates/20
2 packages excluded due to repository priority protections
    Updated       yum-3.4.3-137.fc20.noarch               ?
    Updated       yum-metadata-parser-1.1.4-9.fc20.x86_64 @fedora/20
Packages Altered:
    Install     ruby-2.0.0.353-16.fc20.x86_64           @updates/20
    Dep-Install ruby-irb-2.0.0.353-16.fc20.noarch       @updates/20
    Dep-Install ruby-libs-2.0.0.353-16.fc20.x86_64      @updates/20
    Dep-Install rubygem-bigdecimal-1.2.0-16.fc20.x86_64 @updates/20
    Dep-Install rubygem-io-console-0.4.2-16.fc20.x86_64 @updates/20
    Dep-Install rubygem-json-1.7.7-101.fc20.x86_64      @fedora/20
    Dep-Install rubygem-psych-2.0.0-16.fc20.x86_64      @updates/20
    Dep-Install rubygem-rdoc-4.0.1-2.fc20.noarch        @fedora/20
    Install     rubygems-2.1.11-115.fc20.noarch         @updates/20
    Dep-Install rubypick-1.1.1-1.fc20.noarch            @updates/20

यदि पैकेज अभी स्थापित किया गया था, और अभी तक अपडेट नहीं किया गया है, तो आप इसके साथ लेनदेन को रोलबैक कर सकते हैं, जैसे yum history undo 102। यह तब काम नहीं करेगा जब स्थापना के बाद से किसी भी पैकेज को अपडेट किया गया हो, हालाँकि, यह नाम, संस्करण और रिलीज़ से मेल खाता है।

और अगर आप वास्तव में सिर्फ पैकेज स्थापित करते हैं, तो आप सब कुछ छोड़ सकते हैं और yum history undo lastसबसे हाल के लेनदेन को रोलबैक करने के लिए चला सकते हैं ।


7

आप उन्हें हटा सकते हैं yum autoremove


3
जब मैं इस की कोशिश की, यह कुछ अनावश्यक पैकेज निकालना, एक पूरी गुच्छा है कि मैं के साथ प्रस्तावित था स्पष्ट रूप से स्थापित किया है और चाहते हैं। इसका उपयोग करते समय मैं बहुत सावधान रहूंगा।
माइकल हैम्पटन

yum autoremoveउन सभी पैकेजों को हटा देगा जो अब उपलब्ध पैकेजों के लिए आवश्यक थे। यदि आप उन्हें रखना चाहते हैं yum autoremove, तो उन्हें पहले मैन्युअल रूप से स्थापित करें।
मस्त

"yum autoremove" सेंटोस 6.6 में काम नहीं करता है। ऐसा कोई आदेश नहीं है: autoremove। कृपया उपयोग करें / usr / bin / yum --help "
c4f4t0r
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.