freebsd里有axel默认可作为ports的下载工具,而且不需修改ports里的文件定义。还有prozilla可用,需要修改部分ports参数。这在freebsdchina的论坛精华区里有说明
netbsd虽然没有axel,而且prozilla在wip里。但是它有另一款默认就可支持pkgsrc的多线程下载工具——aget。只需如下操作即可让pkgsrc默认就用支持多线程的aget进行下载
cd /usr/pkgsrc/net/aget
make install clean clean-depends
nano -w /etc/mk.conf #编辑/etc/mk.conf,增加如下内容
复制内容到剪贴板
代码:
#PKG_RESUME_TRANSFERS=YES #支持pkgsrc下载时中断文件的续传,如果你使用netbsd默认下载工具(即“/usr/bin/ftp”)的话可启用它。aget不支持也不需要这个定义,它无需另外设置就默认支持续传功能,对每个下载文件都有log纪录,如果遇到中断下载的文件,它会依照log文件自动续传。prozilla也无需此定义,通过“FETCH_RESUME_ARGS=-r”或直接设置“FETCH_CMD?=/usr/pkg/bin/proz -r”即可实现续传。wget也无需此定义,通过“FETCH_RESUME_ARGS=-c”即可实现续传。
# Used in pkgsrc to resume transfers, if enabled the whole file won't be
# downloaded from scratch again.
# Possible: yes or no.
# Default: no.
FAILOVER_FETCH=yes #文件下载完成后检查校验和。如果不对的话就重新下载。此参数可以防止文件下载失败或错误
# Perform a checksum at "make fetch" time. If the checksum doesn't
# match the stored value, try to retrieve the file from the next site
# in the list
# Possible: defined, not defined
# Default: not defined
FETCH_CMD?=/usr/pkg/bin/aget #aget会自动根据要下载文件的大小自行决定要使用的线程数。如果想手动指定下载线程数(为10)的话就用“aget -n 10”类似参数。或者用“aget -f 10”强制使用指定线程数(为10)。具体使用方法可用“aget -h”命令查看 如果想用prozilla的话,就(注意,需要事先安装pkgsrc-wip。具体信息可到
http://pkgsrc-wip.sourceforge.net/ 查看)
cd /usr/pkgsrc/wip/prozilla
make install clean clean-depends
nano -w /etc/mk.conf #编辑/etc/mk.conf,增加如下内容。如需设置更多参数可以手动修改/usr/pkg/etc/prozilla.conf文件。例如将“#threads = 4”改成“threads = 10”
复制内容到剪贴板
代码:
#PKG_RESUME_TRANSFERS=YES #支持pkgsrc下载时中断文件的续传,如果你使用netbsd默认下载工具(即“/usr/bin/ftp”)的话可启用它。aget不支持也不需要这个定义,它无需另外设置就默认支持续传功能,对每个下载文件都有log纪录,如果遇到中断下载的文件,它会依照log文件自动续传。prozilla也无需此定义,通过“FETCH_RESUME_ARGS=-r”或直接设置“FETCH_CMD?=/usr/pkg/bin/proz -r”即可实现续传。wget也无需此定义,通过“FETCH_RESUME_ARGS=-c”即可实现续传。
# Used in pkgsrc to resume transfers, if enabled the whole file won't be
# downloaded from scratch again.
# Possible: yes or no.
# Default: no.
FAILOVER_FETCH=yes #文件下载完成后检查校验和。如果不对的话就重新下载。此参数可以防止文件下载失败或错误
# Perform a checksum at "make fetch" time. If the checksum doesn't
# match the stored value, try to retrieve the file from the next site
# in the list
# Possible: defined, not defined
# Default: not defined
FETCH_CMD?=/usr/pkg/bin/proz -r #-r参数表示让prozilla支持续传(在netbsd里使用prozilla无需像freebsd那样修改ports的mk,直接设置即可让prozilla完美支持pkgsrc) 如果想用wget的话,就
cd /usr/pkgsrc/net/wget
make install clean clean-depends
nano -w /etc/mk.conf #编辑/etc/mk.conf,增加如下内容。如需设置更多参数可以手动修改/usr/pkg/etc/wgetrc文件
复制内容到剪贴板
代码:
PKG_RESUME_TRANSFERS=YES #支持pkgsrc下载时中断文件的续传,如果你使用netbsd默认下载工具(即“/usr/bin/ftp”)的话可启用它。aget不支持也不需要这个定义,它无需另外设置就默认支持续传功能,对每个下载文件都有log纪录,如果遇到中断下载的文件,它会依照log文件自动续传。prozilla也无需此定义,通过“FETCH_RESUME_ARGS=-r”或直接设置“FETCH_CMD?=/usr/pkg/bin/proz -r”即可实现续传。wget也无需此定义,通过“FETCH_RESUME_ARGS=-c”即可实现续传。
# Used in pkgsrc to resume transfers, if enabled the whole file won't be
# downloaded from scratch again.
# Possible: yes or no.
# Default: no.
FAILOVER_FETCH=yes #文件下载完成后检查校验和。如果不对的话就重新下载。此参数可以防止文件下载失败或错误
# Perform a checksum at "make fetch" time. If the checksum doesn't
# match the stored value, try to retrieve the file from the next site
# in the list
# Possible: defined, not defined
# Default: not defined
FETCH_CMD?=/usr/pkg/bin/wget
FETCH_BEFORE_ARGS=--passive-ftp
FETCH_RESUME_ARGS=-c #-c参数表示让wget支持续传
FETCH_OUTPUT_ARGS=-O aget的主页在
http://www.enderunix.org/aget/
目前的稳定版是0.4 [STABLE],这也是netbsd的pkgsrc里的版本。此版尚无法支持ftp下载,但是经笔者试用完全可作为netbsd的默认pkgsrc下载软件
目前的开发版[DEVELOPMENT] 已能支持ftp,且添加了诸多新功能。新作者也已表示将积极开发新版
wip里的prozilla不够新,还停留在1.3.6,而非官方最新的2.0.4。此处比较遗憾
最后,个人觉得。如果使用了多线程下载的话,就不必要指定那些“MASTER_SITE_”之类的参数了。也无需再使用续传之类的设置。当然,最终选择权还是在使用者手里 Mr. Green