VPS上用debian装transmission教程 |
1. 前言: P3lDBd http://blog.numino.net/ 原来都是在Centos上装Transmission挂PT的,这两天在折腾我的VPS,分别试着在Centos和Debian上安装了rtorrent+rutorrent,结果发现rtorrent和transmission相比,并不是很稳定,经常崩溃,虽然可以写脚本定时检查重启,但每次重启都会重新hash文件,问题多多,所以个人以为还是transmission比较合适个人安装使用,之所以rtorrent很多seedbox在用,主要是它比较容易支持多用户,适合多人共享。最终决定还是装回transmission,因为reload的OS是debian,所以也不准备换成centos,于是就有了这篇教程。 6ONQT7 http://blog.numino.net/ 2.升级系统 JEZUAX http://blog.numino.net/ 我这里reload的是debian-5.0x86的,不同的版本有可能出现的错误不一样,有问题可以跟贴问,为了方便,我这里都是用root登录安装的 f50m22 http://blog.numino.net/ 首先升级系统:apt-get update vKQ5e9 http://blog.numino.net/ apt-get upgrade W4h2kZ http://blog.numino.net/ 复制代码结果第一条命令就有错误:GPG error: http://ftp.de.debian.org lenny/updates Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA a59YWy http://blog.numino.net/ 复制代码你不能忽略这这个,不然下面安装必要库文件的时候会有些库装不上,要解决这个错误,输入下面命令apt-get install debian-archive-keyring hc9FuV http://blog.numino.net/ 复制代码然后重新输入上面两条命令,这次就没有错误了,你需要等几分钟等这个过程结束,这取决于你的VPS bQEO15 http://blog.numino.net/ 3.安装Transmission Do4p5K http://blog.numino.net/ 先安装必要的库文件这个可以在transmission的网站找到,所以很简单,直接输入apt-get install build-essential automake make autoconf libtool pkg-config libcurl4-openssl-dev intltool libxml2-dev libgtk2.0-dev libnotify-dev libglib2.0-dev libevent-dev H7fYR0 http://blog.numino.net/ 复制代码下载transmission,我这里下的是2.13,并不是最新版,因为最新的版本不在我常去PT的允许客户端列表里,你安装的时候也可以看看你所混的PT的FAQ,然后下载合适的版本,不然被Ban了不要怪我wget http://download.m0k.org/transmission/files/transmission-2.13.tar.bz2 nEGp26 http://blog.numino.net/ tar xvjf transmission-2.13.tar.bz2 mb2BX2 http://blog.numino.net/ cd transmission-2.13 5eVPU0 http://blog.numino.net/ ./configure i4HRY3 http://blog.numino.net/ 复制代码在./configure那一步出现错误:configure: error: libevent 1.4.9 or higher not found! 4SzbP6 http://blog.numino.net/ 复制代码因此下载安装所需要的libevent版本:wget http://ftp.us.debian.org/debian/pool/main/libe/libevent/libevent-1.4-2_1.4.13-stable-1_i386.deb Lr3V5z http://blog.numino.net/ wget http://ftp.us.debian.org/debian/pool/main/libe/libevent/libevent-core-1.4-2_1.4.13-stable-1_i386.deb AAjELJ http://blog.numino.net/ wget http://ftp.us.debian.org/debian/pool/main/libe/libevent/libevent-extra-1.4-2_1.4.13-stable-1_i386.deb TYKL46 http://blog.numino.net/ wget http://ftp.us.debian.org/debian/pool/main/libe/libevent/libevent-dev_1.4.13-stable-1_i386.deb 7N1B2G http://blog.numino.net/ dpkg -i *.deb NP6S88 http://blog.numino.net/ 复制代码然后继续./configure fdwMIX http://blog.numino.net/ make 0uD0T0 http://blog.numino.net/ make install un3L8R http://blog.numino.net/ 复制代码 59hV8E http://blog.numino.net/ 4.安装Transmission的启动,停止脚本 v18VKb http://blog.numino.net/ 脚本在transmission网站有现成的,为了方便起见,我还是把它放在这里 05i0A3 http://blog.numino.net/ #! /bin/sh 5eAeQ3 http://blog.numino.net/ ### BEGIN INIT INFO mW4v8t http://blog.numino.net/ # Provides: transmission-daemon OXo1Q9 http://blog.numino.net/ # Required-Start: networking PZfFj0 http://blog.numino.net/ # Required-Stop: networking L43rw0 http://blog.numino.net/ # Default-Start: 2 3 5 pP50Tm http://blog.numino.net/ # Default-Stop: 0 1 6 GdW33V http://blog.numino.net/ # Short-Description: Start the transmission BitTorrent daemon client. KDzHe6 http://blog.numino.net/ ### END INIT INFO BtnBHm http://blog.numino.net/ # Original Author: Lennart A. JÃŒtte, based on Rob Howell's script 8MLT40 http://blog.numino.net/ # Modified by Maarten Van Coile & others (on IRC) AXN0ka http://blog.numino.net/ # Do NOT "set -e" 5mYLpX http://blog.numino.net/ # 5woVQl http://blog.numino.net/ # ----- CONFIGURATION ----- VhMdT4 http://blog.numino.net/ # sLrJm2 http://blog.numino.net/ # For the default location Transmission uses, visit: Mk8Edx http://blog.numino.net/ # http://trac.transmissionbt.com/wiki/ConfigFiles jwW5KT http://blog.numino.net/ # For a guide on how set the preferences, visit: NUufo8 http://blog.numino.net/ # http://trac.transmissionbt.com/wiki/EditConfigFiles uB0lCf http://blog.numino.net/ # For the available environement variables, visit: HUZy4N http://blog.numino.net/ # http://trac.transmissionbt.com/wiki/EnvironmentVariables 0a04sU http://blog.numino.net/ # lkU1LW http://blog.numino.net/ # The name of the user that should run Transmission. yPazxz http://blog.numino.net/ # It's RECOMENDED to run Transmission in it's own user, VMSlJs http://blog.numino.net/ # by default, this is set to 'transmission'. OEU5eP http://blog.numino.net/ # For the sake of security you shouldn't set a password sgN59Q http://blog.numino.net/ # on this user ttFhlS http://blog.numino.net/ USERNAME=transmission f03IHb http://blog.numino.net/ # ----- *ADVANCED* CONFIGURATION ----- kInbhc http://blog.numino.net/ # Only change these options if you know what you are doing! 4hsfi6 http://blog.numino.net/ # dPefwN http://blog.numino.net/ # The folder where Transmission stores the config & web files. pQ8sMU http://blog.numino.net/ # ONLY change this you have it at a non-default location SAT0gf http://blog.numino.net/ #TRANSMISSION_HOME="/var/config/transmission-daemon" 25DlGr http://blog.numino.net/ #TRANSMISSION_WEB_HOME="/usr/share/transmission/web" 4Toy49 http://blog.numino.net/ # f569iR http://blog.numino.net/ # The arguments passed on to transmission-daemon. w6M01l http://blog.numino.net/ # ONLY change this you need to, otherwise use the bbSFTl http://blog.numino.net/ # settings file as per above. i5MzyW http://blog.numino.net/ #TRANSMISSION_ARGS="" GgaT45 http://blog.numino.net/ # ----- END OF CONFIGURATION ----- 4zXsW1 http://blog.numino.net/ # p07uwq http://blog.numino.net/ # PATH should only include /usr/* if it runs after the mountnfs.sh script. 8GxRgr http://blog.numino.net/ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin aptxhe http://blog.numino.net/ DESC="bittorrent client" JrB63R http://blog.numino.net/ NAME=transmission-daemon Q1u2eY http://blog.numino.net/ DAEMON=$(which $NAME) IJ0VLZ http://blog.numino.net/ PIDFILE=/var/run/$NAME.pid 9D0uzd http://blog.numino.net/ SCRIPTNAME=/etc/init.d/$NAME VVmISj http://blog.numino.net/ # Exit if the package is not installed 4z3w8V http://blog.numino.net/ [ -x "$DAEMON" ] || exit 0 NXc5O7 http://blog.numino.net/ # Read configuration variable file if it is present 0NKR3f http://blog.numino.net/ [ -r /etc/default/$NAME ] && . /etc/default/$NAME 325b31 http://blog.numino.net/ # Load the VERBOSE setting and other rcS variables IH21Xe http://blog.numino.net/ [ -f /etc/default/rcS ] && . /etc/default/rcS 53sVS7 http://blog.numino.net/ # Ozk532 http://blog.numino.net/ # Function that starts the daemon/service 1U2Jg7 http://blog.numino.net/ # FePlJU http://blog.numino.net/ do_start() CjO919 http://blog.numino.net/ { xgwBG2 http://blog.numino.net/ # Export the configuration/web directory, if set YUcMk4 http://blog.numino.net/ if [ -n "$TRANSMISSION_HOME" ]; then Oh61NY http://blog.numino.net/ export TRANSMISSION_HOME 3Xh9m0 http://blog.numino.net/ fi Zy6JOT http://blog.numino.net/ if [ -n "$TRANSMISSION_WEB_HOME" ]; then an1oq6 http://blog.numino.net/ export TRANSMISSION_WEB_HOME dy8Sv1 http://blog.numino.net/ fi pd7skP http://blog.numino.net/ # Return 4I22dU http://blog.numino.net/ # 0 if daemon has been started CJVma4 http://blog.numino.net/ # 1 if daemon was already running vW04Cm http://blog.numino.net/ # 2 if daemon could not be started 8cWjTB http://blog.numino.net/ start-stop-daemon --chuid $USERNAME --start --pidfile $PIDFILE --make-pidfile \ 2t6g2f http://blog.numino.net/ --exec $DAEMON --background --test -- -f $TRANSMISSION_ARGS > /dev/null \ 495W2j http://blog.numino.net/ || return 1 OWyN5M http://blog.numino.net/ start-stop-daemon --chuid $USERNAME --start --pidfile $PIDFILE --make-pidfile \ FWWEuS http://blog.numino.net/ --exec $DAEMON --background -- -f $TRANSMISSION_ARGS \ 9ztZCN http://blog.numino.net/ || return 2 ha43Bv http://blog.numino.net/ } yQ125L http://blog.numino.net/ # 09S2Nu http://blog.numino.net/ # Function that stops the daemon/service 00IXV0 http://blog.numino.net/ # Ypu71o http://blog.numino.net/ do_stop() 3vGbim http://blog.numino.net/ { 58Dzi7 http://blog.numino.net/ # Return VslZLj http://blog.numino.net/ # 0 if daemon has been stopped v76Bcz http://blog.numino.net/ # 1 if daemon was already stopped iII1Mp http://blog.numino.net/ # 2 if daemon could not be stopped E4dhNt http://blog.numino.net/ # other if a failure occurred RCPxvP http://blog.numino.net/ start-stop-daemon --stop --quiet --retry=TERM/10/KILL/5 --pidfile $PIDFILE --name $NAME VGJMpj http://blog.numino.net/ RETVAL="$?" e4zPvi http://blog.numino.net/ [ "$RETVAL" = 2 ] && return 2 6DC3H8 http://blog.numino.net/ # Wait for children to finish too if this is a daemon that forks 5vEWFe http://blog.numino.net/ # and if the daemon is only ever run from this initscript. bdTqGg http://blog.numino.net/ # If the above conditions are not satisfied then add some other code IN0nzr http://blog.numino.net/ # that waits for the process to drop all resources that could be yMpmPJ http://blog.numino.net/ # needed by services started subsequently. A last resort is to 40x4em http://blog.numino.net/ # sleep for some time. Gx9uRn http://blog.numino.net/ start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON RkFP86 http://blog.numino.net/ [ "$?" = 2 ] && return 2 xltpMG http://blog.numino.net/ # Many daemons don't delete their pidfiles when they exit. a7CdDX http://blog.numino.net/ rm -f $PIDFILE rPLnEr http://blog.numino.net/ return "$RETVAL" BGOgK2 http://blog.numino.net/ } imv3qF http://blog.numino.net/ case "$1" in 6wqH9l http://blog.numino.net/ start) cDHkBN http://blog.numino.net/ echo "Starting $DESC" "$NAME..." 0awd97 http://blog.numino.net/ do_start U0U5C0 http://blog.numino.net/ case "$?" in 58rIeP http://blog.numino.net/ 0|1) echo " Starting $DESC $NAME succeeded" ;; w7K2M0 http://blog.numino.net/ *) echo " Starting $DESC $NAME failed" ;; E47Hyn http://blog.numino.net/ esac b0B7sM http://blog.numino.net/ ;; js28Ew http://blog.numino.net/ stop) EsF7rT http://blog.numino.net/ echo "Stopping $DESC $NAME..." TdFefQ http://blog.numino.net/ do_stop pjLs9o http://blog.numino.net/ case "$?" in dGEMiN http://blog.numino.net/ 0|1) echo " Stopping $DESC $NAME succeeded" ;; LwMlj4 http://blog.numino.net/ *) echo " Stopping $DESC $NAME failed" ;; avfzNx http://blog.numino.net/ esac JXncSW http://blog.numino.net/ ;; 7xgQh1 http://blog.numino.net/ restart|force-reload) 4VIZr8 http://blog.numino.net/ # 2s37rk http://blog.numino.net/ # If the "reload" option is implemented then remove the HZQ4fi http://blog.numino.net/ # 'force-reload' alias vj7aeB http://blog.numino.net/ # lf153Q http://blog.numino.net/ echo "Restarting $DESC $NAME..." J6exc9 http://blog.numino.net/ do_stop dv2vEr http://blog.numino.net/ case "$?" in YqzpN4 http://blog.numino.net/ 0|1) H23xW3 http://blog.numino.net/ do_start U1d8Z5 http://blog.numino.net/ case "$?" in oV1zi0 http://blog.numino.net/ 0|1) echo " Restarting $DESC $NAME succeeded" ;; D27UBc http://blog.numino.net/ *) echo " Restarting $DESC $NAME failed: couldn't start $NAME" ;; 9vvInp http://blog.numino.net/ esac Oe4f59 http://blog.numino.net/ ;; ZHrRgC http://blog.numino.net/ *) L8jkGD http://blog.numino.net/ echo " Restarting $DESC $NAME failed: couldn't stop $NAME" ;; phrhvD http://blog.numino.net/ esac XSs2su http://blog.numino.net/ ;; 7K6TSE http://blog.numino.net/ *) 1vTR6w http://blog.numino.net/ echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 s665zg http://blog.numino.net/ exit 3 68nyCy http://blog.numino.net/ ;; iFQNY2 http://blog.numino.net/ esac 5Dc2I6 http://blog.numino.net/ 复制代码这个脚本文件需要作为transmission-daemon放在/etc/init.d/下面,输入以下命令: 5AufY8 http://blog.numino.net/ vi /etc/init.d/transmission-daemon WwVjrG http://blog.numino.net/ 复制代码按i,然后把上面这个脚本粘帖进去,按ESC,然后按冒号:,输入wq,按回车,文件就建立好了 95t4YZ http://blog.numino.net/ 接下来更改文件的权限并使它在启动的时候可以自动执行: okKd1T http://blog.numino.net/ chmod +x /etc/init.d/transmission-daemon QaufqS http://blog.numino.net/ chown root:root /etc/init.d/transmission-daemon fUL3NT http://blog.numino.net/ update-rc.d transmission-daemon defaults Uv7twk http://blog.numino.net/ 复制代码下来新建一个用户运行transmission,这里用的用户名是transmission,当然你也可以用其他的,不过记得要更改脚本了的USERNAME与之对应 XS7D3o http://blog.numino.net/ useradd -mr transmission pNQ4BU http://blog.numino.net/ chmod g+rwx /home/transmission/ eTQ3sK http://blog.numino.net/ 复制代码 k2jVdf http://blog.numino.net/ 建立transmission的下载目录并设定权限: gdf45G http://blog.numino.net/ mkdir -p /home/transmission/Downloads/ RFQgBv http://blog.numino.net/ chown -R transmission.transmission /home/transmission/Downloads/ FmQK1H http://blog.numino.net/ chmod g+w /home/transmission/Downloads/ Y64g9i http://blog.numino.net/ 复制代码接下来就可以启动transmission了: T3r521 http://blog.numino.net/ /etc/init.d/transmission-daemon start mQ1146 http://blog.numino.net/ 复制代码 6n98Xl http://blog.numino.net/ transmission启动后就自动会在/home/transmission/.config/transmission-daemon下生成settings.json文件,不过在你更改设置之前必须先停止transmission: z0chEp http://blog.numino.net/ /etc/init.d/transmission-daemon stop z0ssad http://blog.numino.net/ 复制代码这样你就可以开始更改设置了: E7P0dQ http://blog.numino.net/ vi /home/transmission/.config/transmission-daemon/settings.json m6ACBv http://blog.numino.net/ 复制代码按i以后就可以开始编辑了,至于参数什么意思请参考transmission的网站,改完后按ESC, 按冒号:,输入wq回车存盘 A1d3UR http://blog.numino.net/ 为了方便你在家里的电脑上用Transmission Remote GUI的连上去管理,下面的设置你必须更改: hhfSVH http://blog.numino.net/ "rpc-whitelist-enabled": false - 默认是true,要改为false b6cc3T http://blog.numino.net/ “rpc-password": "密码", fzwVw4 http://blog.numino.net/ "rpc-username": "用户名", RO6FQs http://blog.numino.net/ 上面的密码和用户名你可以自己指定 L5l5fE http://blog.numino.net/ 复制代码 e0M79c http://blog.numino.net/ 从新启动transmission,新的设置就会生效: 5Bkuvx http://blog.numino.net/ /etc/init.d/transmission-daemon start iCT7sU http://blog.numino.net/ 复制代码现在你可以下载并安装Transmission Remote GUI,在GUI的options输入VPS的IP地址,rpc的端口(默认是9091,你可以在settings.json中改成其他的),你的用户名和密码,就可以连到你VPS上的transmission了 R2fzo5 http://blog.numino.net/ Transmission Remote GUI的下载地址: 6X0wXP http://blog.numino.net/ http://transmisson-remote-gui.googlecode.com/files/transgui-2.2-setup.exe HX6mx8 http://blog.numino.net/ 复制代码另外如果你用Android的手机,可以在菜市场搜索安装Transdroid,它可以很方便的在手机上管理transmission,也可以在手机上下载torrent,通过它传到vps的transmission里进行下载,非常方便 KSFys3 http://blog.numino.net/ 至此transmission在debian的安装就告一段落了,下来有时间我会写一下如何通过rss和irc自动下载torrent并传给transmission进行下载
|
|