utte

rpm Red Hat系のRPMパッケージをインストール、調査する

rpm [オプション] パッケージ

試してみる

主なオプション

-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

このコマンドを使う問題

  1. rpmパッケージファイルの情報からライセンスを調べる
  2. rpmパッケージファイルに含まれるファイルを一覧する

関連するコマンド

LinuC 101の出題範囲