星期五, 11月 20, 2009

Rtorrent的安裝步驟

這幾天剛幫朋友把 Seedbox 給設定好 rtorrent+wtorrent 的環境,下面列出簡單的安裝步驟,適用在 Ubuntu,Debian 系列的 linux
1. sudo apt-get install rtorrent screen vim

image
2. cd ~
3. vim .rtorrent.rc
依照下面的設定檔改成自己可以用的設定檔#開頭的那幾行是註解可以不用打, vim 有分編輯模式和命令模式,一開始進入是命令模式,按 i 或是 a 可以進入編輯模式打字,按 ESC 可以離開編輯模式回到命令模式,輸入 [:w](不包涵中括號,即冒號和w) 然後按下 Enter 可以寫入檔案,[:q!] 按下Enter 可以離開畫面, 其實檔案可以先打好命名成 .rtorrent.rc 利用 PPutty (不是putty)上傳到主機就可以了(上傳方法是開啟 pputty 並登入然後將檔案拖曳到 pputty,會詢問你帳號密碼傳完預設在家目錄下面)

主要需要修改的是

主機的 IP,DomainName,各個 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
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

4. rtorrent
這樣就完成了, 按 Ctrl+q 可以離開 rtorrent

image

5. 接下來為了讓 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}
        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}
        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

6. chmod +x /etc/init.d/rtorrent.sh

讓該檔案變成可以執行

7. /etc/init.d/rtorrent.sh start

啟動 rtorrent , 啟動後預設是放到背景執行的所以看不到,可以下

ps aux|grep rtorrent

查看是否有啟動,有啟動應該類似這樣,如果只有 grep rtorrent 一行的話就是沒有啟動

=========================

1000     10348  0.0  0.0   3160   920 ?        Ss   16:14   0:00 SCREEN -A -m -d -S rtorrent /usr/bin/rtorrent
1000     10349  0.2  0.2  10520  4348 pts/3    Ss+  16:14   0:00 /usr/bin/rtorrent
root     10353  0.0  0.0   2060   692 pts/0    S+   16:14   0:00 grep rtorrent

=========================

有可能是 rtorrent 的路徑不對,可以下

updatedb;locate rtorrent;

查詢 rtorrent 的路徑

將上面的 /usr/local/bin/rtorrent 改成你的路徑例如

/usr/bin/rtorrent

================================================

1.session 是需要的 rtorrent 會拿該目錄來紀錄哪些 torrent 已經有下載過了,以及哪些 rtorrent 正在下載中,
沒有該目錄的話等於你每次重開 rtorrent 他的無法知道你之前有下過什麼檔案以及目前下載的進度
2.bind 是告訴 rtorrent 使用哪個 IP 來下載檔案(其他人也是透過該IP來和你的 Server 連接)
所以你的 IP 不應該是設定成 127.0.0.1 (這是本機 IP), 而應該是 114.xx.xx.xxx 這樣的 IP
3.
schedule 的格式是
schedule = id,start,interval,command
第一個是排成的名稱ID,第二個是開始的時間,第三個是多久作一次,第四個是要做什麼程式
schedule = untied_directory,10,10,stop_untied=
這表示 rtorrent 啟動 10 分鐘後開始執行,之後每十分鐘執行一次,所執行的動作是
當 *.torrent 的檔案被從 watch directory 或是 session 中移除的時候就會停止該種子的下載
schedule = low_diskspace,5,60,close_low_diskspace=100M
這表示 rtorrent 啟動 5 分鐘後開始執行,之後每 60 分鐘執行一次,所執行的動作是
當硬碟空間少於 100MB 時停止種子的下載

沒有留言: