あるプログラムが含まれているRPMパッケージを探すには

 あるプログラムをバージョンアップする場合、RPM系ディストリビューションであればそのプログラムが含まれているパッケージの最新版をインストールすればよい。このとき、PerlやApacheなどであればRPMファイル名で容易に最新版を探すことができる。しかし、cpやlsといったコマンドだったらどうだろうか?

 特定のプログラムが、どのRPMパッケージに含まれているかを調べるには、rpmコマンドを-qfオプション付きで実行すればいい。

$ rpm -qf /bin/cp
fileutils-4.0w-8k

 これで、cpがfileutils-4.0w-8kというパッケージに含まれていることが分かる。

 ただし、対象となるプログラム(コマンド)はフルパスで指定する必要がある。パスが通っているからといってパスを指定しないと、

$ rpm -qf cp
file cp: No such file or directory

のようにエラーになってしまう。

 フルパスが分からない場合は、whichコマンドを併用すればいい。