阅读上一个主题 :: 阅读下一个主题 |
作者 |
留言 |
newsim 道士
注册时间: 2003-01-16 文章: 606
|
发表于: Wed 2004-04-21 19:32:21 发表主题: [分享]如何使用多线程下载工具proz代替fetch用于ports的安装? |
|
|
在安装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}
4、OK结束了。 |
|
返回页首 |
|
 |
gzbsd 道童
注册时间: 2004-02-29 文章: 282 来自: 中山大学
|
发表于: Wed 2004-04-21 20:18:06 发表主题: |
|
|
不错,不过多线程下载会不会被封ip的? _________________ 鄙视那些只索取不付出的人! |
|
返回页首 |
|
 |
韬光晦影 道童

注册时间: 2004-03-05 文章: 447 来自: sn
|
发表于: Wed 2004-04-21 20:20:53 发表主题: |
|
|
+j _________________ ��⊙⊙─┐
/. │韬光晦影 http://www.d2cn.com ┌
└──┴┴───────────────┘ |
|
返回页首 |
|
 |
quakelee 道童
注册时间: 2002-09-16 文章: 273
|
发表于: Wed 2004-04-21 23:52:51 发表主题: Re: [分享]如何使用多线程下载工具proz代替fetch用于ports的安装? |
|
|
newsim 写到: | 在安装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}
4、OK结束了。 |
你这个方法也有个大问题,你cvsup ports的时候怎么办?
你要知道直接修改bsd.port.mk的话,cvsup比较出来跟原始版本不同会重新checkout的,而且最近ports的结构经常改变,你如果不更新bsd.port.mk的话也是会有问题的 |
|
返回页首 |
|
 |
朝九晚五 半仙
注册时间: 2004-05-05 文章: 2
|
发表于: Wed 2004-05-05 03:01:23 发表主题: |
|
|
不错,回家试试,FB下还没玩过多线程下载  |
|
返回页首 |
|
 |
ruf 老妖
注册时间: 2004-02-13 文章: 2577 来自: 南京
|
发表于: Sun 2004-05-16 15:38:39 发表主题: |
|
|
自己制做一个脚本,比如/usr/local/bin/mydownload.pl,里面用proz下载,支持-o参数不就可以了么。修改非定制化的文件不是一个很好的想法。 _________________ 来如流水兮逝如风,不知何处来兮何所终!
一人飘飘入世,实如江河流水,不知来自何处;飘飘出世,又如清风之不知吹向何方! |
|
返回页首 |
|
 |
rhinofly 道童
注册时间: 2004-05-07 文章: 233
|
发表于: Tue 2004-06-01 10:39:16 发表主题: |
|
|
用shell写一个warpper ... _________________ -
蜗牛的蜗,蜗牛的牛.
-
Keep It Simple, Stupid.
-
msn&email:rhinofly@oss4e.net
-
旧时澳洲林中土,幻作中原飞天牛
- |
|
返回页首 |
|
 |
梦幻者言R 道士
注册时间: 2004-03-30 文章: 622 来自: 康乐园(广东)
|
发表于: Sat 2004-06-26 16:55:16 发表主题: |
|
|
我想问一下如何。用wget去代替默认的fetch?
不知道是fetch的问题,还是别的。
我的网络,fetch的时候,有些软件包下不了。no route to host
可是用wget下载同样的连接却可以。。ft~ _________________ www.lywen.cn
www.lywedu.cn |
|
返回页首 |
|
 |
park 道童
注册时间: 2004-01-28 文章: 257
|
发表于: Tue 2004-08-10 00:16:33 发表主题: |
|
|
ruf 写到: | 自己制做一个脚本,比如/usr/local/bin/mydownload.pl,里面用proz下载,支持-o参数不就可以了么。修改非定制化的文件不是一个很好的想法。 |
具体怎么做? |
|
返回页首 |
|
 |
park 道童
注册时间: 2004-01-28 文章: 257
|
发表于: Tue 2004-08-10 09:14:55 发表主题: Re: [分享]如何使用多线程下载工具proz代替fetch用于ports的安装? |
|
|
newsim 写到: | 在安装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}
4、OK结束了。 |
5.2的做法一样吗? |
|
返回页首 |
|
 |
park 道童
注册时间: 2004-01-28 文章: 257
|
发表于: Tue 2004-08-10 09:27:01 发表主题: |
|
|
5.2我改的怎么不行? |
|
返回页首 |
|
 |
park 道童
注册时间: 2004-01-28 文章: 257
|
发表于: Tue 2004-08-10 09:29:08 发表主题: |
|
|
这个
cp /usr/ports/Mk/bsd.port.mk /usr/ports/Mk/bsd.port.mk
自己cp自己呀? |
|
返回页首 |
|
 |
newsim 道士
注册时间: 2003-01-16 文章: 606
|
发表于: Wed 2004-08-11 12:34:48 发表主题: Re: [分享]如何使用多线程下载工具proz代替fetch用于ports的安装? |
|
|
newsim 写到: | 在安装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 ~/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}
4、OK结束了。 |
_________________ 越简单越接近本质! |
|
返回页首 |
|
 |
park 道童
注册时间: 2004-01-28 文章: 257
|
发表于: Sun 2004-08-15 16:30:03 发表主题: |
|
|
出现在服务器找不到文件时需要手动安一下键盘,这个比较麻烦,能自动跳过吗? |
|
返回页首 |
|
 |
zagorot 半仙
注册时间: 2004-09-16 文章: 14
|
发表于: Sat 2004-09-18 21:07:28 发表主题: |
|
|
park 写到: | 这个
cp /usr/ports/Mk/bsd.port.mk /usr/ports/Mk/bsd.port.mk
自己cp自己呀? |
他自己写错了而已。你自己改改名字不就行了吗? |
|
返回页首 |
|
 |
zagorot 半仙
注册时间: 2004-09-16 文章: 14
|
发表于: Sat 2004-09-18 21:12:19 发表主题: |
|
|
5.2版本的bsd.port.mk文件内容有些增加,所以他说的行号与你的可能不对应,你自己先查找到他所需修改的相应内容,然后再按照他说的去修改就行啦。呵呵,我现在就正在下载新版mozilla......  |
|
返回页首 |
|
 |
LYOO 半仙
注册时间: 2003-04-05 文章: 7
|
发表于: Sat 2005-01-22 20:06:12 发表主题: |
|
|
嗯,fetch的效率低,但更烦心的是下载源码时各个ports指的下载地址速度太慢,头一个就是默认的ftp.gnome.org镜像站,我最近刚从gnome2.6升级到gnome2.8,下载的过程真是痛苦,最后我只好遇到一个下不动的大包就停下gnomeupgrade.sh,然后手工用xdownload从就近的站将要下的源码包先下好放到distfiles下(Xorg、Mozilla、Gnome中的n个包),终于升级完成。
不知各位有什么好的方案没? |
|
返回页首 |
|
 |
iheaing 道士
注册时间: 2005-01-20 文章: 773
|
发表于: Mon 2005-01-31 11:11:59 发表主题: |
|
|
我的freebsd 4.11 在/usr/ports/ftp/下没有proz,只有prozilla。它们是同一个东西吗?
whereis proz
找不到。 |
|
返回页首 |
|
 |
Max 道士

注册时间: 2004-04-20 文章: 606 来自: Los Angeles
|
发表于: Mon 2005-01-31 12:40:16 发表主题: |
|
|
iheaing 写到: | 我的freebsd 4.11 在/usr/ports/ftp/下没有proz,只有prozilla。它们是同一个东西吗?
whereis proz
找不到。 |
就是prozilla它的执行文件是proz  _________________ Are humans all alone in the universe?
Search for......ET on your......PC......!! Join SETI@Home!! This is My State. |
|
返回页首 |
|
 |
hbaoy 半仙
注册时间: 2004-02-26 文章: 119
|
发表于: Sun 2005-02-20 07:18:24 发表主题: |
|
|
用这个东西,你怎么解决非常小的文件的下载问题
非常小的文件用PROZ是绝对的浪费时间 |
|
返回页首 |
|
 |
|