tkuchikiの日記

Linux やプログラミングについて書きます。

yum でインストールした rpm がどの repository のものか調べる

インストール済みの rpm がどの repository のものかは、yumdb コマンドで調べられます。
YumDB - yum - Trac に詳しく書いてありますが、

$ yum install -y yum-utils

して、yumdb コマンドを入れたあとに、

$ yum search from_repo REPO_NAME

で以下のような結果を得られます。

$ yumdb search from_repo epel
Plugin "replace" can't be imported
Loaded plugins: fastestmirror, remove-with-leaves
GeoIP-1.4.8-1.el6.x86_64
     from_repo = epel

GeoIP-devel-1.4.8-1.el6.x86_64
     from_repo = epel

PyYAML-3.10-3.el6.x86_64
     from_repo = epel
...

from_repo 以外にも以下の key が使えるようです。

  • checksum_data
  • checksum_type
  • command_line
  • from_repo_revision
  • from_repo_timestamp
  • reason
  • releasever
  • installonly

それぞれの key については man を参照してください。

ただし、

Since yum 3.2.26 yum has started storing additional information about installed packages in a location outside of the rpmdatabase.

とあり、

yum の version が 3.2.22 な CentOS 5 では使えないようで、
yum-utils を install しても yumdb コマンドは install されませんでした(確認した CentOS 6 は 3.2.29)。