多线程proz代替fetch用于ports的安装

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

在安装ports时需要下载需要安装的文件,默认的下载程序是/usr/bin/fetch,这是一个单线程的下载工具,并不能满足大批量下载的要求,因此需要使用多线程下载工具proz来代替fetch。

ports下载使用哪个程序是由/usr/ports/Mk/bsd.port.mk中FETCH_CMD这个变量决定的。因为所有的ports中的Makefile都会包含这个文件,所以只需要更改这个文件就可以。

设置FETCH_CMD有好几种方法,其中一种是在/etc/make.conf中设定FETCH_CMD=/usr/local/bin/proz。但是这方法会存在一些问题,因为有些ports在安装下载的时候会在/usr/ports/distfiles中创建一个目录,比如:vim,下载的文件是应该?+旁诏usr/ports/distfiles/vim中的,在bsd.port.mk文件中会传递一个参数给fetch,让它把下载来的文件放在对应的地方,在使用fetch的时候这个参数是-o,但是在使用proz时应该是-P,所以用这种方法在下载文件是放在一个目录内时就会出错。所以应该采用以下的方法:

1、备份文件

# cp /usr/ports/Mk/bsd.port.mk /usr/ports/Mk/bsd.port.mk

2、更改FETCH_CMD的设置

# vi /usr/ports/Mk/bsd.port.mk

把1626行的

FETCH_CMD?= /usr/bin/fetch

更改为:

FETCH_CMD?= /usr/local/bin/proz

把1628行的

FETCH_CMD?= /usr/bin/fetch -Afr

更改为:

FETCH_CMD?= /usr/local/bin/proz -r

把1636行的

FETCH_CMD?= /usr/bin/ftp

更改为:

FETCH_CMD?= /usr/local/bin/proz

把1633行注释掉:

#FETCH_BEFORE_ARGS+= $${CKSIZE:+-S $$CKSIZE}

3、更改传递目录的参数:

把2865行的

args="-o "${file} $${site}$${file}

更改为:

args="-P "${_DISTDIR} $${site}$${file}

把2913行的

args="-o "${file} $${site}$${file}

更改为:

args="-P "${_DISTDIR} $${site}$${file}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航