LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 9611|回复: 30

用多线程下载器解决Arch镜像普遍偏慢的办法(总结一下朋友们讨论后的结果)

[复制链接]
发表于 2005-2-25 03:54:18 | 显示全部楼层 |阅读模式
得要承认解决这个问题的办法只有:
1、等待国内镜像的出现(被动)
2、采用多线程下载(主动)
前者遥遥无期。所以这里用的是后面的有点儿不妥的办法。说它不妥是因为都用多线程的话对Arch的mirror是一种考验……所以建议下载速度还可以的朋友就别这么做了。

Arch里关于pacman 的manpage有这么一段:

  1.        XferCommand = /path/to/command %u
  2.               If set, pacman will use this external program to download all remote files.  All instances of %u
  3.               will  be  replaced  with the URL to be downloaded.  If present, instances of %o will be replaced
  4.               with the local filename, plus a ".part" extension, which allows programs like wget  to  do  file
  5.               resumes properly.

  6.               This option is useful for users who experience problems with pacman's built-in http/ftp support,
  7.               or need the more advanced proxy support that comes with utilities like wget.
复制代码


也就是说用其他下载工具连接镜像是被pacman的脚本支持的。什么参数都不加的话,直接修改将/etc/pacman.conf中的相关语句改为 /path/to/yourdownloadtool %u就完全可以使用。咱们就用支持多线程的prozilla。也就是把
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
改为
XferCommand = /usr/bin/proz %u
(之前别忘了pacman -Sy prozilla)
然后再用pacman安装软件包就会调用prozilla来下载。默认的线程是4个,考虑到服务器的负担,建议就不要添加参数修改线程了。

另注:
1、proz后面跟上-r参数,可以实现断点续传(未测试)。
2、系统默认用wget 的时候后面跟了--passive参数。那么如果你使用prozilla之外的软件,请也让该软件连接ftp时使用pasv模式。
3、tr-cary斑竹给的lftp的调用语句:XferCommand = /usr/bin/lftp -c 'pget %u -o %o '
发表于 2005-2-25 08:21:44 | 显示全部楼层
还是用wget来得安全,多线程的有时下载的文件会坏掉。

这里给出lftp的改法,用lftp看进度会比较好看

XferCommand = /usr/bin/lftp -c 'pget %u -o %o '
回复 支持 反对

使用道具 举报

发表于 2005-2-25 09:29:48 | 显示全部楼层
proz -sr %u
加了一个-s,搜索一下镜像
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-25 10:37:44 | 显示全部楼层
Post by tx-cary
还是用wget来得安全,多线程的有时下载的文件会坏掉。

这里给出lftp的改法,用lftp看进度会比较好看

XferCommand = /usr/bin/lftp -c 'pget %u -o %o '


请教斑竹:偶仔细看了prozilla的manpage,没有发现类似写入指定文件的功能,官方主页上的说明更是简单的只有一小段,它确实没有这个设定吧?
回复 支持 反对

使用道具 举报

发表于 2005-2-25 11:17:24 | 显示全部楼层
据我研究也没有。所以后来我才考虑用lftp,但是lftp确实不如proz快。

用了一段时间,还是改回wget了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-25 14:24:11 | 显示全部楼层
呵呵。偶一直不太喜欢ftp……连接的时候慢。
proz的下载信息显示也还算是比较方便了。用wget单线程比pacman自身的下载要稳定、快速许多。所以建议想提速的先试试用wget,如果还是太慢再用proz不迟。

唉。用多线程心中有愧……不过没办法啊,尤其是从头装系统的话,几百M的东西,5k/s往下拖……能急死人。
回复 支持 反对

使用道具 举报

发表于 2005-2-26 17:52:41 | 显示全部楼层
安全第一
pz 确实快 但有时文件 会有问题
还是wget 的数据安全最好...  速度 我忍了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-26 20:56:02 | 显示全部楼层
呵呵。文件有问题md5检测会失败,然后你把说有问题的包rm了再来一次不就得了,已下载的又不用重下。还是比wget有效率。

速度装小东西能忍,新装系统的时候一下好几百兆,怎么忍啊。
回复 支持 反对

使用道具 举报

发表于 2005-3-2 18:34:39 | 显示全部楼层
吐血,下个Wine,一下午就从80%下到85%
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-2 18:55:40 | 显示全部楼层


用多线程以后,一下午够装好几个完整的桌面系统了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表