RPMパッケージの新しくインストールされた依存関係をアンインストールする方法は?


16

新しくインストールされたRPMパッケージがインストールされる依存関係のリストを作成する簡単な方法はありyumますか?

例:yum install rubyそうすると、いくつかのrubygemsもインストールされます。

しかし、rubyパッケージをアンインストールするとき、インストールした依存関係も取り除きたいと思います。

ですから、私の最初のアイデアは、それらの新しいパッケージのリストを作成し、rpm -eアンインストールするときにそれらを実行することrubyでした。

質問

そのようなリストを自動化された方法で作成する方法は?

または、RPMパッケージ名でテキストファイルを管理するより簡単な方法はありますか?


回答:


21

yum 独自の履歴を保持するため、履歴を使用してパッケージがいつインストールまたは更新されたかを確認できます。

たとえば、yum history packages-info rubyRubyに関連するすべてのトランザクションを提供します。通常、最も古いトランザクションはパッケージがインストールされたトランザクションです。

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、最新のトランザクションをロールバックすることができます。


7

で削除できますyum autoremove


3
私がこれを試したとき、それはいくつかの不必要なパッケージを削除することを提案しました。そして、私明示的にインストールして欲しかった全体の束とともに。これを使用するとき、私は非常に注意します。
マイケルハンプトン

yum autoremove使用できなくなったパッケージに必要なすべてのパッケージを削除します。の間yum autoremoveにそれらを保持する場合は、最初に手動でインストールするように設定します。
マスト

「yum autoremove」はcentos 6.6で機能しません「そのようなコマンドはありません:autoremove。/usr/bin/yum--helpを使用してください」
-c4f4t0r
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.