未インストールのパッケージに含まれるファイル一覧を確認する方法(CentOS)
ふと思いだせなかったので
CentOSであればrpmの-qplオプションを指定することで未インストールパッケージ一覧を見ることが可能です。
rpm -qpl xxx.rpm
但し、これで見ようとするとrpmパッケージを手元にダウンロードしておく必要あります。
そこで、まずyumでrpmパッケージをインストールせずダウンロードだけしておきます。
ダウンロードのみを実行するためには、yum-downloadonlyパッケージを予めインストールしておく必要があります。
(CentOS6以降だとyum-plugin-downloadonlyという名前のパッケージに変わっているようです。)
$ yum install yum-downloadonly
以降、yum installコマンドのオプションとして--downloadonlyオプションが利用可能になる。
$ yum install --downloadonly パッケージ名
ダウンロードしたrpmパッケージは/var/cache/yum以下に配置されています。
yum insatll --downloadonly --downloaddir=/tmp パッケージ名
とすることで指定したところにダウンロードすることも可能です。
例えば、mongodb-serverをepelリポジトリからダウンロードした場合は以下のようなところに配置されています。
$ ls /var/cache/yum/epel/packages/mongodb-server-1.6.4-1.el5.x86_64.rpm /var/cache/yum/epel/packages/mongodb-server-1.6.4-1.el5.x86_64.rpm
ディレクトリ指定した場合はこのようになります
$ yum install --downloadonly --downloaddir=/tmp mongodb-server $ ls /tmp/mongodb-server-1.6.4-1.el5.x86_64.rpm /tmp/mongodb-server-1.6.4-1.el5.x86_64.rpm
あとはrpmコマンドでファイル一覧を確認すればOKです。
$ rpm -qpl /tmp/mongodb-server-1.6.4-1.el5.x86_64.rpm /etc/logrotate.d/mongodb /etc/mongodb.conf /etc/rc.d/init.d/mongod /usr/bin/mongod /usr/bin/mongos /usr/com/mongodb /usr/share/man/man1/mongod.1.gz /usr/share/man/man1/mongos.1.gz /var/log/mongodb /var/run/mongodb
これでインストールを実施する前にどういう形でファイルが配置されるかを確認しておくことが可能になります。
逆に、あるファイルがどのパッケージに含まれているかを確認するためにはrpmコマンドで以下のように実施すればOKです。
$ rpm -qf /usr/bin/mongod mongodb-server-1.6.4-1.el5