本文章安裝方式參考下面這篇文章,
http://filesharefreak.com/2010/02/13/how-to-install-rtorrent-rutorrent-using-socket-ssl-authentication-on-ubuntu-or-debian/
其實只能算是該篇文章的部份中譯, 並補上 IPv6 的支援,
IPv6 部份參考
http://libtorrent.rakshasa.no/ticket/1111
http://ihipop.info/2010/08/1363.html
(1) 先連上 SSH 並以 root 的身份開始進行安裝
su root
(2) 更新 apt 資料庫
apt-get update
(3) 安裝相依套件
apt-get install -y build-essential pkg-config libcurl4-openssl-dev libsigc++-2.0-dev libncurses5-dev lighttpd screen subversion libterm-readline-gnu-perl php5-cgi apache2-utils php5-curl curl php5-cli
(3) 安裝 libtorrent
cd ~
wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.6.tar.gz
tar zxfv libtorrent-0.12.6.tar.gz
cd libtorrent-0.12.6
wget http://home.samfundet.no/~sesse/libtorrent-0.12.6-ipv6-07.patch
patch -p1 < libtorrent-0.12.6-ipv6-07.patch
========================
修改 libtorrent 程式碼
libtorrent-0.12.6/rak/string_manip.h
第186行:由
return 'A' + v - 0xA;
改為
return 'a' + v - 0xA;
========================
./configure --enable-ipv6
make
make install
(4) 安裝 XMLRPC-C
cd ~
svn checkout http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable xmlrpc-c
cd xmlrpc-c/
./configure
make
make install
(5) 安裝 rTorrent:
cd ~
wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.6.tar.gz
tar zxfv rtorrent-0.8.6.tar.gz
cd rtorrent-0.8.6
wget http://home.samfundet.no/~sesse/rtorrent-0.8.6-ipv6-07.patch
patch -p1 < rtorrent-0.8.6-ipv6-07.patch
./configure --with-xmlrpc-c --enable-ipv6
make
make install
(6) 接下來為了讓 rtorrent 能夠開機就自動執行,需要作下面的動作
vim /etc/init.d/rtorrent.sh
將下面的文字寫到 /etc/init.d/rtorrent.sh 將 snowwolf725 改成你自己的使用者 ID
===========================
#!/bin/sh
case "$1" in
start)
echo -n "Starting rtorrent"
su - snowwolf725 -c "screen -A -m -d -S rtorrent /usr/local/bin/rtorrent" &
echo "."
;;
stop)
echo -n "Stopping rtorrent"
ppid=`ps ax | grep "/usr/local/bin/rtorrent" | grep -v grep | grep -v screen | awk '{ print $1 }'`
kill ${ppid}
rm /tmp/rpc.socket
echo "."
;;
restart)
echo -n "Restarting rtorrent"
ppid=`ps ax | grep "/usr/local/bin/rtorrent" | grep -v grep | grep -v screen | awk '{ print $1 }'`
kill ${ppid}
rm /tmp/rpc.socket
sleep 1
su - snowwolf725 -c "screen -A -m -d -S rtorrent /usr/local/bin/rtorrent" &
echo "."
;;
*)
echo "Usage: {start|stop|restart}" >&2
exit 1
;;
esac
exit 0
==============================
讓該檔案變成可以執行
chmod +x /etc/init.d/rtorrent.sh
(7)換成一般使用者的身份, 這裡的 snowwolf725 要換成你自己的使用者名稱, 要先更新函式庫 cache
ldconfig
su snowwolf725
cd ~
(8) 設定 rTorrent
vim .rtorrent.rc
依照下面的設定檔改成自己可以用的設定檔#開頭的那幾行是註解可以不用打, vim 有分編輯模式和命令模式,一開始進入是命令模式,按 i 或是 a 可以進入編輯模式打字,按 ESC 可以離開編輯模式回到命令模式,輸入 [:w](不包涵中括號,即冒號和w) 然後按下 Enter 可以寫入檔案,[:q!] 按下Enter 可以離開畫面, 其實檔案可以先打好命名成 .rtorrent.rc 利用 PPutty (不是putty)上傳到主機就可以了(上傳方法是開啟 pputty 並登入然後將檔案拖曳到 pputty,會詢問你帳號密碼傳完預設在家目錄下面)
主要需要修改的是
各個 rtorrent 的目錄
===================================
# 最大最小連接數
min_peers = 50
max_peers = 100
# 最大最小連接數(對於已經完成下載的種子)
min_peers_seed = 10
max_peers_seed = 100
# 最大同時上傳的連接數
max_uploads = 50
# 檔案名稱編碼
encoding_list = UTF-8
# 上下傳 ratio (0表示不限)
download_rate = 0
upload_rate = 0
# 存放下載檔案的路徑
directory = /home/snowwolf725/data
# rtorrent 的工作目錄
session = /home/snowwolf725/session
# 每五分鐘查看特定目錄並下載新的種子
schedule = watch_directory,5,5,load_start=/home/snowwolf725/watch/*.torrent
# Server 的 IP 和 Domain name (IPv6 不能綁 IPv4 的 address)
# ip = 1.2.3.4
# ip = ks00000.kimsufi.com
# bind = 1.2.3.4
# rtoreent 所使用的 port
port_range = 49152-65535
# 是否使用 udp 的 Tracker
use_udp_trackers = yes
# 連線加密(允許加密連線連入,但預設使用未加密連線)
encryption = allow_incoming,enable_retry,prefer_plaintext
# 依照種子設定決定是否開啟 DHT
dht = auto
# DHT 的 port
dht_port = 19000
# 是否開啟 peer exchange 功能(開啟)
peer_exchange = yes
umask = 0000
on_erase = rm_complete,”execute=rm,-rf,$d.get_base_path=”
schedule = low_diskspace,5,5,close_low_diskspace=100M
# 不作 hash 檢查檔案完整性
check_hash = no
==============================
(9) 測試 rtorrent
執行 rtorrent
這樣就完成了, 按 Ctrl+q 可以離開 rtorrent
PS,Ubuntu经过这种方式安装启动rtorrent可能会报错说找不到libtorrent这个库。此时将/usr/local/bin/rtorrent复制到/usr/bin/下,将/usr/local/lib/libtorrent.so.11和/usr/local/lib/libtorrent.so.11.0.6复制到/usr/lib/下再启动rtorrent即可。