RPMパッケージの確認コマンドまとめ(一覧・バージョン・逆引きなど)


図解60p「Linuxサーバー構築入門マニュアル」無料
登録10秒/自動返信でDL/合わなければ解除3秒
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)LinuxtipsLinuxtips, RPM > RPMパッケージの確認コマンドまとめ(一覧・バージョン・逆引きなど)
RPMパッケージの確認はLinuxサーバーを管理するうえでとても大切な作業の一つです。
「このサーバーにApacheは入ってる?バージョンは?」
「このファイルどのパッケージのもの?」など
サーバー管理や障害対応の現場では、こうした確認が日常的に発生します。

この記事では rpmコマンドを使ったパッケージ確認の全手順を、コマンド例とともに体系的に解説します。一覧表示から絞り込み、バージョン確認、ファイル逆引きまで、今日から使える内容です。

そもそもなぜ「rpm」コマンドで確認するのか

RHEL・AlmaLinux・Rocky Linux・Oracle Linuxなど、Red Hat系Linuxのパッケージ管理には RPM(Redhat Package Manager) が使われています。

普段のインストールや削除には依存関係を自動解決してくれる dnf(旧yum)コマンドを使うのが一般的です。しかし、「今システムに何が入っているかを確認する」用途ではrpmコマンドが今でも現場で重宝されます

rpmコマンドが活躍する具体的なシーン

・障害対応で「このパッケージのバージョンは?」と素早く確認したいとき
・セキュリティパッチの適用前後に、バージョンが正しく変わったか確認するとき
・新サーバーのセットアップ後に、必要なパッケージがすべて入っているかチェックするとき
・「このコマンドはどのパッケージに含まれているの?」と逆引きしたいとき

dnfとrpmの使い分け早見表

用途 推奨コマンド
パッケージのインストール・削除・更新 dnf
インストール済みか確認・一覧表示 rpm -qa
バージョンを確認する rpm -q
詳細情報(説明・インストール日時)を見る rpm -qi
ファイルがどのパッケージか逆引きする rpm -qf
最近インストールしたパッケージを確認する rpm -qa --last

【基本】インストール済みの全RPMパッケージを一覧表示する

コマンド:rpm -qa

$ rpm -qa cryptsetup-libs-2.3.3-4.el9.x86_64 shadow-utils-4.8.1-16.el9.x86_64 elfutils-default-yama-scope-0.185-1.el9.noarch ・・・中略・・・ krb5-libs-1.19.1-18.el9.x86_64 bzip2-libs-1.0.8-8.el9.x86_64


オプションの意味:
オプション 意味
-q query(問い合わせ)=パッケージ情報を検索する
-a all=インストール済みの全パッケージを対象にする
-q-aを組み合わせた-qaが「インストール済みパッケージをすべて表示」の定番コマンドです。ただし、数百から数千件が一気に流れてしまうため、次の方法と組み合わせて使うのが実践的です。

【応用1】一画面ずつスクロールして確認する(lessコマンド)

出力が多すぎて確認できない場合は、パイプ(|less コマンドを組み合わせます。
パイプとは、左のコマンドの出力を右のコマンドに渡す機能のことです。

$ rpm -qa | less cryptsetup-libs-2.3.3-4.el9.x86_64 shadow-utils-4.8.1-16.el9.x86_64 ・・・中略・・・


lessコマンドの操作方法:
キー 動作
/ スペース 下にスクロール
/ b 上にスクロール
/キーワード 前方検索
q 終了
moreコマンドでも同様に動作しますが、上方向にスクロールできるlessの使用が現代では推奨されています。

【応用2】特定パッケージを絞り込む(grepコマンド)

「httpd(Apache)が入っているか確認したい」など、特定のパッケージだけ調べたい場合は grepコマンド を組み合わせます。これが現場で最もよく使う方法です。

$ rpm -qa | grep http httpd-tools-2.4.51-7.el9.x86_64 httpd-core-2.4.51-7.el9.x86_64


grepの注意点:大文字・小文字は区別されます。
大文字・小文字を区別せずに検索したい場合は -i オプションを付けます。

$ rpm -qa | grep -i HTTP httpd-tools-2.4.51-7.el9.x86_64 httpd-core-2.4.51-7.el9.x86_64


【応用3】ワイルドカードで絞り込む(grepなし)

grepを使わず、rpmコマンド単体でも絞り込みができます。その場合は ワイルドカード(* を使いますが、シェルによって*が誤って展開されることがあるため、シングルクォート(' ')で囲むのが安全です。

$ rpm -qa http # 完全一致 → 該当なし (何も表示されない) $ rpm -qa 'http*' # 前方一致(httpから始まるもの) httpd-tools-2.4.51-7.el9.x86_64 $ rpm -qa '*http*' # 部分一致(httpを含むものすべて) httpd-tools-2.4.51-7.el9.x86_64 httpd-core-2.4.51-7.el9.x86_64

※日常的な確認には rpm -qa | grep キーワード が確実でおすすめです。

【応用4】バージョンを確認する(rpm -q / rpm -qi)

「パッケージが入っているかどうか」だけでなく、バージョンまで確認したい場面は現場では非常に多いです。セキュリティパッチの適用確認などに必須のコマンドです。

バージョンのみ確認する

$ rpm -q httpd httpd-2.4.51-7.el9.x86_64

インストールされていない場合は package nginx is not installed のように表示されます。

詳細情報を確認する(インストール日時・説明文など)

$ rpm -qi httpd Name : httpd Version : 2.4.51 Release : 7.el9 Architecture: x86_64 Install Date: 2024年 1月15日 月曜日 10:23:45 JST Summary : Apache HTTP Server Description : The Apache HTTP Server is a powerful, efficient, and extensible web server.

-qi(query + info)でパッケージ名・バージョン・インストール日時・説明文まで一括確認できます。

【応用5】ファイルからパッケージを逆引きする(rpm -qf)

「このコマンドやファイルは、どのパッケージに含まれているの?」という逆引きは、現場エンジニアがよく直面する場面です。

# /usr/bin/curl がどのパッケージに含まれるか調べる $ rpm -qf /usr/bin/curl curl-7.76.1-14.el9.x86_64 # /etc/httpd/conf/httpd.conf がどのパッケージのものか調べる $ rpm -qf /etc/httpd/conf/httpd.conf httpd-2.4.51-7.el9.x86_64

-qf(query + file)にフルパスでファイルを指定するのがポイントです。which コマンド名でフルパスを確認してから実行するとスムーズです。

【応用6】最近インストールしたパッケージを確認する(--last)

「最近何がインストールされたか確認したい」・・・セキュリティ監査や障害調査でよく使うコマンドです。

# インストール日時が新しい順に表示 $ rpm -qa --last | head -20 httpd-2.4.51-7.el9.x86_64 2024年 1月15日 月曜日 10:23:45 JST httpd-core-2.4.51-7.el9.x86_64 2024年 1月15日 月曜日 10:23:44 JST curl-7.76.1-14.el9.x86_64 2024年 1月10日 水曜日 09:15:30 JST ・・・以下略・・・

head -20 を付けることで、直近20件のみ表示できます。数を変えて件数を調整してください。

よくあるエラーと対処法


パッケージが見つからない(package is not installed)

これはエラーではなく「インストールされていない」という正常な応答です。インストールする場合は dnf install パッケージ名 を実行してください。

ワイルドカードが効かない・誤動作する

# NG:クォートなしだとシェルが*を展開してしまう場合がある $ rpm -qa *http* # OK:シングルクォートで囲む $ rpm -qa '*http*'


bash: rpm: command not found が表示される

rpmコマンド自体がインストールされていない状態です(Debian/Ubuntu系では使用不可)。Red Hat系OSであれば dnf install rpm で再インストールできます。

本記事のまとめ

やりたいこと コマンド
全パッケージを一覧表示 rpm -qa
1画面ずつ確認 rpm -qa | less
キーワードで絞り込む rpm -qa | grep キーワード
バージョンを確認する rpm -q パッケージ名
詳細情報を見る rpm -qi パッケージ名
ファイルから逆引きする rpm -qf /フルパス/ファイル名
最近インストールしたものを確認 rpm -qa --last | head -20

rpmコマンドは、サーバーの状態把握・障害対応・セキュリティ確認など、現場のあらゆる場面で役立ちます。まずは rpm -qa | greprpm -q パッケージ名 の2つを日常的に使えるよう身につけておきましょう。

RPMやパッケージ管理、何となくで操作していませんか?

「コマンドをコピペして動かしているだけ」「依存関係のエラーが出るとお手上げ」という状態から抜け出したい方へ、初心者でもサーバー構築の全体像が掴める『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
独学でLinuxの壁にぶつかって挫折する前に、現場の構築作業のヒントとしてぜひ手元に置いてご活用ください。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。



無料プレゼント
図解60p「Linuxサーバー構築入門マニュアル」
独学で詰まる前に、“型(手順書)”で最初の環境構築をサクッと終わらせましょう。
登録10秒/自動返信でDL/合わなければ解除3秒
無料で受け取る ※メールアドレスだけでもOK(必須項目は最小限)

<<関連記事>>
・64bit環境に32bitのRPMをyumでインストールするには
・yumに関するログ(ログファイル)を把握する
・yumでダウンロードしたrpmを残す
・RPMパッケージの更新情報を表示する
・RPMパッケージデータベースを新たに作成する

図解60pのLinux無料マニュアル
登録10秒/自動返信でDL
無料で受け取る