Linux
 Computer >> コンピューター >  >> スマートフォン >> Linux

RPMパッケージが依存するファイル一覧を確認する方法【rpm -qRコマンド】

Linuxマシンでソフトウェアのアンインストールやアップグレードを行う際、依存関係に関するエラーに遭遇したことはありませんか?RPMベースのディストリビューション(Red Hat、CentOS、Fedoraなど)を扱っている方なら、「rpm地獄」あるいは「依存性地獄(dependency hell)」と呼ばれる問題を一度は経験したことがあるのではないでしょうか。

この記事では、そんな状況で役立つ、インストール済みRPMパッケージが依存しているファイルの一覧を確認する方法をご紹介します。

依存関係の確認が必要になる場面

例えば、Linuxマシンから sendmail のRPMパッケージをアップグレードまたはアンインストールしようとした場合を考えてみましょう。以下のようなアンインストールコマンドを実行したとき、依存関係のエラーが発生することがあります。

# rpm -e sendmail-8.13.1-3.2

このような場合、まずそのパッケージがどのファイルやライブラリに依存しているのかを把握すると、トラブルシューティングが格段にしやすくなります。

rpm -qR コマンドで依存ファイルを一覧表示する

パッケージの依存関係を確認するには、rpm コマンドに -qR オプションを付けて実行します。オプションの意味は以下の通りです。

  • -q: パッケージ情報を照会(query)する
  • -R: 依存関係(requires)を一覧表示する

実際のコマンド例と出力結果は次のようになります。

# rpm -qR sendmail-8.13.1-3.2
/bin/bash
/bin/mktemp
/bin/sh
/usr/sbin/alternatives
/usr/sbin/useradd
bash >= 2.0
chkconfig >= 1.3
config(sendmail) = 8.13.1-3.2.el4
cyrus-sasl
fileutils
gawk
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
...

出力結果の見方

上記の出力には、sendmail パッケージが動作に必要としているファイルやライブラリ、他のパッケージが一覧表示されています。具体的には以下のような情報が含まれます。

  • 実行ファイルへのパス(/bin/sh や /usr/sbin/useradd など): スクリプト実行やユーザー管理に必要なコマンド
  • 共有ライブラリ(libc.so.6 など): プログラムの動作に必要なシステムライブラリ
  • 他のパッケージとバージョン条件(bash >= 2.0 など): 必要なパッケージ名と最低バージョン

この一覧を確認することで、アンインストールやアップグレードが失敗する原因となっている依存パッケージを特定でき、問題解決への糸口がつかめます。

まとめ

rpm -qR コマンドを使えば、インストール済みパッケージの依存関係を簡単に把握できます。「依存性地獄」に陥ったときは、まずこのコマンドで依存ファイルの一覧を確認し、どのパッケージが必要とされているのかを見極めることがトラブルシューティングの第一歩です。ぜひ覚えておきましょう。

  1. 【Linux】lsofコマンドで開いているファイル・ソケット・パイプの一覧を取得する方法

    このガイドでは、Linuxのlsofコマンドを使って、開いているファイル、ソケット、パイプの一覧を取得する方法を解説します。lsofコマンドとはlsofは非常に強力なコマンドラインツールで、ほぼすべてのLinuxディストリビューションに標準で搭載されています。システム上で開いているファイル、ソケット、パイプの一覧を簡単に確認できるのが最大の特徴です。基本的な使い方最もシンプルな使い方は、コマンド名を入力してEnterキーを押すだけです。# lsofと実行すると、かなりの長さの一覧が出力されます。出力が長くなりがちなため、lessコマンドと組み合わせて# lsof | lessのように実行するの

  2. 【Windows 10】ごみ箱を自動的に空にする方法|ストレージセンサーで定期削除を設定しよう

    パソコンの空き容量を確保したり、不要なデータを整理したりするために、ファイルや画像をこまめに削除している方は多いのではないでしょうか。しかし、削除したファイルはすべてごみ箱に送られるため、放置していると知らず知らずのうちに大量のファイルが蓄積し、ハードディスクの容量を圧迫してしまいます。 幸い、Windows 10には一定期間が経過したごみ箱内のファイルを自動的に削除できる便利な機能が標準で搭載されています。 あわせて読みたい: PCを最適化するおすすめクリーナーソフト10選 Windows 10でごみ箱を自動的に空にする手順 以下の手順に従えば、Windows 10がごみ箱を定期的に自動でク