rpmコマンドの便利な使い方

ALL
スポンサーリンク

パッケージの情報を表示する

rpm -qi パッケージ名

パッケージの名称、バージョン等を表示します。

実行例:


nbsp;rpm -qi iptables Name        : iptables                     Relocations: (not relocatable) Version     : 1.4.7                             Vendor: CentOS Release     : 9.el6                         Build Date: 2013年02月22日 10時45分54秒 Install Date: 2013年03月10日 05時04分05秒      Build Host: c6b9.bsys.dev.centos.org Group       : System Environment/Base       Source RPM: iptables-1.4.7-9.el6.src.rpm Size        : 853888                           License: GPLv2 Signature   : RSA/SHA1, 2013年02月24日 02時39分37秒, Key ID 0946fca2c105b9de Packager    : CentOS BuildSystem <http://bugs.centos.org> URL         : http://www.netfilter.org/ Summary     : Tools for managing Linux kernel packet filtering capabilities Description : The iptables utility controls the network packet filtering code in the Linux kernel. If you need to set up firewalls and/or IP masquerading, you should install this package.

パッケージ内にあるファイル(インストールされているファイル)を表示する

rpm -ql パッケージ名

パッケージ内にあるファイル(パッケージインストール時にインストールされるファイル)を表示します。

実行例:


nbsp;rpm -ql iptables /bin/iptables-xml-1.4.7 /etc/rc.d/init.d/iptables /etc/sysconfig/iptables-config /lib64/libip4tc.so.0-1.4.7 /lib64/libip4tc.so.0.0.0-1.4.7 /lib64/libip6tc.so.0-1.4.7 /lib64/libip6tc.so.0.0.0-1.4.7 /lib64/libipq.so.0-1.4.7 /lib64/libipq.so.0.0.0-1.4.7 /lib64/libiptc.so.0-1.4.7    :

指定ファイルがどのパッケージに含まれているか調べる

rpm -qf ファイル名

指定ファイルがどのパッケージに含まれているか調べ、そのパッケージ名を表示します。

実行例:


nbsp;rpm -qf /sbin/iptables-1.4.7 iptables-1.4.7-9.el6.x86_64

なお、rpm -qf ファイル名 で指定するファイルは、パッケージ内にあるファイル(パッケージインストールでインストールされるファイル)でなくてはなりません。

例えば、/sbin/iptables はどのパッケージにも含まれていません。
従って rpm -qf /sbin/iptables を実行すると、「ファイル /sbin/iptables はどのパッケージにも属していません。」と表示が出て失敗します。

パッケージインストール時からファイルに変更が無いか調べる

rpm -V パッケージ名

パッケージインストールでインストールされたファイルの情報と、rpmデータベースに格納されているパッケージのメタデータから得られたファイルに関する情報とを比較し、結果を表示します。
変更があった場合、下記のような表示がなされます。

S.5....T.  c /etc/postfix/main.cf

最初の8文字は、比較の結果を示します。表示される文字は、次を意味しています。

S  ファイルサイズが異なっている
5  MD5チェックサムが異なる
L  シンボリックリンクが変更されている
T  ファイルの更新時刻が変更されている
D  デバイスファイルが変更されている
U  ファイルの所有者が変更されている
G  ファイルの所有グループが変更されている
M  ファイルのパーミッションが変更されている

例えば、以下の実行例はメールサーバソフト postfix を調べています。
postfixの設定ファイル main.cf , master.cf を変更している為、変更を検出しています。
S.5….T は、「ファイルサイズが異なっている」「MD5チェックサムが異なる」「ファイルの更新時刻が変更されている」ことを示しています。

実行例:


nbsp;rpm -V postfix S.5....T.  c /etc/postfix/main.cf S.5....T.  c /etc/postfix/master.cf

以上で紹介したrpmの機能は下記記事でも使用しています。
下記記事では、誤検出された /sbin/init の改ざんについて、rpm -V コマンドを実行してパッケージインストール以降、/sbin/initに変更が無いことを確認しています。

chkrootkit のSuckit誤検知の修正

参考

Man page of RPM

コメント