新しくインストールされたRPMパッケージがyum
でインストールする依存関係のリストを作成する簡単な方法はありますか?
例:yum install Ruby
すると、いくつかのルビジェムもインストールされます。
しかし、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 <[email protected]>
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
。ただし、名前、バージョン、リリースと一致するため、インストール後にパッケージが更新されている場合は機能しません。
そして、本当にjustパッケージをインストールした場合は、他のすべてをスキップしてyum history undo last
を実行し、最新のトランザクションをロールバックできます。
これらはyum autoremove
で削除できます。