星期一, 7月 26, 2010

rTorrent + Rutorrent 安裝- Rtorrent 部份(with IPv6)

這篇是關於 rtorrent + rutorrent 安裝的教學如果只安裝 rtorrent,
你可以參考下面的文章安裝會比較簡單:
http://snowwolf725.blogspot.com/2009/11/rtorrent.html
舊的 rtorrent + wtorrent 安裝文章過時了,
今天剛好重裝系統所以重寫一篇讓自己下次安裝時可以參考,
本文章安裝方式參考下面這篇文章,
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


image

2 則留言:

Noctis 提到...

請問rpc.socket這個文件是怎樣產生的呢?我現在就缺少這個文件,求指導。

小狼的BLog 提到...

這個檔案是執行 rtorrent 會自動產生的