• FreeBSD中用wget/axel替代fetch下载ports

    日期:2010.05.09 | 分类:Linux&Unix | 标签: ,,,,,,

    参考 FreeBSD manual
    http://www.freebsd.org/doc/zh_CN.GB2312/books/handbook/ports-using.html

    方法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://ip:3128
    FETCH_ENV=ftp_proxy=http://ip: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?=\
    http://ports.hshh.org/${DIST_SUBDIR}/ \
    http://ports.cn.freebsd.org/${DIST_SUBDIR}/ \
    ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ \
    ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/distfiles/

    我的 /etc/make.conf 文件:
    FETCH_CMD=axel -a
    DISABLE_SIZE=yes
    MASTER_SITE_OVERRIDE?=\
    http://ports.hshh.org/${DIST_SUBDIR}/ \
    http://ports.cn.freebsd.org/${DIST_SUBDIR}/ \
    ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ \
    ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/distfiles/