yum リポジトリで特定のパッケージだけを扱う

最近すっかり yum 使いに。たまに portinstall とか、手が不思議な動きをするのは内緒。それにしても yum はなんか遅くないですか。apt にした方がいいのかなぁ。でも運用始まったらこんなの頻繁に使わないだろうしなぁ。

えー基本的には /etc/yum.repos.d/ 以下でリポジトリごとに .repo ファイルを置いてあるものとする。

そのファイルの中で

exclude=除外パッケージ名のカンマ区切りリスト

or

includepkgs=利用するパッケージ名のカンマ区切りリスト

という形で特定する1。ともに *, ? の glob が利用できる。

この指定があれば search などの際に該当するパッケージ、あるいは該当するパッケージ以外だけがリストアップされる。試しに以下のように

[fedora-extras]
name=Fedora6 - Extras
baseurl=http://ftp.riken.jp/Linux/fedora/extras/6/i386/
gpgcheck=1
enabled=1
gpgkey=http://ftp.riken.jp/Linux/fedora/extras/RPM-GPG-KEY-Fedora-Extras
priority=2
protect=1
includepkgs=namazu*,kakasi*

fedora extras の riken mirror を指定してやると、

$ yum list all | awk '$3 ~ /fedora/'
kakasi.i386                              2.3.4-22.fc6           fedora-extras
kakasi-devel.i386                        2.3.4-22.fc6           fedora-extras
kakasi-dict.i386                         2.3.4-22.fc6           fedora-extras
namazu.i386                              2.0.16-1.fc6           fedora-extras
namazu-cgi.i386                          2.0.16-1.fc6           fedora-extras
namazu-devel.i386                        2.0.16-1.fc6           fedora-extras

てな感じで fedora-extras の中で利用できるパッケージは kakasi と namazu 関係のものだけになる。2

ま、man 5 yum.conf の劣化コピーなんですが自分のためにメモ。

cf. CentOS 初挑戦で yum リポジトリに悩む

  1. include は最後の s とか忘れがちなので注意。 

  2. ただこれやっちゃうと何か追加したいパッケージが出てくるかもしれないというときに不安になるよね。別名で同じリポジトリを enabled=0 でセットしておくといいのかも。 

More