Linux安装aria2

aria2简介:

    aria2 is a lightweight multi-protocol & multi-source command-line download utility. It supports HTTP/HTTPSFTPSFTPBitTorrent and Metalink. aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.

    翻译:

       aria2是一个轻量级的多协议多源命令行下载实用程序。它支持http/https、ftp、sftp、bittorrent和metalink。可以通过内置的JSON-RPC和XML-RPC接口操作aria2。

废话不多说,下面开始安装aria2。

安装步骤:

ubuntu的用户可以直接使用下面命令完成aria2的安装:

sudo apt-get install aria2

下面是我在centos下的安装:

step1: 下载

    到githup上获取源码:

            https://github.com/aria2/aria2/releases

    我使用的是这个版本:

            https://github.com/aria2/aria2/releases/download/release-1.33.0/aria2-1.33.0.tar.gz

cd /usr/local/src && wget https://github.com/aria2/aria2/releases/download/release-1.33.0/aria2-1.33.0.tar.gz

step2: 升级gcc

    编译aria2需要升级一下gcc,最低要求 gcc >= 4.8.2,如果你的gcc已经在符合这个要求就可以跳到下一步了

    复制下面代码,保存为:update_gcc.sh

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

    给予update_gcc.sh文件可执行权限并执行

chmod 754 update_gcc.sh && ./update_gcc.sh

   * 在执行之前需要确保安装了wget,如果没有wget的话,脚本执行会报错!!!

    等待完成!!!

step3: 解压并开始编译安装

tar zxvf aria2-1.33.0.tar.gz && cd aria2-1.33.0 && mkdir build && cd build && ../configure && make && make install

比较长时间的等待~~

step4: 创建目录与配置文件

# 这一步需要切换到root下进行 
# 需要 su  一下
cd /etc/ && mkdir aria2 && cd aria2 && touch aria2c.conf && touch aria2.session

编辑aria2c.conf文件内容,内容如下:

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

step5: 设置环境变量

    编辑~/.bashrc文件,加入下面内容

export PATH=/usr/local/src/aria2-1.33.0/build/src:$PATH

    执行下面命令,使环境变量设置生效:

source ~/.bashrc

    完成这一系列操作后,输入 aria  并可以补全的话就说明aria2已经安装成功了!!!

    然后,你就可以使用aria2下载你的bt种子或磁力链了,下面是使用说明:

[ build]# aria2c -h
用法:aria2c [OPTIONS] [URI | MAGNET | TORRENTFILEILE | METALINK_FILE]...
正列出附有标签“#basic”的选项。
参见“aria2c -h#help”以获知所有可用标签。
选项:
 -v, --version                打印版本号并退出。

                              标签: #basic

 -h, --help[=#标签|关键字]    显示用法并退出。
                              帮助信息按照以“#”开头的标签分类。
                              例如,输入“--help=#http”会得到带“#http”
                              标签的各选项的用法。
                              如果指定了非标签的词,那么打印名字含这个词
                              的各选项的用法。

                              可能的取值: #basic, #advanced, #http, #https, #ftp, #metalink, #bittorrent, #cookie, #hook, #file, #rpc, #checksum, #experimental, #deprecated, #help, #all
                              默认: #basic
                              标签: #basic, #help

 -l, --log=日志               日志文件名称。如果指定“-”,
,
                              日志将被写到标准输出。

                              可能的取值: /path/to/file, -
                              标签: #basic

 -d, --dir=目录               用于存储已下载文件的目录。

                              可能的取值: /path/to/directory
                              默认: /usr/local/src/aria2-1.33.0/build
                              标签: #basic, #file

 -o, --out=FILE   文件保存名字。此文件将以此名字永久保存在 -d 
                              参数所指定的相对路径下。当 -Z 参数被启用时, 
                              此选项报废。

                              可能的取值: /path/to/file
                              标签: #basic, #http, #ftp, #file

 -s, --split=N                使用 N 个连接下载文件。如 N 小于需要下载的 URI 数量,
                              那么将使用所有连接,剩余的 URL 将作为候补。
                              如 N 大于需要下载的 URI 数量,多余的 URL 将用于并行下载。
                              到主机的连接数量受 --max-connection-per-server 选项限制。
                              参见 --min-split-size 选项。

                              可能的取值: 1-*
                              默认: 5
                              标签: #basic, #http, #ftp

 --file-allocation=方式       指定文件分配方式。
                              “none”选项表示不预分配空间。
                               “none”选项表示不预分配空间。
                              “prealloc”选项表示在下载开始前预先分配空间。
                              根据文件的大小,这可能会花费一些时间。
                              如果您正在使用新型文件系统如 ext4(启用扩展属性支持),
                              btrfs,xfs 或 NTFS(仅限 MinGW 环境构建),
                              “falloc”是您最好的选择。
                              它几乎能在一瞬间完成很大(几个 GiB)文件的预分配。
                              但注意在比较旧的文件系统如 ext3 和 FAT32 上不要使用“falloc”
                              因为在这些文件系统上该选项花费的时间和“prealloc”
                              不相上下,并且在分配完成前 aria2 进程会被完全阻塞。
                              如果您的系统中 posix_fallocate() 函数不可用,
                              “falloc”选项将不适用。
                              “trunc”将调用 ftruncate() 系统指令或平台的相应功能
                              来裁剪获得指定大小的文件。

                              可能的取值: none, prealloc, trunc, falloc
                              默认: prealloc
                              标签: #basic, #file
-V, --check-integrity[=true|false]  通过校验文件块或整文件哈希检查文件的完整性。
                              该选项仅对 BitTorrent、带校验和的 Metalink 和(启用
                              --checksum 选项时)HTTP(S)/FTP 下载有效。
                              如提供的是文件块的校验和,在下载时就可自动校验并重试
                              损坏的部分;换成整文件,就必须等到下载完成才能校验。
                              (哪种校验值可用?)这取决于文件长度。
                              如果校验失败,文件将被重新下载。如果同时提供了按块的
                              校验值和全文件校验值,那么只会使用块哈希。

                              可能的取值: true, false
                              默认: false
                              标签: #basic, #metalink, #bittorrent, #file, #checksum
-c, --continue[=true|false] 继续下载一个仅部分完成的文件。
                              使用这个选项来继续下载一个由浏览器或其他程序从开头单线程下载的文件。
                              目前这个选项仅能用于 http(s)/ftp 下载。

                              可能的取值: true, false
                              默认: false
                              标签: #basic, #http, #ftp

 -i, --input-file=文件        下载 <文件> 中列出的地址。
                              可以一次使用多个地址,在同一行里使用制表符分隔多个地址。使用“-”时从标准输入读取。
                              另外,在每一行地址后可以指定选项。包含选项的行必须以至少一个空格开始,并且每行一个选项。
                              在 man 手册中查看 INPUT FILE 章节。另见 --deferred-input 选项。

                              可能的取值: /path/to/file, -
                              标签: #basic
-j, --max-concurrent-downloads=N 设置每个静态(HTTP/FTP)URL、种子和 metalink 的最大并行
                              下载速度。
                              参见 --split 和 --optimize-concurrent-downloads 选项。

                              可能的取值: 1-*
                              默认: 5
                              标签: #basic

 -Z, --force-sequential[=true|false] 从命令行顺序获取链接,
                                     并以单独的会话下载每个链接,
                                     如同其他常见的命令行下载工具。

                              可能的取值: true, false
                              默认: false
                              标签: #basic
-x, --max-connection-per-server=N   每个下载中对单个服务器的最大连接数。

                              可能的取值: 1-16
                              默认: 1
                              标签: #basic, #http, #ftp

 -k, --min-split-size=SIZE aria2 不分割小于 2 * SIZE 字节范围的文件。例如,让我们考虑下载 20MiB 的文件,如果 SIZE 为10M,aria2 可以将文件拆分为2个[0-10MiB]和[10MiB-20MiB]的文件,并使用 2 个源(如果 --split>=2)下载它。如果 SIZE 为 15M,由于 2 * 15M>20MiB,aria2 不会拆分文件并使用 1 个源下载。你可以追加 K 或 M(1K = 1024,1M = 1024K)。

                              可能的取值: 1048576-1073741824
                              默认: 20M
                              标签: #basic, #http, #ftp


# 其它请自行查看 aria2c -h

step6: 处理aria2下载bt种子或磁力链无速度或速度慢的情况,添加tracker

    在aria2c.conf文件中添加下面内容:

bt-tracker=tracker url.....例如:

  bt-tracker=udp://tracker.coppersurfer.tk:6969/announce,udp://tracker.open-internet.nl:6969/announce,udp://tracker.leechers-paradise.org:6969/announce,udp://tracker.opentrackr.org:1337/announce,http://tracker.internetwarriors.net:1337/announce,udp://9.rarbg.to:2710/announce,udp://exodus.desync.com:6969/announce,http://tracker3.itzmx.com:6961/announce,udp://explodie.org:6969/announce,udp://ipv4.tracker.harry.lu:80/announce,udp://denis.stalker.upeer.me:6969/announce,udp://tracker4.itzmx.com:2710/announce,udp://tracker.tiny-vps.com:6969/announce,udp://tracker.port443.xyz:6969/announce,udp://thetracker.org:80/announce,udp://open.stealth.si:80/announce,udp://open.demonii.si:1337/announce,udp://bt.xxx-tracker.com:2710/announce,udp://tracker1.wasabii.com.tw:6969/announce,udp://tracker.torrent.eu.org:451/announce

tracker 地址自行到这里取最新的添加,每个地址之间以逗号分开:https://github.com/ngosang/trackerslist

相关推荐