|
|
得要承认解决这个问题的办法只有:
1、等待国内镜像的出现(被动)
2、采用多线程下载(主动)
前者遥遥无期。所以这里用的是后面的有点儿不妥的办法。说它不妥是因为都用多线程的话对Arch的mirror是一种考验……所以建议下载速度还可以的朋友就别这么做了。
Arch里关于pacman 的manpage有这么一段:
- XferCommand = /path/to/command %u
- If set, pacman will use this external program to download all remote files. All instances of %u
- will be replaced with the URL to be downloaded. If present, instances of %o will be replaced
- with the local filename, plus a ".part" extension, which allows programs like wget to do file
- resumes properly.
- This option is useful for users who experience problems with pacman's built-in http/ftp support,
- 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 ' |
|