Linux
如何解除安裝 RPM 包新安裝的依賴項?
有沒有一種簡單的方法可以列出新安裝的 RPM 包將安裝的依賴項列表
yum
?範例:如果您這樣做
yum install ruby
,它還將安裝一些 rubygems。但是當我解除安裝
ruby
軟體包時,我也想擺脫它安裝的依賴項。所以我的第一個想法是列出這些新軟體包,然後
rpm -e
在我解除安裝時對這些軟體包進行處理ruby
。問題
如何以自動方式製作這樣的列表?
或者有沒有更簡單的方法來管理帶有 rpm 包名稱的文本文件?
yum
保留自己的歷史記錄,因此您可以使用其歷史記錄了解軟體包何時安裝或更新。例如,
yum history packages-info ruby
將為您提供所有涉及 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>
這將為您提供事務 ID,然後您可以查找並找到已安裝的依賴項,例如
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
以回滾最近的事務。