一.介绍
Deluge是通过PyGTK来实现图形界面的,所以也就有了方便全平台的基础,当然,也有不带图形界面的命令行版本以及Web界面的版本,它的后端使用了libtorrent,自06年第一个版本放出以来,Deluge经历了很多更新,也增加了很多功能以及优化,是当前广受欢迎以及使用的BT/PT客户端之一。
二.安装
和Transmission一样,Deluge有两种安装方式,我这边还是都介绍一下,选哪个就看你喜好了
①.yum安装
wget -O /etc/yum.repos.d/linuxtech.repo http://pkgrepo.linuxtech.net/el6/release/linuxtech.repo
yum install deluge -y
service deluge-daemon start
1
2
3
wget-O/etc/yum.repos.d/linuxtech.repohttp://pkgrepo.linuxtech.net/el6/release/linuxtech.repo
yuminstalldeluge-y
servicedeluge-daemonstart
PS.这边请注意,由于Deluge使用了Python开发,而Yum安装的目标为系统默认Python,所以如果安装了更新的Python版本且修改为默认Python的,请将/usr/bin中以deluge开头的所有文件的开头shebang修改为系统默认python,centos6下需要改成python2.6
如果要将语言修改为中文,请在/etc/init.d/deluge-daemon 中参照下方编译安装的启动文件,添加如下几行
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN.UTF-8:zh_CN.UTF-8:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
ulimit -HSn 65535
1
2
3
4
5
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN.UTF-8:zh_CN.UTF-8:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
ulimit-HSn65535
这个是在你系统语言为英文的环境下单独针对Deluge修改运行环境语言,最后一行是为了解决PT挂种多了时候常出现的open too many files问题
②.编译安装
虽说是编译,但是为了方便,我们在libtorrent上还是要用到上面的源,也就是只编译Deluge部分,如果连libtorrent也想编译的,那么可以参照官方文档自己研究一下了,这个可以是独立的libtorrent,也可以是Deluge内置的(主要是要编译libtorrent就需要另外再编译boost了,yum源里的版本不够,比较麻烦)
yum install epel-release -y
rpm -Uvh https://centos6.iuscommunity.org/ius-release.rpm
yum update -y
yum groupinstall "Development tools" -y
wget -O /etc/yum.repos.d/linuxtech.repo http://pkgrepo.linuxtech.net/el6/release/linuxtech.repo
yum install boost-filesystem boost-system boost-thread gettext-devel GeoIP-devel intltool openssl-devel xdg-utils zlib-devel rb_libtorrent rb_libtorrent-python -y
pip install boost beaker chardet fpconst geoip markupsafe mako service_identity setproctitle simplejson soappy twisted pillow pyopenssl pyxdg zope
1
2
3
4
5
6
7
8
9
yuminstallepel-release-y
rpm-Uvhhttps://centos6.iuscommunity.org/ius-release.rpm
yumupdate-y
yumgroupinstall"Development tools"-y
wget-O/etc/yum.repos.d/linuxtech.repohttp://pkgrepo.linuxtech.net/el6/release/linuxtech.repo
yuminstallboost-filesystemboost-systemboost-threadgettext-develGeoIP-develintltoolopenssl-develxdg-utilszlib-devel rb_libtorrentrb_libtorrent-python-y
pipinstallboostbeakerchardetfpconstgeoipmarkupsafemakoservice_identitysetproctitlesimplejsonsoappytwistedpillowpyopensslpyxdgzope
我这边把python的包从yum安装中拆出来了,为得是方便使用非系统默认版本python的,这还是因为yum安装的python包全是在默认版本那儿无法调用的问题
如果你用的不是系统默认版本的Python,请运行如下命令来将rb_libtorrent-python安装的库文件导入当前的python 2.7中,防止出现import错误
cp /usr/lib64/python2.6/site-packages/libtorrent.so /usr/lib64/python2.7/site-packages/
1
cp/usr/lib64/python2.6/site-packages/libtorrent.so /usr/lib64/python2.7/site-packages/
然后可以编译Deluge了
cd /opt/
wget http://download.deluge-torrent.org/source/deluge-1.3.15.tar.gz
tar zxvf deluge-1.3.15.tar.gz
cd deluge-1.3.15/
python setup.py build
python setup.py install
1
2
3
4
5
6
7
cd/opt/
wgethttp://download.deluge-torrent.org/source/deluge-1.3.15.tar.gz
tarzxvfdeluge-1.3.15.tar.gz
cddeluge-1.3.15/
pythonsetup.pybuild
pythonsetup.pyinstall
不出意外应该这儿就好了,然后是添加启动文件方便管理和开机启动
首先创建一下单独的用户
groupadd deluge
useradd deluge -g deluge -s /bin/false
1
2
groupadddeluge
useradddeluge-gdeluge-s/bin/false
然后运行下面命令写入启动脚本
cat >/etc/init.d/deluge-daemon<
#!/bin/bash
#
# Startup script for deluged
#
# chkconfig: - 86 14
# description: deluged is the Deluge bit torrent daemon. It manages torrents
# processname: deluged
# pidfile: /var/run/deluged.pid
# config:
# Source function library.
. /etc/init.d/functions
# Get network config
. /etc/sysconfig/network
[ "${NETWORKING}" = "no" ] && exit 0
prog=deluged
prog2=deluge
lockfile=/var/lock/subsys/deluged
lockfile2=/var/lock/subsys/deluge
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN.UTF-8:zh_CN.UTF-8:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
ulimit -HSn 65535
start() {
echo -n $"Starting deluged service: "
daemon --user deluge "$prog $OPTIONS"
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
echo -n $"Starting deluge web ui: "
daemon --user deluge "$prog2 --ui web >/dev/null 2>&1 &"
RETVAL=$(($RETVAL|$?))
echo
[ $RETVAL -eq 0 ] && touch $lockfile2
return $RETVAL
}
stop() {
echo -n $"Shutting down deluged service: "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $lockfile
echo -n $"Shutting down deluge web ui: "
killproc $prog2
RETVAL2=$?
echo
[ $RETVAL2 -eq 0 ] && rm -f $lockfile2
return $(($RETVAL|$RETVAL2))
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
status $prog2
;;
restart)
stop
start
;;
reload)
exit 3
;;
*)
echo $"Usage: $prog {start|stop|status|restart|reload}"
exit 1
esac
EOF
chmod +x /etc/init.d/deluge-daemon
chkconfig --add deluge-daemon
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
cat>/etc/init.d/deluge-daemon<
#!/bin/bash
#
# Startup script for deluged
#
# chkconfig: - 86 14
# description: deluged is the Deluge bit torrent daemon. It manages torrents
# processname: deluged
# pidfile: /var/run/deluged.pid
# config:
# Source function library.
./etc/init.d/functions
# Get network config
./etc/sysconfig/network
["${NETWORKING}"="no"]&&exit0
prog=deluged
prog2=deluge
lockfile=/var/lock/subsys/deluged
lockfile2=/var/lock/subsys/deluge
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN.UTF-8:zh_CN.UTF-8:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
ulimit-HSn65535
start(){
echo-n$"Starting deluged service: "
daemon--userdeluge"$prog $OPTIONS"
RETVAL=$?
echo
[$RETVAL-eq0]&&touch$lockfile
echo-n$"Starting deluge web ui: "
daemon--userdeluge"$prog2 --ui web >/dev/null 2>&1 &"
RETVAL=$(($RETVAL|$?))
echo
[$RETVAL-eq0]&&touch$lockfile2
return$RETVAL
}
stop(){
echo-n$"Shutting down deluged service: "
killproc$prog
RETVAL=$?
echo
[$RETVAL-eq0]&&rm-f$lockfile
echo-n$"Shutting down deluge web ui: "
killproc$prog2
RETVAL2=$?
echo
[$RETVAL2-eq0]&&rm-f$lockfile2
return$(($RETVAL|$RETVAL2))
}
# See how we were called.
case"$1"in
start)
start
;;
stop)
stop
;;
status)
status$prog
status$prog2
;;
restart)
stop
start
;;
reload)
exit3
;;
*)
echo$"Usage: $prog {start|stop|status|restart|reload}"
exit1
esac
EOF
chmod+x/etc/init.d/deluge-daemon
chkconfig--adddeluge-daemon
三.配置
安装完成后访问http://IP:8112/ 然后就能进入Deluge自带的WebGUI界面,默认密码为:deluge
第一次访问时会建议你修改默认密码,建议改个长点的
(英文问题请参照上方说明修改启动文件)
相比Transmission把大部分设置全放配置文件里不一样,Deluge的配置几乎在WebGUI上都能进行修改,所以我这边也不说啥了
在/etc/init.d/deluge-daemon中你能找到下面的命令
echo -n $"Starting deluged service: "
daemon --user deluge "$prog $OPTIONS"
1
2
echo-n$"Starting deluged service: "
daemon--userdeluge"$prog $OPTIONS"
其中deluged是后端服务进程,deluge是前端WebGUI进程
对命令加参数,如下便是修改服务端监听12345端口
daemon --user deluge "$prog $OPTIONS -p 12345"
1
daemon--userdeluge"$prog $OPTIONS -p 12345"
至于Web端口可以在界面设置中修改,就省得改配置了
PS.遇到open too many files 问题请往上仔细看,增加ulimit命令到启动文件或开机启动脚本/etc/rc.local 中