linux下aria2的安裝與配置


  前言:

    眾所周知,在linux系統下是不可以直接執行exe的文件的,理所當然地我們平時用的迅雷與百度網盤等這些下載工具自然就無法使用了,所以在下載一些文件的時候可能有些麻煩。當然如果是有直鏈的話,直接用wget來下載就可以了,但是要下載bt文件或磁力文件時就無處下手了。

    在ubuntu系統下自帶一個bt下載工具(transmission),可以在命令行輸入打開:

sudo transmission-gtk

    但是個人使用了一下,磁力鏈沒有速度,bt種子速度只有十幾kb,無耐只能放棄這個了。於是一番百度也嘗試了安裝一些其它的工具,但是都不盡人意(也可能是我配置時,弄錯了些什么)。嘛,一番亂搞之后,發現用aria2下載一個bt種子時,居然可以爆滿網速 

 

 

aria2簡介:

    aria2 is a lightweight multi-protocol & multi-source command-line download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent 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

# 添加一個源
cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-2/devtools-2.repo

# 安裝所需包
yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++

# 保存原來的版本
mv /usr/bin/gcc /usr/bin/gcc-4.4.7
mv /usr/bin/g++ /usr/bin/g++-4.4.7
mv /usr/bin/c++ /usr/bin/c++-4.4.7

# 鏈接到新版本的gcc
ln -s /opt/rh/devtoolset-2/root/usr/bin/gcc /usr/bin/gcc
ln -s /opt/rh/devtoolset-2/root/usr/bin/c++ /usr/bin/c++
ln -s /opt/rh/devtoolset-2/root/usr/bin/g++ /usr/bin/g++

# 查看當前gcc版本
gcc --version

    給予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文件內容,內容如下:

# 文件的保存路徑(可使用絕對路徑或相對路徑), 默認: 當前啟動位置
#dir=~/download
# 啟用磁盤緩存, 0為禁用緩存, 需1.16以上版本, 默認:16M
disk-cache=5M
# 文件預分配方式, 能有效降低磁盤碎片, 默認:prealloc
# 預分配所需時間: none < falloc ? trunc < prealloc
# falloc和trunc則需要文件系統和內核支持, NTFS建議使用falloc, EXT3/4建議trunc
file-allocation=none
# 斷點續傳
continue=true

## 下載連接相關 ##

# 最大同時下載任務數, 運行時可修改, 默認:5
max-concurrent-downloads=5
# 同一服務器連接數, 添加時可指定, 默認:1
max-connection-per-server=15
# 最小文件分片大小, 添加時可指定, 取值范圍1M -1024M, 默認:20M
# 假定size=10M, 文件為20MiB 則使用兩個來源下載; 文件為15MiB 則使用一個來源下載
min-split-size=10M
# 單個任務最大線程數, 添加時可指定, 默認:5
split=5
# 整體下載速度限制, 運行時可修改, 默認:0
#max-overall-download-limit=0
# 單個任務下載速度限制, 默認:0
#max-download-limit=0
# 整體上傳速度限制, 運行時可修改, 默認:0
max-overall-upload-limit=20kb
# 單個任務上傳速度限制, 默認:0
max-upload-limit=5kb
# 禁用IPv6, 默認:false
disable-ipv6=true
# 禁用https證書檢查
check-certificate=false
#運行覆蓋已存在文件
allow-overwrite=true
#自動重命名
auto-file-renaming

## 進度保存相關 ##

# 從會話文件中讀取下載任務
input-file=/etc/aria2/aria2.session
# 在Aria2退出時保存`錯誤/未完成`的下載任務到會話文件
save-session=/etc/aria2/aria2.session
# 定時保存會話, 0為退出時才保存, 需1.16.1以上版本, 默認:0
save-session-interval=30

## RPC相關設置 ##

# 啟用RPC, 默認:false
enable-rpc=true
# 允許所有來源, 默認:false
rpc-allow-origin-all=true
# 允許非外部訪問, 默認:false
rpc-listen-all=true
# 事件輪詢方式, 取值:[epoll, kqueue, port, poll, select], 不同系統默認值不同
#event-poll=select
# RPC監聽端口, 端口被占用時可以修改, 默認:6800
rpc-listen-port=6800
# 保存上傳的種子文件
rpc-save-upload-metadata=false

## BT/PT下載相關 ##

# 當下載的是一個種子(以.torrent結尾)時, 自動開始BT任務, 默認:true
#follow-torrent=true
# BT監聽端口, 當端口被屏蔽時使用, 默認:6881-6999
listen-port=51413
# 單個種子最大連接數, 默認:55
#bt-max-peers=55
# 打開DHT功能, PT需要禁用, 默認:true
enable-dht=true
# 打開IPv6 DHT功能, PT需要禁用
enable-dht6=false
# 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=-UT341-
user-agent=uTorrent/341(109279400)(30888)
# 當種子的分享率達到這個數時, 自動停止做種, 0為一直做種, 默認:1.0
seed-ratio=1.0
# 強制保存會話, 話即使任務已經完成, 默認:false
# 較新的版本開啟后會在任務完成后依然保留.aria2文件
#force-save=false
# BT校驗相關, 默認:true
#bt-hash-check-seed=true
# 繼續之前的BT任務時, 無需再次校驗, 默認:false
bt-seed-unverified=true
# 保存磁力鏈接元數據為種子文件(.torrent文件), 默認:false
#bt-save-metadata=false
#僅下載種子文件
bt-metadata-only=true
#通過網上的種子文件下載,種子保存在內存
follow-torrent=mem

 

 

step5: 設置環境變量

    編輯~/.bashrc文件,加入下面內容

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

    執行下面命令,使環境變量設置生效:

source ~/.bashrc

    完成這一系列操作后,輸入 aria  並可以補全的話就說明aria2已經安裝成功了!!!

    然后,你就可以使用aria2下載你的bt種子或磁力鏈了,下面是使用說明:

[root@nowtd 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
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM