Ubuntu 学习笔记之——下载神器aria2

前言:

刚刚接触Linux两天,之前也玩过几天Ubuntu,当时搞双系统感觉比较繁琐,于是几天之后便放弃了。前几天,突然发现了一个小东西,一个叫Aria2c的下载器,兴趣突然上来了,决定真正的体验一下Linux的世界。任何学习都离不开四个字:“持之以恒”。

正文:

这次安装的Ubuntu版本是Kylin 14.04 LTS,界面比原来又华丽的许多。直接从安装aria2入手,一点点的探索Linux系统,遇到问题就 google,baidu,终于把它搞成!

aria2安装的两种方式:

  • 直接从源中添加:$ sudo apt-get install aria2
  • 下载源文件包自己编译 :例如,aria2-1.19.0.tar.bz2

一般,源中的版本会比较旧,但是安装方便。如果又版本更新控的话,建议直接到aria2官网下载相应的新版本自己安装即可。

Linux包解压、编译及安装的方法 :

解压:进入安装包所在的目录,例如/home/xxx/download
$ cd /home/xxx/download
$ tar xf aria2-1.19.0.tar.bz2

编译及安装:进入解压后得到的文件夹,例如解压出的文件夹名为aria2-1.19.0
$ cd /aria2-1.19.0
$ ./configure
$ make
$ make install

【注】:如果之后要删除,则进入编译的文件夹,执行如下命令:
$ make uninstall

这样,aria2就安装好了,终端直接运行aria2c -v可查看版本。

aria2配置文件 aria2.conf

使用aria2比较推荐的方式是通过配置文件aria2.conf
自建一个空白文本,复制如下的配置并保存:

dir=/home/xxx/下载
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
#disk-cache=32M
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
#file-allocation=trunc
continue=true

## 下载连接相关 ##

# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=5
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=16
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
split=5
# 整体下载速度限制, 运行时可修改, 默认:0
#max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0
#max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0
max-overall-upload-limit=10K
# 单个任务上传速度限制, 默认:0
max-upload-limit=20
# 禁用IPv6, 默认:false
disable-ipv6=true

## 进度保存相关 ##

# 从会话文件中读取下载任务
input-file=/home/xxx/文档/aria2/aria2.session
# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/home/xxx/文档/aria2/aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
#save-session-interval=60

## RPC相关设置 ##

# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许非外部访问, 默认:false
rpc-listen-all=true
# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
#event-poll=select
# RPC监听端口, 端口被占用时可以修改, 默认:6800
#rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
rpc-secret=vacuum
# 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-user=
# 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-passwd=

## BT/PT下载相关 ##

# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
#follow-torrent=true
# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=51413
# 单个种子最大连接数, 默认:55
#bt-max-peers=55
# 打开DHT功能, PT需要禁用, 默认:true
#enable-dht=false
# 打开IPv6 DHT功能, PT需要禁用
enable-dht6=false
# DHT网络监听端口, 默认:6881-6999
#dht-listen-port=6881-6999
# 本地节点查找, PT需要禁用, 默认:false
#bt-enable-lpd=false
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=false
# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K
# 客户端伪装, PT需要
#peer-id-prefix=-TR2770-
#user-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
#seed-ratio=0
# 强制保存会话, 话即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false
# BT校验相关, 默认:true
#bt-hash-check-seed=true
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true

以上只一些基本设置,仅供参考,更详细设置请到aria2c在线文档细细挖掘。

结合配置文件运行aria2的命令为:
aria2c --conf-path=<配置文件的绝对路径> [-D]
参数-D:后台执行
例如:aria2c --conf-path=/home/xxx/文档/aria2/aria2.conf [-D]

随后为了更完美地使用,需要设置aria2开机自启动。

aria2开机自启动

方法一 编辑rc.local脚本

Ubuntu开机之后会执行/etc/rc.local文件中的脚本,所以我们可以直接在/etc/rc.local中添加启动脚本。当然要添加到语句:exit 0前面才行。

在某个自定义位置 ( 例如: /home/xxx/文档/aria2/)下新建空白文档,命名为runaria2.sh (命名随意),添加如下命令并保存:
#! /bin/sh
aria2c --conf-path=/home/xxx/文档/aria2/aria2.conf -D
然后为该脚本增加可执行权限:
sudo chmod a+x runaria2.sh

编辑文件“/etc/rc.local”在最后添加:
sudo /home/xxx/文档/aria2/runaria2.sh

此时,aria2应该能够开机自启动了。

方法二 添加一个Ubuntu的开机启动服务(未实践)

如果要添加为开机启动执行的脚本文件,
可先将脚本复制或者软连接到/etc/init.d/目录下,
然后用:update-rc.d xxx defaults NN命令(NN为启动顺序),
将脚本添加到初始化执行的队列中去。
注意如果脚本需要用到网络,则NN需设置一个比较大的数字,如99。
1) 将你的启动脚本复制到 /etc/init.d目录下
以下假设你的脚本文件名为 test。
2) 设置脚本文件的权限
代码如下:
$ sudo chmod 755 /etc/init.d/test
3) 执行如下命令将脚本放到启动脚本中去:
代码如下:
$ cd /etc/init.d
$ sudo update-rc.d test defaults 95
注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。该命令的输出信息参考如下:
update-rc.d: warning: /etc/init.d/test missing LSB information
update-rc.d: see http://wiki.debian.org/LSBInitScripts
Adding system startup for /etc/init.d/test …
/etc/rc0.d/K95test -> ../init.d/test
/etc/rc1.d/K95test -> ../init.d/test
/etc/rc6.d/K95test -> ../init.d/test
/etc/rc2.d/S95test -> ../init.d/test
/etc/rc3.d/S95test -> ../init.d/test
/etc/rc4.d/S95test -> ../init.d/test
/etc/rc5.d/S95test -> ../init.d/test`
卸载启动脚本的方法:
代码如下:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove
命令输出的信息参考如下:
Removing any system startup links for /etc/init.d/test …
/etc/rc0.d/K95test
/etc/rc1.d/K95test
/etc/rc2.d/S95test
/etc/rc3.d/S95test
/etc/rc4.d/S95test
/etc/rc5.d/S95test
/etc/rc6.d/K95test

Web 前端

aria2只是一个命令行执行程序,配合web前端才能发挥最大的效用。目前比较流行的web前端有下面两个:
YAAW 原版
WebUI 原版
另外,我喜欢的两个谷歌chrome插件:
YAAW for Chrome, 百度网盘助手
百度盘,或者正常http下载真是爽爆了!

你可能感兴趣的:(linux学习笔记,aria2,ubuntu,aria2,linux)