パッケージの依存関係の確認

パッケージの依存関係の確認
インストールしたパッケージの依存関係は2つあり
rpm -qR パッケージ名

指定したパッケージ名が依存しているファイルなどを表示
rpm -q –whatrequires パッケージ名

指定したパッケージ名に依存されているRPMパッケージを表示する
となる
例えば
yum install bind-chroot

DNSサーバーのBINDをインストールしたばあい
bind-chrootの依存関係を見るなら
rpm -qR bind-chroot
とする
この結果から
bindパッケージに依存していること
/bin/sh
grep
が必要なことがわかる
次に、
bind-chroot
bind
のパッケージが他から依存しているかを
–whatrequires オプションで確認
rpm -q –whatrequires bind-chroot
rpm -q –whatrequires bind
この結果から
bindが bind-chrootから依存されているのがわかる
依存するパッケージがある場合
削除するには
両方のパッケージを同時削除するか
依存されていない順に削除していく
bindは bind-chrootに必要なので
rpm -e bind
としても削除できないけど
rpm -e bind-chroot
rpm -e bind
と順番に削除することはできる
後、たまにあるけど
パッケージ更新したらバグがあるから
古いバージョンに戻したいときの対処
こんなときには
–oldpackage オプションをつけて
ダウングレードインストールする
書式にすると
rpm -Uvh –oldpackage パッケージ名
例えば
最新版のbind関連パッケージを
インストールメディアに入っていたrpmパッケージに
ダウングレードインストールするなら
rpm -qa | grep ^bind
で調べて
rpm -Uvh –oldpackage bind関連のパッケージ名

ダウングレードインストールして
再度
rpm -qa | grep ^bind
で調べると、バージョンがダウングレードされたのが確認できる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です