Linux Tips

RPMパッケージからファイルを取り出すには

北浦訓行
2003/11/20

 rpmコマンドの問い合わせ機能はインストールしたファイルが対象となるため、インストール前にRPMファイルにどのようなファイルが含まれているかを調べたり、一部のファイルを取り出したりすることはできない。

 インストール前にそのようなことを行いたいときは、RPMパッケージをcpio形式のアーカイブファイルに変換して、そこからファイルの一覧を表示したり、ファイルを取り出せばいい。

 RPMファイルをcpioファイルに変換するには、rpm2cpioコマンドを使う。また、cpio形式のアーカイブファイルからファイルを取り出したり、ファイルの一覧を表示するにはcpioコマンドを使用する。

 例えば、smartmontools-5.23-1.i386.rpmというRPMファイルに含まれるファイルを一覧表示するには、以下のコマンドを実行する。

$ rpm2cpio smartmontools-5.23-1.i386.rpm | cpio --list
./etc/rc.d/init.d/smartd
./etc/smartd.conf
./usr/sbin/smartctl
./usr/sbin/smartd
(省略)

 また、smartmontools-5.23-1.i386.rpmに含まれるファイルを取り出すには、作業用のディレクトリを作成して、そのディレクトリから以下のコマンドを実行する。すると、本来ファイルがインストールされるはずのディレクトリが作成され、その下にファイルが作られる。

$ mkdir work
$ cd work
$ rpm2cpio ../smartmontools-5.23-1.i386.rpm | cpio -id
872 blocks
$ ls -l
合計 8
drwx------    3 nori     nori         4096 11月  4 06:19 etc
drwx------    4 nori     nori         4096 11月  4 06:19 usr
$ tree
.
|-- etc
|   |-- rc.d
|   |   `-- init.d
|   |       `-- smartd
|   `-- smartd.conf
`-- usr
    |-- sbin
    |   |-- smartctl
(省略)

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間