Linuxを使っていると、ソフトウェアのインストールや管理でrpmコマンドを使う場面が多くあります。
特にRed Hat系のLinuxディストリビューションを使っているエンジニアや管理者にとって、rpmコマンドの理解は欠かせないスキルです。
この記事では、rpmコマンドの基本的な使い方からインストール・アンインストール・主要オプション・パッケージ管理の実践まで丁寧に解説します。
初めてLinuxを触る方にも、より深く理解したいエンジニアの方にも役立つ内容を網羅していますので、ぜひ最後までお読みください。
rpmコマンドとは?その役割とLinuxでの位置づけ
それではまず、rpmコマンドの基本的な役割とLinuxシステムにおける位置づけについて解説していきます。
rpmコマンドは「RPM Package Manager」の略で、Red Hat系Linuxディストリビューションでソフトウェアパッケージを管理するためのツールです。
パッケージとは、ソフトウェアの実行ファイル・設定ファイル・ドキュメントなどをひとまとめにしたアーカイブのことを指します。
rpmコマンドが使える主なLinuxディストリビューション
・Red Hat Enterprise Linux(RHEL)
・CentOS / CentOS Stream
・Rocky Linux
・AlmaLinux
・Fedora
・Oracle Linux
これらのディストリビューションでは、ソフトウェアが「.rpmファイル」という形式で配布されており、rpmコマンドを使ってインストールや削除を行います。
Debian系(Ubuntu・Debianなど)では「.debファイル」と「apt/dpkg」が使われるため、rpmコマンドは使えません。
ただし、alienというツールを使うとrpmパッケージをdeb形式に変換することも可能です。
rpmコマンドとyum・dnfの違い
Red Hat系Linuxではrpmの他にyum(Yellow dog Updater Modified)やdnf(Dandified YUM)というパッケージ管理ツールも使われます。
これらの違いを整理しておきましょう。
| ツール | 特徴 | 依存関係の自動解決 | 主な用途 |
|---|---|---|---|
| rpm | 低レベルなパッケージ管理 | なし | 単体パッケージの操作・照会 |
| yum | 高レベルなパッケージ管理 | あり | RHEL7以前の標準ツール |
| dnf | yumの後継 | あり(改善版) | RHEL8以降・Fedoraの標準ツール |
rpmはパッケージの低レベルな操作や詳細な照会に向いており、yum・dnfはリポジトリからパッケージを取得して依存関係を自動解決するのに向いています。
実際の運用では、インストールにはdnfやyumを使い、インストール状況の確認や詳細照会にrpmを使うという使い分けが一般的です。
rpmパッケージのファイル命名規則
rpmパッケージのファイル名には、パッケージの情報が含まれた命名規則があります。
命名規則の例
bash-5.1.8-6.el9.x86_64.rpm
├ パッケージ名:bash
├ バージョン:5.1.8
├ リリース番号:6.el9
└ アーキテクチャ:x86_64
アーキテクチャには「x86_64(64ビットIntel/AMD)」「aarch64(64ビットARM)」「noarch(アーキテクチャ非依存)」などがあります。
ファイル名を見るだけで、パッケージの種類・バージョン・対応環境がわかるようになっています。
インストール前にファイル名を確認し、自分のシステムのアーキテクチャと合っているかどうかを確認することが重要です。
rpmデータベースの役割
rpmコマンドはインストールされたパッケージの情報を「RPMデータベース」に記録・管理します。
このデータベースは通常「/var/lib/rpm/」に保存されており、インストール済みパッケージの一覧・ファイルリスト・依存関係情報などが格納されています。
データベースが破損した場合は「rpm –rebuilddb」コマンドで再構築することができます。
RPMデータベースを活用することで、システムにインストールされているソフトウェアを正確に把握し、セキュリティ管理や構成管理を行えます。
rpmコマンドの基本的な使い方:インストールとアンインストール
続いては、rpmコマンドの基本操作であるインストールとアンインストールの方法について確認していきます。
パッケージのインストール方法
rpmコマンドを使ってパッケージをインストールするには「-i」または「-ivh」オプションを使います。
インストールコマンド
rpm -ivh パッケージファイル名.rpm
オプションの意味
-i:インストール(install)
-v:詳細情報の表示(verbose)
-h:進捗をハッシュ記号で表示(hash)
実行例
rpm -ivh httpd-2.4.51-7.el9.x86_64.rpm
インストールが成功すると、進捗バーとともに「完了」のメッセージが表示されます。
root権限(またはsudo)が必要なため、一般ユーザーでは実行できません。
既にインストール済みのパッケージを再インストールしたい場合は「–replacepkgs」オプションを追加します。
パッケージのアップグレード方法
既存のパッケージを新しいバージョンに更新するには「-U」オプションを使います。
アップグレードコマンド
rpm -Uvh パッケージファイル名.rpm
(パッケージが未インストールの場合は新規インストールされる)
バージョンダウングレード
rpm -Uvh –oldpackage 古いパッケージ名.rpm
「-U」は「-i」と違い、古いバージョンが既にインストールされていれば自動的に置き換えます。
カーネルのアップデートには「-U」ではなく「-i」を使うことが推奨されます。
カーネルは複数のバージョンを並行して保持することで、起動オプションで旧バージョンに戻せる安全性を確保できるためです。
パッケージのアンインストール方法
インストール済みパッケージを削除するには「-e」オプションを使います。
アンインストールコマンド
rpm -e パッケージ名(ファイル名ではなくパッケージ名を指定)
例)rpm -e httpd
依存関係を無視して強制削除(注意して使用)
rpm -e –nodeps パッケージ名
アンインストール時にファイル名ではなくパッケージ名を使う点に注意が必要です。
「–nodeps」オプションで依存関係を無視して強制削除することもできますが、他のパッケージが動作しなくなる危険があるため、慎重に使う必要があります。
削除前に「rpm -q パッケージ名」でパッケージ名を正確に確認してから実行するのが安全でしょう。
rpmコマンドの照会(クエリ)オプション徹底解説
続いては、rpmコマンドの照会機能(-qオプション)の活用方法について確認していきます。
照会機能はシステム管理・セキュリティ確認・トラブルシューティングで特に重要です。
インストール済みパッケージの確認
システムにインストールされているパッケージを確認するためのコマンドを紹介します。
主な照会コマンド
rpm -qa:全パッケージ一覧を表示
rpm -q パッケージ名:特定パッケージの確認
rpm -qi パッケージ名:パッケージの詳細情報を表示
rpm -ql パッケージ名:インストールされたファイル一覧
rpm -qc パッケージ名:設定ファイル一覧
rpm -qd パッケージ名:ドキュメントファイル一覧
「rpm -qa | grep キーワード」の形でgrepと組み合わせると、特定のソフトウェアが入っているか素早く確認できます。
「rpm -qi」コマンドはバージョン・リリース日・ライセンス・インストールサイズなど詳細な情報を表示するため、監査や資産管理に役立ちます。
特定ファイルが属するパッケージを調べる方法
ファイルがどのパッケージからインストールされたかを調べるには「-qf」オプションを使います。
コマンド例
rpm -qf /usr/bin/bash
出力例:bash-5.1.8-6.el9.x86_64
このコマンドはセキュリティ調査やトラブルシューティングで非常に役立ちます。
不審なファイルや設定ファイルがどのパッケージに属しているかを特定することで、問題の原因を素早く絞り込めるでしょう。
システム管理の現場では、このコマンドを使って変更履歴の追跡やパッケージの影響範囲確認を行うことがよくあります。
rpmパッケージの検証(verify)機能
インストール済みパッケージのファイルが改ざんされていないかを確認するには「-V」オプションを使います。
パッケージ検証コマンド
rpm -V パッケージ名
全パッケージを検証
rpm -Va
検証結果の見方
S:ファイルサイズの変更
M:パーミッションの変更
5:MD5チェックサムの不一致
T:更新時刻の変更
セキュリティインシデント発生時や定期的なセキュリティ監査において、このverify機能は非常に有効です。
変更が検出された場合、そのファイルが意図的に変更されたものか、不正なものかを調査する必要があります。
本番環境での定期的なrpm -Vaの実行は、セキュリティ維持の観点から推奨されます。
rpmコマンド実践:よく使うシナリオと実行例
続いては、実際の現場でよく使うrpmコマンドのシナリオと実行例について確認していきます。
未インストールのrpmファイルを事前に調査する
rpmファイルをインストールする前に、その内容を確認したい場面があります。
インストール前の確認コマンド
rpm -qip パッケージファイル名.rpm(詳細情報の確認)
rpm -qlp パッケージファイル名.rpm(インストールされるファイル一覧)
rpm -qRp パッケージファイル名.rpm(依存関係の確認)
これらのコマンドはインストールを実行せずにパッケージの中身を調べるための方法です。
本番環境への適用前に必ず確認しておくことで、予期しないトラブルを未然に防ぐことができます。
特に依存関係の確認は、インストール失敗を防ぐために重要なステップです。
rpmのインストールをテスト実行する
実際にインストールせず、インストールが成功するかどうかだけを試したい場合は「–test」オプションを使います。
テスト実行コマンド
rpm -ivh –test パッケージファイル名.rpm
このコマンドはシステムへの変更を一切加えず、インストールのシミュレーションを行います。
依存関係エラーや競合があれば事前にエラーメッセージが表示されるため、本番適用前のリスク確認に非常に有効です。
変更管理が厳しい本番環境では、必ずテスト実行を行ってから本番インストールを行う手順を徹底すべきでしょう。
rpmデータベースの再構築と修復
システムクラッシュや異常終了によりRPMデータベースが破損した場合は、データベースの再構築が必要です。
データベース再構築コマンド
rpm –rebuilddb
または(古いバージョンの場合)
rm -f /var/lib/rpm/__db.*
rpm –rebuilddb
データベースが破損すると、rpmコマンドが正常に動作しなくなることがあります。
この場合は上記の手順でデータベースを再構築することで、多くの場合は解決できます。
再構築前にデータベースのバックアップを取っておくことで、万が一の事態にも対処できるでしょう。
まとめ
今回は、rpmコマンドの概要・インストール・アンインストール・照会オプション・実践的な使い方について詳しく解説しました。
rpmはLinuxのRed Hat系ディストリビューションでソフトウェアパッケージを管理するための強力なツールです。
インストール(-ivh)・アップグレード(-Uvh)・削除(-e)・照会(-qa、-qi、-ql)・検証(-V)という基本操作を押さえることで、日常的なLinux管理業務に対応できます。
依存関係の自動解決にはyum・dnfを活用しながら、詳細な照会や検証にはrpmを使うという使い分けが実践的なアプローチです。
rpmコマンドをしっかりマスターすることで、Linuxシステムの安定運用とセキュリティ管理の質を大きく向上させることができます。
ぜひ本記事を参考に、rpmコマンドの活用スキルを高めていただければ幸いです。