2014/3/20追記
なぜだかこの記事が未だにアクセスされているので追記。
もうFreeBSDではcsupは使われませんので注意のほどを。
追記ここまで
[ここ](http://d.hatena.ne.jp/flageo/20071021/p2)でも書いたが、portsのアップデートはcsupにしている。
で、csupを少しでも早くするために、refuseの設定の他、fastest_cvsupも使っている。
このコマンドはperlスクリプトで、カントリーコードを与えて実行すると、自分の環境で反応の速いcvsupサーバ上位3つを返してくれる。
/usr/ports/sysutils/fastest_cvsupからインストールできる。
実行例。
[flageo@xxx ]$ fastest_cvsup -c jp
>> Querying servers in countries: jp
--> Connecting to cvsup.jp.freebsd.org [210.224.172.75]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 56.67 ms
--> Connecting to cvsup2.jp.freebsd.org [203.216.196.85]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 23.71 ms
--> Connecting to cvsup3.jp.freebsd.org [59.106.2.11]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 24.14 ms
--> Connecting to cvsup4.jp.freebsd.org [133.1.240.15]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 28.51 ms
--> Connecting to cvsup5.jp.freebsd.org [210.161.150.4]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 46.06 ms
--> Connecting to cvsup6.jp.freebsd.org [59.106.2.11]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 29.57 ms
>> Speed Daemons:
- 1st: cvsup2.jp.freebsd.org
- 2nd: cvsup3.jp.freebsd.org
- 3rd: cvsup4.jp.freebsd.org
で、-qオプションを与えてやると一番速いとこだけを返すようになるので、これをcsupに食わせてやる。
実行例
# csup -h `/usr/local/bin/fastest_cvsup -q -c jp` -g /etc/supfile-ports
-=(oooooo)=(cvsup6.jp.freebsd.org)=-
Connected to 203.216.196.85
Updating collection ports-all/cvs
(略)
その時々でネットワークの状況だったり、サーバの混み具合が違い、結果として速いサーバも変わってくるので、csup実行時にチェックできるのがいいと思う。
なお、[ここ](http://d.hatena.ne.jp/flageo/20071021/p2)で書いたrefuseの設定は以下の通り。
こうしておくと、不要なファイルのダウンロードはしない。
$ cat /var/db/sup/refuse
doc/bn_*
doc/da_*
doc/de_*
doc/el_*
doc/es_*
doc/fr_*
doc/hu_*
doc/id_*
doc/it_*
doc/mn_*
doc/nl_*
doc/no_*
doc/pl_*
doc/pt_*
doc/ro_*
doc/ru_*
doc/sr_*
doc/tr_*
doc/zh_*
ports/arabic
ports/chinese
ports/french
ports/german
ports/hebrew
ports/hungarian
ports/korean
ports/polish
ports/portuguese
ports/russian
ports/ukrainian
ports/vietnamese