由于ports默认是单线程下载的,就算你网络再好,速度也很慢,根本发挥不了你高带宽的优势。所以我们需要借助wget或者axel软件来提供多线程下载。
由于我是linux用户转过来的,所以对wget比较熟悉。今天我们就是先用wget来加速下载。
一、安装wget
freebsd默认是没有安装wget的,所以需要我们自己安装,命令如下。
[root@fb /etc]# whereis wget \\查找wget的位置
wget:/usr/ports/ftp/wget
[root@fb /etc]# cd /usr/ports/ftp/wget
[root@fb /usr/ports/ftp/wget]# make install clean \\编译安装wget,由于是工具,所以我们没必要加什么参数,默认就可以了。
安装完成以后,在用whereis wget 查找下
[root@fb /usr/ports/ftp/wget]# whereis wget
wget: /usr/local/bin/wget /usr/local/man/man1/wget.1.gz /usr/ports/ftp/wget
就会发现已经有wget的执行文件了。到此wget安装完成
二、让ports调用wget下载工具。
是用你熟悉的文本编辑器修改/etc/make.conf,修改后内容如下
[root@fb /usr/ports/ftp/wget]# cat /etc/make.conf
# added by use.perl 2009-12-08 05:34:56
PERL_VERSION=5.8.9
FETCH_CMD=wget -c -t 1
DISABLE_SIZE=yes
wget -c参数的含义是断点续传功能打开,-t 是重试连接次数。
如果你要让wget穿透代理服务器,需要加上以下两行
FETCH_ENV=http_proxy=http://proxy.isadba.com:3128 \\http代理
FETCH_ENV=ftp_proxy=http://proxy.isadba.com:3128 \\ftp代理
\\proxy.isadba.com 是代理服务器 3128是端口
使用axel 下载,由于axel是支持多线程下载的工具,所以下载速度会比wget好些。
一、安装axel
[root@fb ~]# whereis axel
axel: /usr/ports/ftp/axel
[root@fb ~]# cd /usr/ports/ftp/axel/
[root@fb /usr/ports/ftp/axel]# make install clean
二、修改/etc/make.conf
FETCH_CMD=axel -n 10
如果你要让axel穿透代理服务器,需要加上以下两行
FETCH_ENV=http_proxy=http://proxy.isadba.com:3128 \\http代理
FETCH_ENV=ftp_proxy=http://proxy.isadba.com:3128 \\ftp代理
完成以上工作后,你可以尝试在使用ports安装软件,速度应该会快很多。
【编辑推荐】