rpm Red Hat系のRPMパッケージをインストール、調査する
rpm [オプション] パッケージ試してみる
rpm --versionrpm のバージョンを表示します。
rpm -qpi hello-utte-1.4-2.noarch.rpmインストール前の .rpm ファイルの情報(名前、バージョン、ライセンス、説明など)を表示します。
rpm -qpl hello-utte-1.4-2.noarch.rpm.rpm ファイルに入っているファイルの一覧を表示します。
rpm -qpd hello-utte-1.4-2.noarch.rpmそのうち、ドキュメントのファイルだけを表示します。
rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' hello-utte-1.4-2.noarch.rpm表示する項目と形式を、自分で指定します。
rpm -qa | wc -lインストール済みのパッケージの数を数えます。この環境は Debian なので、0 になります。
主なオプション
-i | パッケージをインストールする |
|---|---|
-U | パッケージを更新する(入っていなければインストールする) |
-e | パッケージを削除する |
-q パッケージ | インストール済みのパッケージを問い合わせる |
-qa | インストール済みのパッケージをすべて表示する |
-qi / -ql | パッケージの情報 / ファイルの一覧を表示する |
-qf ファイル | ファイルを含むパッケージを調べる |
-p ファイル.rpm | -q と組み合わせて、.rpm ファイルそのものを調べる |
解説
RPM は Red Hat 系のパッケージ
rpm は、Red Hat Enterprise Linux、CentOS、Fedora などで使うパッケージ管理のコマンドです。Debian 系の dpkg にあたります。依存するパッケージを自動で取得しないところも dpkg と同じで、依存の解決まで任せるときは yum(新しい版は dnf)を使います。
このページのターミナルは Debian なので、RPM のデータベースは空です。そのため、インストールや、インストール済みのパッケージの検索はできません。ここでは、-p で .rpm ファイルそのものを調べる使い方を試せます。使っているサンプルのファイルは、手で作ったものです。そのため、古い形式という警告(warning: RPM v3 packages are deprecated)が出ますが、結果は読めます。
普段の使い方(Red Hat 系)
| やりたいこと | コマンド |
|---|---|
| インストール | rpm -ivh パッケージ.rpm |
| 更新 | rpm -Uvh パッケージ.rpm |
| 削除 | rpm -e パッケージ名 |
| 入っているか調べる | rpm -q パッケージ名 |
| ファイルの持ち主を調べる | rpm -qf /etc/passwd |
インストールや削除には root の権限が必要です。-v は詳しく表示し、-h は進捗を # で表示します。
問い合わせの考え方
-q が問い合わせで、続けて i(情報)、l(ファイル一覧)、c(設定ファイル)、d(ドキュメント)、R(必要とするもの)などを付けます。何も付けなければ、パッケージ名とバージョンが出ます。-p を付けると、インストール済みのものではなく、指定した .rpm ファイルが対象になります。
dpkg との対応
| rpm | dpkg |
|---|---|
rpm -qa |
dpkg -l |
rpm -ql パッケージ |
dpkg -L パッケージ |
rpm -qf ファイル |
dpkg -S ファイル |
rpm -qpi ファイル.rpm |
dpkg -I ファイル.deb |