V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Stupitch
V2EX  ›  问与答

请教老司机哪里有最新版本适用于 openwrt 的 aria2 下载地址

  •  
  •   Stupitch · 2016-04-17 17:03:39 +08:00 · 1657 次点击
    这是一个创建于 3127 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于众所周知的原因, Aria2 在 openwrt 的官方源中不再支持 BT 模块,所以得自己编译。但是问题来了,我不会。。。

    之前从恩山那里拿了一个包,但是用了几天后发现不好用,现在到处找包找不到,简直快要疯了。

    本来发现有一个网站( http://files.lancethepants.com/Binaries/aria2/) 有 aria2 的最新版,但是下载下来发现文件名竟然没有后缀,都不知道怎么装。我现在就想求个 ipk 包,除了自己编译,真的没有别的办法了吗?

    Stupitch
        2
    Stupitch  
    OP
       2016-04-17 22:06:55 +08:00
    @NemoAlex 卧槽,我刚才就一直在研究你给的这个页面,没想到竟然凑巧被本尊回复,真是感到荣幸啊。

    不过,问题来了,我按照步骤走最后 make menuconfig 的时候是没有出现 aria2 的,按照我个人的理解,要么 git clone 是没有把代码搞到 /package/aria2 下面去的(其实我不懂 git 命令怎么运作的,我只知道我 CD 不了这个路径),要么就是 aria2 的源代码的 makefile 出了问题,因为我大概看了下,这个 github 页面的举例的项目都是包含现成的 makefile 的,但是 aria2 是没有的。看了 aria2 的官方编译指南,发现好像意思是需要用 autoreconf -i 这个命令生成标准 makefile (好吧,其实我完全不懂)。

    另外,看 aria2 官方的描述,要安装对应的库才能编译对应的模块,所以我又不知道该如何去装了。

    本来我想大家用的都是标准的编译方法,用这种办法的应该不多吧,所以我就不知道上哪问去了,没想到作者竟然就出现了,而且还实践编译过 aria2 ,真是救命稻草啊。所以,能否以该教程为蓝本,说一说编译 aria2 的关键细节吗?
    fcicq
        3
    fcicq  
       2016-04-17 22:42:29 +08:00
    这个是官方编译版本默认关闭 BT 支持的 commit.
    https://github.com/openwrt/packages/commit/2b8aeb50029bb3a46517bd0508b05925bd793f0c

    Config.in 可知需要打开 ARIA2_METALINK 和 ARIA2_BITTORRENT, 后者依赖 ARIA2_OPENSSL, 打开才会出现.

    openwrt 的 packages 和主源码分开有日子了, 用 script/feeds update -a; script/feeds install -a 更新激活.
    Stupitch
        4
    Stupitch  
    OP
       2016-04-17 22:54:15 +08:00
    @fcicq 没太懂你的意思, aria2 本身的机制是配置文件开启模块,但是前提是你得有模块,否则配置文件开启相关功能会有一堆 unknown option 。

    libgnutls-dev (Required for HTTPS, BitTorrent, Checksum support)
    nettle-dev (Required for BitTorrent, Checksum support)
    libgmp-dev (Required for BitTorrent)
    libssh2-1-dev (Required for SFTP support)
    libc-ares-dev (Required for async DNS support)
    libxml2-dev (Required for Metalink support)
    zlib1g-dev (Required for gzip, deflate decoding support in HTTP)
    libsqlite3-dev (Required for Firefox3/Chromium cookie support)
    pkg-config (Required to detect installed libraries)

    官方版本在编译时就没有把 BT 相关的模块给编译进去,所以只能进行普通的 url 下载。
    NemoAlex
        5
    NemoAlex  
       2016-04-17 23:27:04 +08:00
    没错,想编译官方提供的 package 的话,
    script/feeds update
    script/feeds install -a
    之后就可以在 make menuconfig 里找到 aria2 了
    fcicq
        6
    fcicq  
       2016-04-17 23:28:04 +08:00
    @Stupitch hmm, 如果 BT 支持确实依赖那么多包的话情况确实是不妙了.
    那应当替换掉 aria2 的 Config.in 和 Makefile, 从目前的 Makefile 所见, --without-libnettle --without-libgmp 都已经写死了. Config.in 里的问题是 ARIA2_GNUTLS 并不能激活 ARIA2_BITTORRENT.

    但是如果以前官方版本不需要做补丁也能下载 BT 的话说明依赖并非是你展示的这样, 缺少 libnettle 和 libgmp 也能用.
    NemoAlex
        7
    NemoAlex  
       2016-04-17 23:36:20 +08:00
    @fcicq 不用的,在 menuconfig 里, aria2 一项下面有支持 BT 和 metalink 的选项。
    选中以后会自动处理依赖。
    需要注意的是编译环境的依赖可能会增加一些软件,编译过程中遇到错误的话,可以尝试安装相应的软件来解决。
    fcicq
        8
    fcicq  
       2016-04-17 23:40:56 +08:00
    @NemoAlex 个人不需要 openwrt 版本的 aria2. 但是手里常备 openwrt trunk 的代码所以随时可以检查. 换 musl libc 之后做不出 4M 以内的固件了轻度不爽, 但摆脱 uclibc 总体应该利大于弊.
    Stupitch
        9
    Stupitch  
    OP
       2016-04-18 08:25:45 +08:00 via Android
    @NemoAlex 这是什么意思呢?是从 openwrt 官方下载 aria2 源码再执行该命令还是说从 aria2 的官方下载源码执行该命令?我看有教程是直接从 aria2 官方源码编译的,又该怎么做?
    Stupitch
        10
    Stupitch  
    OP
       2016-04-18 09:45:01 +08:00
    @NemoAlex 又学习了一些教程,发现应该是这样的:把代码 git 到 /package/aria2 下后,应该进入到 /package/aria2 ,然后执行 autoreconf -i (当然前提是所有的环境包都安装好了,否则无法 autoconf 生成相关配置文件)。然后,现在的问题就是,我不会进入到 /package/aria2 这个目录。抱歉,没用过容器,所以不知道如何进入到具体的路径下,求指教。
    NemoAlex
        11
    NemoAlex  
       2016-04-18 09:46:52 +08:00 via iPhone
    @Stupitch 是的, feeds 就是源码的仓库。一般来说可以用 openwrt 的源码来编译软件,也可以用 SDK 来编译。针对特定版本,例如 15.05.1 的话,最好用 SDK 来编译。
    NemoAlex
        12
    NemoAlex  
       2016-04-18 09:56:01 +08:00
    Email 联络吧 [email protected]
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2742 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:50 · PVG 09:50 · LAX 17:50 · JFK 20:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.