关键词:aria2,Linux,Mint,安装,配置,自启动,下载。
网上关于aria2的安装教程有很多,鄙人也是从零开始学习安装和使用此下载神器的。
不过,在实际的安装和使用过程中遇到了一些不大不小的麻烦,最后经过搜索网上的多篇指南终于将麻烦一一解决。在此将自己遇到的所有情况重新梳理了一遍,现在发布在简书上,希望能对像鄙人一样的Linux小白爱好者有所帮助。好了,下面开始正文。
本文内容实际操作电脑平台:Linux Mint 19 Cinnamon
安装aria2
【1】从终端(terminal)以输入命令的方式安装aria2:
(按步骤输入sudo ... ...命令并回车后,终端提示输入用户密码,那么输入登录时的密码即可。)
- 更新本机中的软件源的索引(仅仅更新了资源列表而已)
sudo apt update
- 更新本机中的软件
(若存在非最新状态软件的话,根据提示输入字母y并回车即可更新)
sudo apt upgrade
- 安装aria2软件
sudo apt install aria2
这样,aria2就安装好了。
但是现在还不急着就去下载东西,就像使用其他任何下载软件一样,咱们再设置/配置一下,以后aria2用起来才会顺心顺手。
【2】选定一个自己喜欢的目录/文件夹作为aria2的默认下载文件夹吧。
好比Windows下面的迅雷默认的下载目录一般是D:\TDDownloads,我们也给aria2提前设定一个默认下载目录,以后查找、使用、管理下载文件就方便多了。
稍稍地考虑一下,嗯,就用现成的~/Downloads目录吧。:)
具体设置在后面的步骤里——此乃谋定而后动者也。
(aria2默认的下载目录是在根目录/,而我们打开文件管理器一般都是进入用户主目录home,所以不修改的话,会不太方便。)
配置aria2
【3】为aria2创建新的配置文件。
这样就可以让aria2按照我们的要求来运行,而不是按它自带的默认配置运行。比如上面第【2】点说的“自定义默认下载目录”,就可以在咱们接下来创建的新的配置文件里设定哦!
继续在终端(terminal)中逐个输入以下命令:
- 新建一个目录/etc/aria2
sudo mkdir /etc/aria2
- 在此目录里新建一个文件aria2.session,用来保存下载进度
sudo touch /etc/aria2/aria2.session
- 更改此文件的读写权限为777,即所有用户均可读写
sudo chmod 777 /etc/aria2/aria2.session
- 在此目录里新建一个文件aria2.conf,此即为配置文件,并以vim打开,进入vim编辑器界面。(鄙人用的是vim文本编辑器,您可按自己的喜好使用其他文本编辑器,这里只是讲操作步骤。)
sudo vim /etc/aria2/aria2.conf
【4】调整aria2.conf配置文件的内容
以下是鄙人现在使用的配置文件,您可以直接复制粘贴去使用。
有兴趣的话也可以自行根据网上其他指南调整配置。
aira2的官网有用户手册可以了解:链接。
推荐两篇参考学习文章:
编辑完aria2.conf文件后,记得保存、退出编辑器,然后回到终端(terminal)界面。
# ===文件保存目录,自行设置
# 请将=符号后的目录地址改为您想设定的默认下载目录的绝对地址
dir=/home/user/Downloads
# 启用磁盘缓存,0为禁用缓存,需1.16以上版本,默认:16M
disk-cache=32M
# 文件预分配方式,能有效降低磁盘碎片,默认:prealloc
# 预分配所需时间:none < falloc ? trunc < prealloc
# falloc 和 trunc 需要文件系统和内核支持
# NTFS 建议使用falloc, EXT3/4 建议使用 trunc, MAC 下需要注释此项
file-allocation=trunc
# 禁用IPv6,默认:false
disable-ipv6=true
# 打开rpc的目的是为了给web管理端使用
# 启用RPC,默认:false
enable-rpc=true
# 默认所有来源,默认:false
rpc-allow-origin-all=true
# 允许非外部访问,默认:false
rpc-listen-all=true
# RPC监听端口,端口被占用时可以修改,默认:6800
rpc-listen-port=6800
# 设置RPC授权令牌,1.18.4版本新增功能,取代 --rpc-user 和 --rpc-passwd选项
# rpc-secret=csdn2017
# 断点续传
continue=true
# 从会话文件中读取下载任务
input-file=/etc/aria2/aria2.session
# 在aria2退出时保存'错误/未完成'的下载任务到会话文件
save-session=/etc/aria2/aria2.session
# 定时保存会话,0为退出时才保存,需1.16.1以上版本,默认:0
save-session-interval=60
# 强制保存会话,即使任务已经完成,默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
force-save=false
# 最大同时下载任务数,运行时可修改,默认:5
max-concurrent-downloads=50
# 同一服务器连接数,添加时可指定,默认:1
max-connection-per-server=15
# 最小文件分片大小,添加时可指定,取值范围1M~1024M,默认:20M
# 假定size=10M, 文件为20MB 则使用两个来源下载;文件为15MB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数,添加时可指定,默认:5
split=50
# 整体下载速度限制,运行时可修改,默认:0
# max-overall-download-limit=0
# 单个任务下载速度限制,默认:0
# max-download-limit=0
# 整体上传速度限制,运行时可修改,默认:0
max-overall-upload-limit=100K
# 单个任务上传速度限制,默认:0
max-upload-limit=50K
# BT/PT下载相关
# 当下载的是一个种子(以 .torrent结尾时),自动开始BT任务,默认:true
follow-torrent=true
# BT监听端口,当端口被屏蔽时使用,默认:6881~6999
# listen-port=19999
# 单个种子最大连接数, 默认:55
bt-max-peers=100
# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=true
# 打开IPv6 DHT功能, PT需要禁用
enable-dht6=true
# DHT网络监听端口, 默认:6881-6999
dht-listen-port=6881-6999
# 本地节点查找, PT需要禁用, 默认:false
bt-enable-lpd=true
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=true
# 每个种子限速, 对少种的PT很有用, 默认:50K
bt-request-peer-speed-limit=50K
# 客户端伪装, PT需要
# peer-id-prefix=-TR2770-
# user-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=1.0
# BT校验相关, 默认:true
bt-hash-check-seed=true
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=false
#强制加密, 防迅雷必备
bt-require-crypto=true
# trackers list from github
# https://github.com/ngosang/trackerslist
# 给Aria2添加Tracker,而不是只根据从DHT网络或者种子文件中存储的Tracker信息,让下载赢在起跑线上
bt-tracker=udp://tracker.open-internet.nl:6969/announce,udp://tracker.coppersurfer.tk:6969/announce,udp://exodus.desync.com:6969/announce,udp://tracker.opentrackr.org:1337/announce,udp://tracker.internetwarriors.net:1337/announce,udp://9.rarbg.to:2710/announce,udp://public.popcorn-tracker.org:6969/announce,udp://tracker.vanitycore.co:6969/announce,https://1.track.ga:443/announce,udp://tracker.tiny-vps.com:6969/announce,udp://tracker.cypherpunks.ru:6969/announce,udp://thetracker.org:80/announce,udp://tracker.torrent.eu.org:451/announce,udp://retracker.lanta-net.ru:2710/announce,udp://bt.xxx-tracker.com:2710/announce,http://retracker.telecom.by:80/announce,http://retracker.mgts.by:80/announce,http://0d.kebhana.mx:443/announce,udp://torr.ws:2710/announce,udp://open.stealth.si:80/announce,http://tracker.city9x.com:2710/announce,udp://zephir.monocul.us:6969/announce,udp://tracker.uw0.xyz:6969/announce,udp://tracker.kamigami.org:2710/announce,udp://tracker.acg.gg:2710/announce,udp://peerfect.org:6969/announce,https://evening-badlands-6215.herokuapp.com:443/announce,http://t.nyaatracker.com:80/announce,wss://tracker.openwebtorrent.com:443/announce,wss://tracker.fastcast.nz:443/announce,wss://tracker.btorrent.xyz:443/announce,ws://tracker.btsync.cf:2710/announce,udp://z.crazyhd.com:2710/announce,udp://wambo.club:1337/announce,udp://trackerxyz.tk:1337/announce,udp://tracker4.itzmx.com:2710/announce,udp://tracker1.wasabii.com.tw:6969/announce,udp://tracker.zer0day.to:1337/announce,udp://tracker.xku.tv:6969/announce,udp://tracker.tvunderground.org.ru:3218/announce,udp://tracker.swateam.org.uk:2710/announce,udp://tracker.skyts.net:6969/announce,udp://tracker.mg64.net:6969/announce,udp://tracker.martlet.tk:6969/announce,udp://tracker.justseed.it:1337/announce,udp://tracker.halfchub.club:6969/announce,udp://tracker.grepler.com:6969/announce,udp://tracker.files.fm:6969/announce,udp://tracker.dler.org:6969/announce,udp://tracker.desu.sh:6969/announce,udp://tracker.cyberia.is:6969/announce,udp://tracker.bluefrog.pw:2710/announce,udp://t.agx.co:61655/announce,udp://sd-95.allfon.net:2710/announce,udp://santost12.xyz:6969/announce,udp://sandrotracker.biz:1337/announce,udp://retracker.nts.su:2710/announce,udp://retracker.coltel.ru:2710/announce,udp://pubt.in:2710/announce,udp://packages.crunchbangplusplus.org:6969/announce,udp://p4p.arenabg.com:1337/announce,udp://oscar.reyesleon.xyz:6969/announce,udp://open.facedatabg.net:6969/announce,udp://mgtracker.org:6969/announce,udp://ipv4.tracker.harry.lu:80/announce,udp://inferno.demonoid.pw:3418/announce,udp://explodie.org:6969/announce,udp://104.238.198.186:8000/announce,https://open.acgnxtracker.com:443/announce,http://tracker2.itzmx.com:6961/announce,http://tracker.vanitycore.co:6969/announce,http://tracker.torrentyorg.pl:80/announce,http://tracker.tfile.me:80/announce,http://tracker.mg64.net:6881/announce,http://tracker.internetwarriors.net:1337/announce,http://tracker.electro-torrent.pl:80/announce,http://share.camoe.cn:8080/announce,http://open.acgtracker.com:1096/announce,http://open.acgnxtracker.com:80/announce,http://omg.wtftrackr.pw:1337/announce,http://mgtracker.org:6969/announce,http://fxtt.ru:80/announce,http://bt.dl1234.com:80/announce,http://agusiq-torrents.pl:6969/announce,http://104.238.198.186:8000/announce
验证aria2
【5】测试aria2的安装、配置文件的设置是否正确:
sudo aria2c --conf-path=/etc/aria2/aria2.conf
终端(terminal)中的显示信息里有Warning没关系,只要没有Error(错误)即为成功,Ctrl+C可停止此aria2进程的运行。
小提示:
- 启动aria2的命令是aria2c,不是aria2,请不要漏掉最后的字母c。
- 上面这条命令是让aria2以root用户身份(因为前面用了sudo)运行的,将来咱们要改为普通用户身份运行aria2,否则下载下来的文件是只读的,移动或者删除时,必须提前更改文件权限,会麻烦一点。
设置普通用户运行模式
【6】配置普通用户(root以外的用户)的运行权限。
以下的设置是假设Linux里当前用户名为user,您在自己电脑上设置时请将user替换为您电脑中的用户名。
打开文件/etc/sudoers
sudo vim /etc/sudoers
在 %sudo ALL=(ALL:ALL)ALL 这行的下面添加新行:
# to solve the downloaded file's read only right problem by aria2c
user ALL=NOPASSWD:/usr/bin/aria2c, /etc/aria2/aria2.conf
解释:
前一个文件/usr/bin/aria2c是aria2c的实际所在,可以在终端(terminal)用whereis aria2c获得;
后一个文件就是在上面刚刚配置好的新的配置文件。)
小提示:
文件/etc/sudoers是一个系统重要文件,用vim打开之后有提示此文件是只读的,所以按照常规方法用:w是无法保存的,必须在后面增加英文半角感叹号!才能执行,所以最后的保存、退出就需要在vim的普通模式下输入【:wq!】才行。
开机后台运行
【7】增加服务模式,并设定为开机启动。
(1)增加开机启动脚本。
新建文件,
sudo vim /etc/init.d/aria2c
文件内容如下:
(此处参考:Ubuntu安装aira2及开机启动配置)
小提示:
记得把下方文件里相关命令中的user替换为您电脑中的用户名。
#!/bin/sh
### BEGIN INIT INFO
# Provides: aria2
# Required-Start: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Aria2 Downloader
### END INIT INFO
case "$1" in
start)
echo -n "已开启Aria2c"
sudo -u user aria2c --conf-path=/etc/aria2/aria2.conf -D
;;
stop)
echo -n "已关闭Aria2c"
killall aria2c
;;
restart)
killall aria2c
sudo -u user aria2c --conf-path=/etc/aria2/aria2.conf -D
;;
esac
exit
解释:
让aria2以普通用户身份在后台运行的命令是
sudo -u user aria2c --conf-path=/etc/aria2/aria2.conf -D
结合前面修改好了的/etc/sudoers文件,这样运行起来的aria2才是处在普通用户身份下,而不是处在root(sudo)用户身份下,下载下来的文件才不是只读的。
(2)修改开机启动脚本文件的权限为755。
sudo chmod 755 /etc/init.d/aria2c
(3)添加aria2c服务到开机启动。
sudo update-rc.d aria2c defaults
(4)启动服务。
sudo service aria2c start
(5)查看服务aria2c的运行状态。
sudo systemctl status aria2c
可以从终端的反馈结果中看到,aria2已经平稳运行起来了,就等待添加下载任务了。
今后开机登录完成,aria2就会以服务aira2c的形式在后台自动启动啦!
不是只有命令行
【8】查看aria2图形化操作界面。
十分简单,打开浏览器,输入网址【aria2c.com】,回车,就可以打开图形操作界面了。
可以把这个网址放到浏览器书签中,方便使用。
插件
【9】浏览器插件推荐。
用得比较多的是百度网盘下载插件。
请自行上网搜索吧,网上有很多很详细的教程,这里不再赘述。
总结
- 安装,很简单、快捷。
- 配置,稍微花点时间。
- 运行的用户身份设置,是一个忽略较多的小麻烦。
- 开机后台启动,这下就轻松多了。
- 图形界面,Linux不单单只有看上去那么高冷的命令行。
- 插件,还是Chrome、Firefox用起来舒服。
好了,文章完成了,希望能给初次使用aria2的朋友们提供一点小小的帮助吧!
同时也感谢文章中没有提到的众多网上的教程和指南,让鄙人能在aria2的安装和使用过程中少走了很多弯路,学习到了很多知识。
最后,感谢aria2的作者!