2014/3/20追記
なぜだかこの記事が未だにアクセスされているので追記。
もうFreeBSDではcsupは使われませんので注意のほどを。
追記ここまで
ここでも書いたが、portsのアップデートはcsupにしている。
で、csupを少しでも早くするために、refuseの設定の他、fastest_cvsupも使っている。
このコマンドはperlスクリプトで、カントリーコードを与えて実行すると、自分の環境で反応の速いcvsupサーバ上位3つを返してくれる。
/usr/ports/sysutils/fastest_cvsupからインストールできる。
実行例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
[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に食わせてやる。
実行例
1 2 3 4 5 |
# 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実行時にチェックできるのがいいと思う。
なお、ここで書いたrefuseの設定は以下の通り。
こうしておくと、不要なファイルのダウンロードはしない。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
$ 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 |