前言
博主最初在使用 Aria2 的过程中遇到过很多问题,比如 BT 下载无速度、文件残留占用磁盘空间、任务丢失、重复下载等。早期并没有记录,不过逐渐累积成了 Aria2 完美配置这套配置方案,使用这套方案几乎可避免大多数在 Aria2 使用中所遇到的坑。而这里记录了项目创建后小伙伴们的提问以及博主所提供的解决方案。
Aria2 常见问题
Aria2 本体的相关常见问题及解决方案。
Q:怎么下载?
A:对于从来没使用过 Aria2 的萌新,建议去看《Aria2 前端面板(GUI) AriaNg 使用教程》来了解相关基础知识。
Q:为什么 AriaNg 连不上 Aria2 ?
A:首先确认 RPC 信息是否正确,再查看 Aria2 是否在运行。最后如果还是有问题,检查 6800 端口(默认)是否打开,关于端口如何打开请自行搜索防火墙设置。
Q:为什么下载刚开始就立刻停止?
A:1. 检查网络并确认下载目录权限。2. 查看日志,若遇到fallocate failed.cause:Operation not supported
的错误提示则表示内核或者文件系统不支持 falloc 文件分配方式,修改配置文件中file-allocation
选项的参数为none
,重启 Aria2 服务端即可。
Q:为什么 Aria2 重启后已下载完的任务会重新开始下载?
A:任务存在于会话文件(aria2.session
)中且 Aria2 检测到文件不存在,就会导致这个情况。重启前清空已完成的任务可避免这样的情况发生。要根本的解决这个问题需要修改配置文件,其中的save-session-interval=1
和force-save=false
这两项参数是关键,前者可以保证任务信息被实时的更新到会话文件,后者可以避免已完成的任务留存在会话文件中。使用 Aria2 完美配置,不会遇到此问题。
Q:为什么 Aria2 重启后会从头开始下载?
A:任务进度信息没有及时写入控制文件(*.aria2
),解决这个问题的核心是配置文件中的auto-save-interval
这项参数,它决定了任务进度的保存时间,在没有设置的情况下是默认每隔是60秒保存,所以为了能及时保存可以设置为auto-save-interval=1
,即每秒保存。使用 Aria2 完美配置,不会遇到此问题。
Q:为什么无法下载磁力链接?
A:可能是你下载的磁力链接属于冷门资源。首先确认端口正常开放的情况下,在脚本中打开更新 BT-Tracker 功能,先找几个热门种子下载,比如 Ubuntu 镜像的种子,下载后做种几个小时,然后再进行下载。详细解决方案及原理参见:《解决 Aria2 无法下载磁力链接、BT种子和速度慢的问题》
Q:为什么 BT 下载一直卡在了100%?
A:这是因为还在做种,打开 AriaNg 中 Bit Torrent 设置翻到最下面找到最小做种时间设置为0即可。在 AriaNg 中修改属于临时设置,如果需要永久设置需要修改配置文件。如果使用的是Aria2 完美配置,不会遇到这个问题。
Aria2 一键脚本/完美配置等常见问题
Aria2 一键脚本、Aria2 完美配置、OneDrive、Google Drive 离线下载、百度网盘转存等相关的常见问题和解决方案。
Q:为什么 Aria2 一键安装管理脚本不能运行?提示ERROR: The certificate of ‘xxx’ is not trusted.
A:这是因为系统太干净没安装CA证书组件,以 Debian 系统为例子,执行apt update && apt install -y ca-certificates
安装即可。其它系统因包管理器不同,可能操作方式略有区别,可自行搜索安装方法。当然也可以加上--no-check-certificate
选项忽略CA证书,但为了安全考虑不推荐这样做。
Q:下载完成后文件为什么没有上传?
A:这种情况多数都是上传脚本没有被触发导致的。请检查 Aria2 和 Rclone 是否被正确配置。上传脚本触发会在 Aria2 日志中输出上传提醒和任务信息。
Q:如何查看日志?
A:日志文件的位置默认在/root/.aria2c/aria2.log
。你可以使用 Aria2 一键安装管理脚本中相关选项或者直接输入tail -f /root/.aria2c/aria2.log
命令来查看实时日志。
Q:配置都是正确的,但依然无法自动上传。
A:查看 Aria2 日志,看有没有上传相关的记录,如果是正在上传,那么等待上传完成即可。如果没有,则依然是脚本没有被触发。这个情况,可以关闭前端面板(AriaNg)后重启 Aria2 再进行尝试。
TIPS: 如果修改配置后重启 Aria2 时没有关闭 AriaNg 可能会给服务端传递之前缓存的配置,从而导致修改的配置没有生效。
Q:为什么上传了一些奇怪的文件?
A:检查脚本中的下载路径与 Aria2 设置中的下载路径是否一致。建议修改下载路径使用 Aria2 一键安装管理脚本 增强版中的相关选项,它会同时修改配置文件和脚本中的下载路径。(最新的上传脚本会自动读取 Aria2 下载任务的路径,所以理论上不会再出现这个情况。)
Q:为什么直接执行上传脚本不会上传文件?
A:上传脚本需要 Aria2 传递变量才能会上传指定的文件。直接执行上传脚本是测试配置是否正常,即通过 RCLONE 在网盘创建一个目录,然后再删除这个目录。
Q:为什么有些文件被上传了,有些没有被上传?
A:更新到最新的配置方案,包括脚本和与配置文件。如果确认配置正确的情况下,依然出现这种情况,请留言说明你遇到的情况,并提供相关日志进行分析。(正在上传和上传受限不在此问题讨论范围)
Q:为什么在 AriaNg 中删除暂停的任务无法删除文件?
A:Aria2 本身没有通过 RPC 方式(比如 WebUI )删除文件的功能,目前你所看到的删除任务后删除文件的功能是通过下载完成后执行命令(on-download-stop
)的接口去调用删除脚本实现的,只能删除正在下载的任务。Aria2 定义暂停状态的任务为未开始的任务,而on-download-stop
这个选项的执行条件是并不包含未开始的任务。所以删除脚本没有触发,文件也就不会被删除。
Q:为什么下载到本地的文件被删除了?
A:文件被删除有以下几种情况:
Rclone 删除文件:
- 上传脚本调用的是
rclone move
命令进行文件上传,即 Rclone 会在文件上传完成后删除本地的源文件。如果文件已经上传到了网盘文件就不会在本地保留。如果你希望在本地保留文件,可以把脚本中上传命令的move
替换为copy
。
删除脚本被触发:
- 正常情况下,Aria2 完美配置中的删除脚本
delete.sh
会在下载停止(下载出错或取消下载)后执行,删除相关文件及.aria2
后缀名文件、种子文件,避免不必要的磁盘空间占用,缓解强迫症带来的不适感。如果你不喜欢这个功能,可以通过script.conf
去禁用。 - 错误的修改配置文件,导致删除脚本被不正确的触发。导致的原因是
on-download-complete=/root/.aria2/upload.sh
和on-download-complete=/root/.aria2/clean.sh
被同时注释。因为下载停止(on-download-stop)包含下载完成(on-download-complete)这个状态,如果没有对下载完成进行单独设置,则会直接执行下载停止后的脚本delete.sh
,导致文件被删除。所以on-download-complete
这个配置项必须二选一,需要上传时使用upload.sh
,不需要上传则使用clean.sh
。(最新删除脚本会判断任务状态,从而避免这个情况发生。)
文件过滤功能:
- 文件大小过滤和文件类型过滤功能默认是关闭的,在开启后会根据实际所填写的参数去删除指定的文件,如果没有合理的配置可能会导致误删。
其它未知因素:
- 脚本 bug 导致文件被误删。目前没出现过,每一个新版本都会经过 100 次以上的测试后才会推送。
偶尔会遇到一些奇怪的人(?),在没有任何依据(实时运行日志、修改后的配置、看的教程等)的情况下声称脚本有问题、把文件直接删了。由于没有任何依据,所以猜测可能是当事人大脑发育不完整导致的认知障碍。
其它问题
如果你遇到了其他问题,可以留言或者加入Aria2 TG群和小伙伴们一起讨论,要注意提问的方式和提供有用的信息。提问前请确认已经阅读过《提问的智慧》,这能更好的帮助你去解决问题和节约时间。诸如 “为什么不能使用?”、“那你能帮帮我吗?” 之类的问题应该不会有人知道。另外不要把热心网友当做淘宝客服,没人会陪你打太极,帮你是缘分,不帮是本分。
本博客已开设 Telegram 频道,欢迎小伙伴们订阅关注。
本文作者:P3TERX
本文链接:https://p3terx.com/archives/aria2_perfect_config-faq.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。
每次手动打开是使用./aria2.sh命令进行打开aria2c,才能使得 AriaNg 正常的连接
大佬救救狗命,我用RackNerd搭的一键脚本,安装所有都报正常,也查到了开放了6800端口,本地电脑也舞端口占用,但是就是连不上aria2,连续搞了两天,tg群里问了别人指点也没用,换阿里云搭建出来开放端口也连不上,求救救狗命
刚看群聊天记录,搞了两天关 Clash 解决的那个是你吧?
是的,感谢大佬回复,真的是找端口问题找了两天,然后想起好像clash是规则代理,一看clash日志,全是aria2端口的申请,才发现原来final规则代理了这个服务器端口,一点直连马上就连上了。这两天搞的我都虚拟机也试了,就差点想重装系统了
感谢大佬,直接解决了我许多常用问题
/etc/init.d/aria2: line 77: 19453 Segmentation fault nohup /usr/local/bin/aria2c --conf-path="${CONFIG}" >> "${LOG}" 2>&1
[错误] Aria2 启动失败 !
阿里云-debian8.3,内核4.19
root账户,权限没问题
log调到debug,并没有输出信息
您好,请问您的问题解决了吗,我这也出现这样的问题了
我也遇到同样的问题 解决了吗
用选项9可以看详细日志。
按照以往的经验来看提示
Segmentation fault
是aria2c
文件没下载完整,选项2更新一下就可以了。Hello,我在树莓派的系统上尝试使用这个一键安装脚本也是出现同样的错误,选项9查看日志为空白。选项2多次更新也出现同样的错误
感谢!网上搜了一直没找到原因
一样的问题,使用安装脚本启动以及/etc/init.d/aria2 start 启动没有任何问题,使用service 命令启动就会失败。
脚本命令的权限问题,修改这个文件:/etc/init.d/aria2。找到nohup /usr/local/bin/aria2c --conf-path="${CONFIG}" >>"${LOG}" 2>&1 &这一行,在前面加上sudo。即改为:sudo nohup /usr/local/bin/aria2c --conf-path="${CONFIG}" >>"${LOG}" 2>&1 &。
哈哈,大佬的脚本挺好用的。特别适合强迫症。
谢谢站长,我换了一个vps就解决问题了,第一个不知道什么原因速度只有不到20KB/S,换了之后峰值能够30多每秒。教程很人性化,各个方面都有讲解,适合我这种菜鸟。
站长,有个问题想请教一下您。我按教程设置好了,也连上AriaNg,但是进程一直为0;我就查看了一下日记,显示如下[#50a326 0B/0B CN:0 SD:0 DL:0B] [#50a326 0B/0B CN:0 SD:0 DL:0B]....。我不知道怎么解决,所以来请教您,希望得到您的回复。
解决了没法上传的问题,然后这套配置在 docker 里使用的话,会有重启 docker 就重新下载一堆已经下载已完成文件的问题
又好像不是重新下载,只是读取?然后就要验证啥的
docker 中使用 Aria2 没有尝试过,不过最近我有在研究 docker,可能以后会尝试做个这套方案 docker 镜像。