fedora core 5にアップグレード。
これを機に、yum の設定をエレガントにしようとして、設定ファイル群のやり方を変えたら、まぬけなtypoしてはまったので、メモ。

定義ファイルの以下の3つのbaseurlを、local-* ファイルに書いた国内ミラーサーバのURLに従うように修正しようとしたら、アクセスできないで失敗。

/etc/yum.repos.d/fedora-core.repo
/etc/yum.repos.d/fedora-updates.repo
/etc/yum.repos.d/fedora-extras.repo
/etc/yum.repos.d/local-base
/etc/yum.repos.d/local-updates
/etc/yum.repos.d/local-extras

例えば、yum update だとこんなエラー。最初は、mirrorlistのURLが間違ってるのかと思った・・・。

# yum update
Loading "installonlyn" plugin
Setting up Update Process
Setting up repositories
core                                        [1/3]
Cannot find a valid baseurl for repo: core
Error: Cannot find a valid baseurl for repo: core

原因は、fedora-core.repo ファイルの typo のミスだった(恥)。
先頭部分の baseurlとmirrorlistをコメントアウト(#)して、local-baseファイルを見に行くようにしたら、そこが間違ってた。そんだけ。
以下、fedora-core.repo ファイルの[core]の部分。他の[〜]とこも同様。

[core]
name=Fedora Core $releasever - $basearch
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/
#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever
mirrorlist=file:///etc/yum.repos.d/local-base
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

↑ここで、mirrorlist=file:///etc/yum.repos.d/local-base にするのを、file://〜 にしてしまっていて、アクセスできなかった。
今まで気にしてなかったけど、file: の後ろは / が3つ必要だったんだ…。gpgkey=file:///〜 とか確かにそうなってる。


ちなみに、local-baseファイルは、以下のようにしておけばOK。
local-updatesファイルなら、core の部分を core/updates に、local-extrasファイルなら、core の部分を extras にする。

# cat local-base
http://ftp.iij.ad.jp/pub/linux/fedora/core/$releasever/$basearch/os/
http://ftp.riken.go.jp/Linux/fedora/core/$releasever/$basearch/os/
http://ftp.kddilabs.jp/pub/Linux/distributions/fedora/core/$releasever/$basearch/os/