fastestmirrorは必ずしも速いミラーサーバーを選択しません。yumはリポジトリの設定のmirrorlistに示されたURLからミラーサーバーの一覧を取得します。fastestmirrorは一覧に含まれているサーバーについて、接続に掛かる時間を計って一番速いサーバーを選びます。fastmirrorが計っているのは接続の速さなので、そのあとのダウンロードが速いとは限りません。
fastestmirrorが裏目に出ることもあります。日本から取得したミラーサーバーの一覧には日本のものが最初に載っていますが、海外のものも含まれています。fastmirrorが速度を計ったときに、運悪く国内のサーバーの応答が悪いと海外のサーバーが選ばれます。そうして選ばれた海外のサーバーからのダウンロードが速いことはまずありません。
それを避ける方法の一つが、リポジトリの設定ファイルのmirrorlistをコメントアウトしてbaseurlで速いミラーサーバーを指定することです。広く用いられているのはこの方法です。baseurlに一つしかURLを指定しないと、そのサーバーが応答しないときにyumが機能しないので、複数指定したほうがいいです。たとえばCentOSの/etc/yum.repos.d/CentOS-Base.repoなら以下のように指定します。
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://ftp.jaist.ac.jp/pub/Linux/CentOS/$releasever/os/$basearch/
http://ftp.iij.ad.jp/pub/linux/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
サーバーの選択はあくまでも一例です。二つ目以降のURLにはインデントが必要です。base以外のリポジトリのbaseurlも同様に指定します。複数指定したときにどのサーバーが使われるかは、fastestmirrorが決めます。もう一つは、/etc/yum/pluginconf.d/fastestmirror.confに以下のようにpreferオプションでサーバーを一つ指定する方法です。この方法はfastmirror.confに一行足すだけで、お気に入りのミラーサーバーが使えるので便利です。
prefer=ftp.jaist.ac.jp
サーバーの選択はあくまでも一例です。mirrorlistのURLの返す一覧に含まれているサーバーであれば、どれでもかまいません。これを指定したら/var/cache/yum以下にあるtimedhosts.txtをいったん削除してください。次からyumは指定したサーバーを使います。指定したサーバーが応答しなければ、ほかの接続が速いサーバーを使います。
0 件のコメント:
コメントを投稿