■
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/