yum-plugin-fastestmirror

提供:maruko2 Note.
移動: 案内, 検索

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 についてのドキュメント

http://www.centos.org/docs/4/html/yum/index.html

LINEで送る このエントリーをはてなブックマークに追加
個人用ツール
名前空間
変種
表示
操作
案内
ツールボックス

注目のページ

このサイトのはてなブックマーク数