在VPS上安裝BT軟體Transmission
VPS 還能怎玩?! 裝Proxy,裝VPN,這還不夠,我還用來掛種子夠狠吧
反正頻寬閒也是閒者,不過安裝前最好事先問問主機商是否允許,合法的文件大多都是OK的。偶用YUM裝了幾個軟體總覺都怪怪的,畢竟不是該軟體最新的版本,再加上CentOS是一套強調安全的系統,當然對P2P這玩意不會太支援,我裝過了純網頁介面的Torrentflux,很多人推薦的rTorrent,但是最後還是選擇了Transmission
Transmission是一套Linux底下的BT Client,除了有繁體中文介面、支援UTF-8、介面簡潔又漂亮、佔用資源少之外也有很多熱心人士寫方便的外掛加強他的方便性,程式本身支援DHT、PEX,也能加密以及線上更新黑名單功能,可以在桌面運行也可以在console下跑,並且內建了網頁管理模組,完全不需要架設伺服器,裝好Transmission就可以遠端控制了!
這邊簡單滴把安裝過程做個紀錄,環境是CentOS 5.5的系統,開始自己編譯吧!
*********更新歷史*********
2009/12/04 - 首次發表
2010/09/22 - 更新版本為1.93
2010/10/17 - 更新版本為2.10(已增加CentOS專用的啟動腳本)
2010/11/12 - 更新版本為2.11(好像跑的快一點)
2010/11/22 - 更新版本為2.12(主要應該是修正了偶而程式會突然耍冷當掉,其他更新了什麼看這吧→官網維基)
2011/10/20 - 更新版本為2.41
Step.1 首先安裝基本套件
如果沒有安裝rpmforge跟EPEL這2個官方認可的第三方套件庫的話就要手動安裝perl-XML-Parser唷!所以要記得先安裝。
i386 / 32位元
rpm --import http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL-5
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ihv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
x84_64 / 64位元
rpm --import http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL-5
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -ihv http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -ihv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
然後開始利用YUM做簡便安裝,指令就下面這串啦
yum -y install gcc gcc-c++ m4 make automake libtool gettext openssl-devel pkgconfig perl-libwww-perl perl-XML-Parser curl curl-devel libevent-devel libevent libidn-devel zlib-devel which
Step.2 下載Transmission以及必備套件然後開始安裝
cd /usr/src
wget http://ftp.gnome.org/pub/gnome/sources/intltool/0.40/intltool-0.40.6.tar.gz
wget http://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz
wget http://download.transmissionbt.com/files/transmission-2.41.tar.bz2
這邊開始要按照順序安裝唷!
tar zxf libiconv-*.tar.gz
cd libiconv-*
./configure --prefix=/usr/local/libiconv
make && make install
cd ..
tar zxf intltool-*.tar.gz
cd intltool-*
./configure --prefix=/usr
make -s
make -s install
cd ..
tar xjf transmission-*.tar.bz2
cd transmission-*
/sbin/ldconfig
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
./configure --prefix=/usr --enable-lightweight
make -s
make -s install
cd ..
Step.3 再來新增Transmission啟動腳本要用到的使用者,***密碼部分要輸入兩次!***
useradd transmission
passwd transmission
Step.4 建立 Transmission 的設定檔目錄以及下載目錄
mkdir -p /usr/local/transmission/
mkdir -p /web/www/transmission/incomplete/
chown -R www:www /web/www/transmission/
chmod 777 /web/www/transmission/
Step.5 啟動Transmission產生Transmission的設定檔 ***此步驟要執行2次***
/usr/bin/transmission-daemon -g /usr/local/transmission
killall transmission-daemon
Step.6 編輯Transmission設定檔,這邊我有把遠控的port改成5566。
cp /usr/local/transmission/settings.json /usr/local/transmission/settings.json.bak
vi /usr/local/transmission/settings.json
比較重要的設定如下:
"download-dir": "/web/www/transmission",, // 下載完成儲存的位置
"incomplete-dir": "/web/www/transmission/incomplete",, // 尚未下載完成儲存的位置
"blocklist-enabled": true, // 啟用黑名單
"dht-enabled": true, // 啟用DHT支援
"encryption": 1, // 傳輸加密
"open-file-limit": 64, // 最大開啟檔案數量
"peer-limit-global": 240, // 最大連接數
"peer-limit-per-torrent": 60, // 單一任務連接數
"peer-port": 59999, // Transmission連接使用的port
"ratio-limit": 2.0000, // 上下傳比例達到多少停止做種
"ratio-limit-enabled": false, // 啟用上下傳比例
"rpc-enabled": true, // 啟用網頁管理模組
"rpc-bind-address": "0.0.0.0", // 指定IP位置
"rpc-port": 5566, // 指定網頁管理模組的port
"rpc-authentication-required": true, // 啟用使用者認證方式
"rpc-username": "lulala", // 登入的使用者名稱
"rpc-password": "balala", // 登入的使用者密碼
"rpc-whitelist-enabled": false, // 啟用IP認證模式,這個模式是認IP的唷! 有安全需要再啟動
"rpc-whitelist": "127.0.0.1,其他可以連的IP", // 指定認可的IP位置,以,區隔
"speed-limit-down": 100, // 限制下載速度,以KB/Sec計算
"speed-limit-down-enabled": false, // 啟用限制下載速度
"speed-limit-up": 100, // 限制上傳速度,以KB/Sec計算
"speed-limit-up-enabled": false, // 啟用限制上傳速度
"upload-slots-per-torrent": 30 // 每個Torrent的上傳連接數量,台灣跛腳的網路請設10
如果是用在動物機上開啟檔案數量和連接數就不可以調太高,免得負載太高而罷工,除了以上的設定值之外其他參數也可以參考官網的維基都有說明
Step.7 最後在編輯一下iptables規則,加入Transmission使用的port
/etc/init.d/iptables stop
iptables -A INPUT -p tcp --dport 5566 -j ACCEPT
iptables -A INPUT -p tcp --dport 59999:61000 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart
Step.8 全部搞定了,然後新增一個Transmission啟動腳本,內容如下
vi /etc/init.d/transmission
-
#!/bin/bash
-
#
-
# chkconfig: - 16 84
-
# description: Start up transmission-daemon
-
#
-
# processname: transmission-daemon
-
# config: /etc/sysconfig/transmission
-
-
# source function library
-
. /etc/rc.d/init.d/functions
-
-
# Get network config
-
. /etc/sysconfig/network
-
-
[ "${NETWORKING}" = "no" ] && exit 0
-
-
# Defaults
-
TRANSMISSION_HOME=/usr/bin/transmission-daemon
-
-
DAEMON_USER="transmission"
-
DAEMON_ARGS="-g /usr/local/transmission"
-
-
# Daemon
-
NAME=transmission-daemon
-
-
DAEMON=$(which $NAME)
-
DAEMON_PIDFILE=/var/run/$NAME.pid
-
DAEMON_LOCKFILE=/var/lock/subsys/$NAME
-
DAEMON_SCRIPTNAME=/etc/init.d/$NAME
-
DAEMON_LOGFILE=/var/log/$NAME.log
-
-
[ -x "$DAEMON" ] || exit 0
-
-
start() {
-
echo -n $"Starting ${NAME}: "
-
-
if [ -n "$TRANSMISSION_HOME" ]; then
-
export TRANSMISSION_HOME
-
fi
-
-
su - $DAEMON_USER -c "$DAEMON $DAEMON_ARGS"
-
-
sleep 2
-
-
status $NAME &> /dev/null && echo_success || echo_failure
-
RETVAL=$?
-
-
if [ $RETVAL -eq 0 ]; then
-
touch $DAEMON_LOCKFILE
-
pidof -o %PPID -x $NAME> $DAEMON_PIDFILE
-
fi
-
-
echo
-
}
-
-
stop() {
-
echo -n $"Shutting down ${NAME}: "
-
-
killproc $NAME
-
RETVAL=$?
-
-
[ $RETVAL -eq 0 ] && /bin/rm -f $DAEMON_LOCKFILE $DAEMON_PIDFILE
-
-
echo
-
}
-
-
case "$1" in
-
start)
-
start
-
;;
-
stop)
-
stop
-
;;
-
restart)
-
stop
-
start
-
;;
-
status)
-
status $NAME
-
;;
-
-
*)
-
echo "Usage: $SCRIPTNAME {start|stop|restart|status}">&2
-
exit 3
-
;;
-
esac
然後給權限,啟動之後打開瀏覽器輸入http://IP或域名:5566/就能遠控Transmission了。
chmod +x /etc/init.d/transmission
chkconfig --level 345 transmission on
chown -R transmission:transmission /usr/local/transmission/
service transmission start
測試完畢,打包收工啦!
cd /usr/src
rm -rf libiconv-*
rm -rf intltool-*
rm -rf transmission-*
- 下載Transmission啟動腳本範本檔
- 下載Transmission設定檔範本檔
- 搭配FlexGet來實現讀取RSS自動下載功能
--------------
Transmission除了網頁介面之外還有非常好用的遠控軟體,我現在就是在用transmission-remote-dotnet(需要加裝 Microsoft .NET Framework 2.0)來搭配使用,transmission-remote-dotnet這套雖然只有支援Win系列的OS,但是有支援UTF-8,就算是簡體中文的檔名也能正確的顯示,而且掛10幾個種子也只吃20多MB記憶體。

另外transmisson-remote-gui這套提供了Mac OS、Windows、Linux-i386 binary、Source code,不過這套沒有中文介面,不支援UTF-8,我使用時中文都會變亂碼。
其他的Transmission使用教學
圖解 Transmission 入門
Transmission安裝方法
推薦好用的多平台BT工具

上週五買了那個1個月free的promotion,最後也是要£1.00GBP,約48NTD
.
但是最不爽的是等等等...等不到服務開通,ticket也不回
聽說是Service delivery 要 24-72 business hours,我哩咧.
上次買也沒那麼久,難道便宜沒好貨?
算了,看在純粹刷上傳量的份上,忍耐一點
transmisson-remote-gui 不能用 UTF-8 ??
http://code.google.com/p/transmisson-remote-gui/source/detail?r=139
Pingback: 沒有牆的世界 bt -網誌熱搜"沒有牆的世界 bt"
这个怎么弄啊 到这里卡住了 请教
裝個libevent吧
Pingback: Linux Centos系统上安装BT客户端Transmission | 雪糕猪's Blog
最近火力全開喔XD
噗~~ 我要哭了
checking for LIBEVENT... configure: error: Package requirements (libevent >= 2.0.10) were not met:
No package 'libevent' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LIBEVENT_CFLAGS
and LIBEVENT_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
呆呆,libevent那摸好用的東西當然要裝啊~
下面這PART夾去配
cd /usr/srcwget http://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.15-stable.tar.gz
tar zxf libevent-*-stable.tar.gz
cd libevent-*-stable
./configure
make && make install
cd ..
/sbin/ldconfig
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
rm -rf libevent-*
有得用就好了
collect2: ld returned 1 exit status
make[1]: *** [blocklist-test] Error 1
make[1]: Leaving directory `/tmp/transmission-2.42/libtransmission'
make: *** [all-recursive] Error 1
[root@houtai transmission-2.42]#
在make以後出現這樣的錯誤,怎麼辦
大哥你訊息貼的超長的...幫你縮短 = =...
檢查一下你的libevent版本吧~ 最常見的問題了。
[root@ns1 transmission-2.42]# make -s
make: *** No targets specified and no makefile found. Stop.
[root@ns1 transmission-2.42]# tar xjf transmission-*.tar.bz2
tar: transmission-*.tar.bz2: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error exit delayed from previous errors
[root@ns1 transmission-2.42]# make -s
make: *** No targets specified and no makefile found. Stop.
[root@ns1 transmission-2.42]# make -s install
make: *** No rule to make target `install'. Stop.
[root@ns1 transmission-2.42]#