前言

博主最初在使用 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=1force-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.shon-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 频道,欢迎小伙伴们订阅关注。