yum-plugin-fastestmirror
CentOS や Fedora Core などで yum を使うとパッケージ管理が楽にできるのでけっこう重宝するのだが、デフォルトの状態だと、海外のミラーサーバからパッケージをダウンロードすることがあり、パッケージのダウンロードに時間がかかるときがある。
日本国内のミラーサーバからパッケージをダウンロードするように /etc/yum.repos.d/CentOS-Base.repo を書き換えてもよいのだが、ミラーサーバを効率よく選択する yum-plugin-fastestmirror という yum のプラグインをインストールする。
目次 |
yum は、どのミラーサーバからパッケージをダウンロードしているのか
/etc/yum.repos.d/CentOS-Base.repo に書かれている mirrorlist= の行を、自身のリリースバージョン&アーキテクチャに書き換え、そのURLにアクセスし返ってきたサーバのリストのいずれかから、ミラーサーバを選んでいる。
例えば、CentOS リリース 4.4 アーキテクチャ i386 の場合だと、http://mirrorlist.centos.org/?release=4.4&arch=i386&repo=contrib にアクセスし、表示されたサーバのリストのうちのどれかを選び、パッケージをダウンロードする。
http://ftp.iij.ad.jp/pub/linux/centos/4.4/contrib/i386/ http://ftp.yz.yamagata-u.ac.jp/pub/linux/centos/4.4/contrib/i386/ http://rsync.atworks.co.jp/centos/4.4/contrib/i386/ http://ftp.riken.jp/Linux/centos/4.4/contrib/i386/ ftp://ftp.oss.eznetsols.org/linux/centos/4.4/contrib/i386/ http://ftp.hostrino.com/pub/centos/4.4/contrib/i386/ http://mirror.tini4u.net/centos/4.4/contrib/i386/ http://mirror.secuidc.com/centos/4.4/contrib/i386/ http://mirror.mirr4u.com/centos/4.4/contrib/i386/ http://ftp.cse.yzu.edu.tw/pub/CentOS/4.4/contrib/i386/
1行目から4行目までなら、日本国内のミラーサーバっぽいので短時間でパッケージがダウンロードできると思うが、5行目以下のミラーサーバは海外のサーバっぽいので、おそらくダウンロードに時間がかかるはず。
yum-plugin-fastestmirror は何をするのか
yum-plugin-fastestmirror をインストールすると、ミラーサーバのリストに書かれた全てのサーバとの応答時間を計り、一番応答時間の早いサーバを選択し、パッケージをダウンロードするようになる。
例えば、ここのサーバの場合だと次のようになる。
* rsync.atworks.co.jp : 0.020268 secs * ftp.riken.jp : 0.020089 secs * ftp.iij.ad.jp : 0.030303 secs * ftp.yz.yamagata-u.ac.jp : 0.033350 secs * ftp.cs.pu.edu.tw : 0.047894 secs * mirror.mirr4u.com : 0.061208 secs * ftp.hostrino.com : 0.177043 secs * ftp.oss.eznetsols.org : 0.204441 secs * mirror.tini4u.net : 0.240055 secs * mirror.secuidc.com : 0.241602 secs
ftp.riken.jp が僅差だが、最も応答時間が良いので、ftp.riken.jp からパッケージをダウンロードするようになる。
この応答時間については、yum-plugin-fastestmirror インストール後 /etc/yum/pluginconf.d/fastestmirror.conf の verbose=0 を verbose=1 に修正することで表示されるようになる。 |
この応答時間は、/etc/yum/pluginconf.d/fastestmirror.conf の hostfilepath= の行に書かれた /var/cache/yum/timedhosts.txt ファイルに書かれている。 |
yum-plugin-fastestmirror のインストール
/etc/yum.conf に plugins=1 の行を追記する。
[main] cachedir=/var/cache/yum debuglevel=2 logfile=/var/log/yum.log pkgpolicy=newest distroverpkg=centos-release tolerant=1 exactarch=1 retries=20 obsoletes=1 gpgcheck=1 plugins=1
追記後、次のコマンドでインストールする。
yum install yum-plugin-fastestmirror
Setting up Install Process Setting up repositories update 100% |=========================| 951 B 00:00 base 100% |=========================| 1.1 kB 00:00 addons 100% |=========================| 951 B 00:00 extras 100% |=========================| 1.1 kB 00:00 Reading repository metadata in from local files primary.xml.gz 100% |=========================| 96 kB 00:00 update : ################################################## 282/282 Added 282 new packages, deleted 0 old in 1.56 seconds primary.xml.gz 100% |=========================| 657 kB 00:02 base : ################################################## 1703/1703 Added 1703 new packages, deleted 0 old in 6.95 seconds primary.xml.gz 100% |=========================| 157 B 00:00 Added 0 new packages, deleted 0 old in 0.04 seconds primary.xml.gz 100% |=========================| 32 kB 00:00 extras : ################################################## 126/126 Added 126 new packages, deleted 0 old in 0.44 seconds Parsing package install arguments Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Downloading header for yum-plugin-fastestmirror to pack into transaction set. yum-plugin-fastestmirror- 100% |=========================| 3.1 kB 00:00 ---> Package yum-plugin-fastestmirror.noarch 0:0.2.4-3.c4 set to be updated --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: yum-plugin-fastestmirror noarch 0.2.4-3.c4 extras 13 k Transaction Summary ============================================================================= Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 13 k Is this ok [y/N]: y Downloading Packages: (1/1): yum-plugin-fastest 100% |=========================| 13 kB 00:00 warning: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 443e1821 Public key for yum-plugin-fastestmirror-0.2.4-3.c4.noarch.rpm is not installed Retrieving GPG key from http://mirror.centos.org/centos/RPM-GPG-KEY-centos4 Importing GPG key 0x443E1821 "CentOS-4 key <centos-4key@centos.org>" Is this ok [y/N]: y Key imported successfully Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: yum-plugin-fastestmirror ######################### [1/1] Installed: yum-plugin-fastestmirror.noarch 0:0.2.4-3.c4 Complete!
インストール完了後は、yum を使うと Loading "fastestmirror" plugin と表示されるようになる。
[root@centos ~]# yum list Loading "fastestmirror" plugin Setting up repositories
yum-plugin-fastestmirror インストール後の yum の conf ファイル構成
/etc/yum.conf /etc/yum/yum-daily.yum /etc/yum.repo.d/CentOS-Base.repo /etc/yum.repo.d/CentOS-Media.repo /etc/yum/pluginconf.d/fastestmirror.conf ←インストール後、追加される
fastestmirror.conf の内容
yum-plugin-fastestmirror インストール後、/etc/yum/pluginconf.d/fastestmirror.conf ファイルが作成される。デフォルトでは、次のような内容になっている。
[main] enabled=1 verbose=0 socket_timeout=3 hostfilepath=/var/cache/yum/timedhosts.txt maxhostfileage=1
yum についてのドキュメント
- www.centos.org のドキュメント