FreeBSD在安装ports时时间过长的解决方法

(编辑:jimmy 日期: 2024/11/15 浏览:2)

FreeBSD在安装ports时缩短下载时间

方法A: 使用代理。

在/etc/make.conf中设置:
FETCH_ENV= "HTTP_PROXY=IP[:端口]"
如果需要,在FETCH_ENV值后面加入空格,
HTTP_PROXY_AUTH=basic:*:user:password

方法B: 在其它机器上fetch

make fetch-recursive
...
然后将/usr/ports/distfiles拿走。


方法c:使用wget/axel加速你的port下载


以下所述功能均通过修改make.conf实现

对于wget
========
FETCH_CMD= wget
FETCH_BEFORE_ARGS= -c -t 1
FETCH_AFTER_ARGS=
DISABLE_SIZE=yes #这行是必要的,否则...

前面3行也可以换成
FETCH_CMD=wget -c -t 1

如果你要wget穿透代理服务器,请加上下面两行
FETCH_ENV=http_proxy=http://proxy2.zsu.edu.cn:3128
FETCH_ENV=ftp_proxy=http://proxy2.zsu.edu.cn:3128

或者使用其他的穿越代理工具例如proxychains 或者socks5(runsocks)
则FETCH_CMD=proxychains wget或者runsocks wget

什么?不知道wget是什么?那就先
cd /usr/ports/ftp/wget/
make install clean

对于axel
========
同样,也可以使用axel来替换fetch来进行多线程下载
FETCH_CMD=axel
FETCH_BEFORE_ARGS= -a
FETCH_AFTER_ARGS=
DISABLE_SIZE=yes
或者只写一行
FETCH_CMD=axel -a

axel 穿透代理服务器的方法与wget一致

axel在/usr/ports/ftp/axel位置


添加更快的port下载站点
====================
另外,加上以下两行可以在让make先从更快的站点下载port

MASTER_SITE_OVERRIDE= \
ftp://ftp2.tsinghua.edu.cn/mirror/FreeBSD/ports/distfiles/\
ftp://freebsd.csie.nctu.edu.tw/pub/FreeBSD/ports/distfiles/\
ftp://ftp.hk.freebsd.org/pub/FreeBSD/ports/distfiles/\
ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/
这个是教育网的设置,公网的兄弟可以看着办啦