Linux中yum利用Axel开启多线程下载,加速

今天在使用Centos 6.4的yum部署MariaDB集群的时候,由于国内没有mariaDB源,使用MariaDB官方源安装下载速度不到10K秒,又不能使用VPN,于是找到Axel

 

Axel插件是基于yum下的一个多线程下载插件,通过打开多个HTTP/FTP连接来将一个文件进行分段下载,从而达到加速下载的目的。

可用于CentOS、RHEL、Fedora等使用yum的Linux发行版。

 

1. 下载axel源码并安装axel:

wgethttp://www.ha97.com/code/axel-2.4.tar.gz
或者wget http://alioth.debian.org/frs/download.php/3015/axel-2.4.tar.gz

解压编译安装:

tarzxvf axel-2.4.tar.gz
cd axel-2.4
./configure
make
make install

2. 配置yum文件

下载配置文件axelget.conf与axelget.py到yum里:


cd /etc/yum/pluginconf.d/
wget http://www.ha97.com/code/axelget.conf


cd /usr/lib/yum-plugins/
wget http://www.ha97.com/code/axelget.py


最后确认 /etc/yum.conf文件中

plugins=1

 

 

3. 更改默认线程数

设置线程数为32线程,或者设置成更多(默认为10线程):

 

vim/usr/lib/yum-plugins/axelget.py

修改如下,将10改为32:

 

 Linux中yum利用Axel开启多线程下载,加速_第1张图片

 

 

这是我下载的效果,原本的速度最高是6K/s,现在变成了100多:

 Linux中yum利用Axel开启多线程下载,加速_第2张图片

 

4. 解决:Error opening local file

 Linux中yum利用Axel开启多线程下载,加速_第3张图片

 

提示文件夹不存在,先找到-o后跟的路径,依次在本地打开,不能打开的就创建文件夹,可以解决此问题。

比如本次缺少的文件夹:/var/cache/yum/x86_64/$releasever/mariadb/packages/

mkdir -p/var/cache/yum/x86_64/$releasever/mariadb/packages/

5. 单独使用Axel 多线程下载

 

注:axel也可以当独立下载工具来使用:


使用参数如下:
一般使用:axel url(下载文件地址);


限速使用:加上 -s 参数,如 -s 10240,即每秒下载的字节数,这里是 10 Kb;
限制连接数:加上 -n 参数,如 -n 10,即打开10个连接。如下:

 

axel -a -n 10 http://xxx.com/1111.zip

 

参数解释:

 

--max-speed=x       -s x   Specify maximum speed (bytes per second)

--num-connections=x-n x    Specify maximum number ofconnections

--output=f      -o f   Specify local output file

--search[=x]        -S [x] Search for mirrors and download from x servers

--header=x      -H x   Add header string

--user-agent=x      -U x   Set user agent

--no-proxy      -N Just don't use any proxy server

--quiet         -q Leave stdout alone

--verbose       -v More status information

--alternate     -a Alternate progress indicator

--help          -h This information

--version       -V Version information

 

 

 

6. 使用yum安装Axel

Centos7 应该可以使用yum安装插件(具体我没试),附上方法

1.安装axel

安装方法:

 

yum -yinstallepel-release

yuminstall axel-2.4-9.el7.x86_64.rpm rpm -ivh axel-2.4-9.el7.x86_64.rpm

 

 

2.安装yum-axelget插件

安装该插件后,yum会使用多线程下载。

yum -y installyum-axelget

 

你可能感兴趣的:(yum,多线程,centos)