Самое быстрое обновление cvs.

Если вы часто обновляете исходники или порты (может быть вас не устраивает portsnap и вы хотите это делать через cvs), то вам будет полезна эта статья. Она рассказывает, о том, как можно каждый раз выбирать сервер обновлений, причём тот, который «ближе» именно к вам, то есть скорость до него найбольшая, среди всех возможных. Это поможет сделать утилита fastest_cvsup, которая находится в портах. По своей сути это простой скрипт на языке perl, который в случае необходимост можно изменить под себя. Ну что, ставим её:


#cd /usr/ports/sysutils/fastest_cvsup && make install clean

Появляется окошко в котором выбираем опцию

[x]    ROUNDTRIP       "Build with round-trip patch"

После установки можно протестировать её. Для этого запустим её с параметром ‘ua’ (код вашей страны)

$fastest_cvsup -c ua
>>  Querying servers in countries: ua
--> Connecting to cvsup.ua.freebsd.org [83.218.232.71]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 12.03 ms
--> Connecting to cvsup2.ua.freebsd.org [62.244.55.197]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 4.63 ms
--> Connecting to cvsup3.ua.freebsd.org [212.42.64.9]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 4.88 ms
--> Connecting to cvsup4.ua.freebsd.org [82.193.96.50]...
* error: connect: timeout
--> Connecting to cvsup5.ua.freebsd.org [213.186.196.224]...
* error: connect: timeout
--> Connecting to cvsup6.ua.freebsd.org [62.149.2.9]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 4.52 ms
--> Connecting to cvsup7.ua.freebsd.org [213.186.196.224]...
* error: connect: timeout
--> Connecting to cvsup8.ua.freebsd.org [83.218.232.71]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 4.22 ms
--> Connecting to cvsup9.ua.freebsd.org [80.249.224.11]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 14.44 ms
--> Connecting to cvsup10.ua.freebsd.org [78.152.160.14]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 16.13 ms
--> Connecting to cvsup11.ua.freebsd.org [217.20.163.35]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 4.13 ms

>>  Speed Daemons:
- 1st: cvsup11.ua.freebsd.org   4.13 ms
- 2st: cvsup8.ua.freebsd.org    4.22 ms
- 3st: cvsup6.ua.freebsd.org    4.52 ms

Конечный результат говорит сам за себя. Теперь можно смело прописывать у себя этот сервер. Но! Каждый раз это делать весьма неудобно. Для этого я немного добавил функционала. Пример. Вы запускаете обновление следующей командой:

#csup /etc/csup.conf

Что бы обновляться через быстрое зеркало, пишем такое:

#csup -h `fastest_cvsup -c ua | grep '1st:' | awk '{print $3}'` /etc/csup.conf

Ключом ‘-h’ мы переопределяем тот хост, который указан в конфигурационном файле /etc/csup.conf. Либо можно пойти ещё дальше, создадим скрипт c названием fcsup:

#!/bin/sh
/usr/bin/csup -h `fastest_cvsup -c ua | grep '1st:' | awk '{print $3}'` /etc/csup.conf

Теперь осталось его положить, например, в /usr/local/bin/ и потом при надобности запускать так:

#fcsup

Как по мне, то стало намного удобнее.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *