debian编译rtorrent相关资料文摘
以下面这个为准:再下面的只是参考
error while loading shared libraries的解方法
注意xmlrpc 的版本不能低于1.07
debian网站上下载的安装包如何安装他的所有依赖包?
? apt-get install package-name 这样会提示的,如果还缺少什么包,就直接再加在后来就行了,apt很牛,可以解决大部分的软件依赖问题,我喜欢ubuntu
./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory
那就表示系不知道xxx.so 放在哪目下。
候就要在/etc/ld.so.conf中加入xxx.so所在的目。
?一般而言,有很多so在/usr/local/lib目下,所以在/etc/ld.so.conf中加入/usr/local/lib一行,可以解此。
/etc/ld.so.conf存後,要行/sbin/ldconfig 更新一下才生效。
rTorrent 是可以linux文本模式下的BT下载软件,适合用在没有XWINDOW的环境使用 适合在远程终端下操作
支持 UTF-8,文件不会有乱码??
0.8.0 版后支持 DHT
本文在Redhat AS 5.4安装,同样适用于Centos5
安装篇:
----------------------
先确认是否已经安装以下套件 (等会编译会用到,有些套件无法完成编译)
先安装 gcc ++ ncurses ncurses-devel libtool automake? openssl openssl-devel
实际安装如下
G++? 编译必须安装文件
安装checkinstall 便于制作安装包 用checkinstall 代替马克install
Subversion 在线下载最新版本文件用
Make 不安装在make时会提示找不到命令
Automake? 执行./autogen.sh
libcurl4-openssl-dev? ??? 不安装编译libtorrent时会出错?
ncurses-dev libtool automake? openssl? make libsigc++-2.0-dev 后安装? libcurl4-openssl-dev subversion
如果没有这些套件,可以采用yum来安装
yum install gcc gcc-c++ ncurses ncurses-devel libtool automake? openssl openssl-devel
下载软件:
1.sigc++-2.0
http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.0.tar.gz
2.curl
http://curl.haxx.se/download/curl-7.19.7.tar.gz
3.xmlrpc-c? 要svn下载新版本
http://sourceforge.net/projects/xmlrpc-c/files/?? (进入下载最新版)
4.libtorrent
http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.6.tar.gz
5.rtorrent
http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.6.tar.gz
?
安装软件:
----------------------
tar zvxf? libsigc++-2.2.0.tar.gz
cd libsigc++-2.2.0
./configure --prefix=/usr
make
make install
tar zvxf? curl-7.19.7.tar.gz
cd curl-7.19.7
./configure --prefix=/usr
make
make install
tar zvxf libtorrent-0.12.6.tar.gz
cd libtorrent-0.12.6
./autogen.sh
./configure --prefix=/usr
注:此时可能会出现 No package 'sigc++-2.0' found?? 错误。
可以添加一个环境变量解决
vi /etc/profile
在后面加入 export PKG_CONFIG_PATH=/usr/lib/pkgconfig
. /etc/profile
即可解决
make
make install
../../../libtool: line 1189: Xblock.lo: command not found
../../../libtool: line 1194: libtool: compile: cannot determine name of library object from `': command not found
make[3]: *** [block.lo] Error 1
安装过程可能会出现这个错误,把安装目录内的 libtool 文件里的 $echo 替换成 $ECHO? ,重新编译,即可通过。
tar zvxf xmlrpc-c-1.06.38.gz
cd xmlrpc-c-1.06.38
./configure --disable-cplusplus
make
make install
tar zvxf rtorrent-0.8.6.tar.gz
cd rtorrent-0.8.6
./configure --prefix=/usr --with-xmlrpc-c
make
make install
到此安装已经完成,测试是否成功?
# rtorrent
如果出现rtorrent 的界面就表示已经成功
按 <Ctrl> + <q> 退出
rTorrent 设置篇:
----------------------------
默认是没有配置文件的,需要手动添加
这里有官方的参考范例:
http://libtorrent.rakshasa.no/browser/trunk/rtorrent/doc/rtorrent.rc?rev=1047
配置文件必须放在(使用用户目录)底下「.rtorrent.rc」这个文件
以下本人的配置文件,大家可以参考下
?? #最小允许peer数
??? min_peers = 3
??? #最大允许peer数
??? max_peers = 500
??? #最大同时上传用户数
??? max_uploads = 10
??? #最大下载950k/s 光纤用户使用,adsl请酌情修改
??? download_rate = 950
??? #最大上传200k/s 光纤用户使用,adsl请酌情修改
??? upload_rate = 200
??? #下载目录
??? directory = ~/universe
??? #下载历史目录(此目录中包括下载进度信息和DHT节点缓存)
??? session = ~/universe/session
??? #(配置自动监视,把bt种子扔进~/universe目录就自动下载)
??? schedule = watch_directory,5,5,load_start=~/universe/*.torrent
??? #(配置自动监视,把bt种子从~/universe目录拿走就自动停止下载)
??? schedule = untied_directory,5,5,stop_untied=
??? #硬盘空间低于100M就自动停止一切下载)
??? schedule = low_diskspace,5,60,close_low_diskspace=100M
??? #(在总上传量达到200M的情况下上传/下载率达到200%,或者在总上传量不足200M情况下上传/下载率达到2000%,则停止上传)
??? schedule = ratio,60,60,"stop_on_ratio=200,200M,2000"
??? #bt监听端口
??? port_range = 9400-9500
??? #随机从上面范围内选择端口
??? port_random = yes
??? ######开启DHT######
??? dht = on
??? #DHT所用的UDP端口
??? dht_port = 9501
??? #种子交换功能
??? peer_exchange = yes
??? #(上传缓存,每个种子10M,小内存用户请酌情修改)
??? send_buffer_size = 10M
??? #(下载缓存,每个种子20M,小内存用户请酌情修改)
??? receive_buffer_size = 20M
??? #(修改编码以避免中文乱码)
??? encoding_list=UTF-8
???
??? #是nTorrent监控管理软件用(需要xmlrpc-c支持,如果没有加入xmlrpc-c 请注释掉)
?? scgi_port = :5000
rTorrent除了可以使用nTorrent远程管理之外,可以使用screen 管理,关闭终端程序仍会继续运行
screen rtorrent 启动
关闭终端,重新进入后 可以使用 screen-r 调取
安 Cygwin
Cygwin 的下 Cygwin 1.7.1 (或更新的版本)
了可以正常以及行 rTorrent ,你必安以下套件:
gcc? automake? openssl
gcc gcc-c++ ncurses ncurses-devel libtool automake? openssl openssl-devel
g++
* gcc? debian安装apt-get install build-essential
* libcurl-devel?? debian下是libcurl4-openssl-dev
* libncurses-devel
* libtool
* make
* openssl-devel??? debian 是 libssl-dev 前面已经安装
?* patch
* pkg-config? 前面已经安装
* subversion
* wget??? 升级
* cppunit? debian是libcppunit-dev
* libgnomecanvas (不定需不需要)
* ncurses?? debian 是 ncurses-dev
首先
先在 /usr/local/ 下建立一叫做 src 的料。(接下的四步都在料底下操作)
mkdir /usr/local/src
cd /usr/local/src
安 libsigc++
Gnome FTP 下最新版的 libsigc++ 的原始,以及安。 (以下面例,最新版本是 2.2.7 版)
了避免在 rTorrent ,找不到 Sigc++ 2.0 的,在 ./configure libsigc++ ,加上 -prefix=/usr 。
Debian 安装libsigc++-2.0-dev
wget http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.7.tar.bz2
tar xjvf libsigc++-2.2.7.tar.bz2
cd libsigc++-2.2.7
./configure -prefix=/usr
make
make install
cd ..
安 libTorrent
透 SVN 下最新版本的? libTorrent 的原始以及安。同"安 libsigc++",了避免在 rTorrent ,找不到 libtorrent 的,在 ./configure libtorrent ,加上 -prefix=/usr 。 (除非出,不然是可以不用加)
Debian 必须安装install automake 才能autogen.sh
svn co svn://rakshasa.no/libtorrent/trunk/libtorrent libtorrent-svn
cd libtorrent-svn
./autogen.sh
./configure -prefix=/usr --disable-mincore
make
make install
cd ..
?安 XMLRPC-C (性安)
透 XMLRPC-C 控制 rTorrent。
了避免在 ./configure XMLRPC-C 出,加上 --disable-cplusplus 。
如果在 rTorrent ,出找不到 XMLRPC-C ,在 ./configure XMLRPC-C 加上 -prefix=/usr 。
svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced/ xmlrpc-c-svn
cd xmlrpc-c-svn
./configure --disable-cplusplus
make
make install
cd ..
安 rTorrent
透 SVN 下最新本版的 rTorrent 的原始。
了避免 rTorrent ,出,我在 rTorernt 前打上一修正丁。
丁提供:http://rtwi.jmk.hu
了修正在 rTorrent ,找不到 ncursesw 的,在 rtorrent-svn 料下的 configure.ac ,加入以下: debian不存在这个问题
PKG_CHECK_MODULES(ncursesw, ncursesw >= 5.7,
????????????? CXXFLAGS="$CXXFLAGS $ncursesw_CFLAGS";
????????? LIBS="$LIBS $ncursesw_LIBS")
如果要使用 XMLRPC-C 的功能,在 ./configure rTorrent ,加上 --with-xmlrpc-c 。
svn co svn://rakshasa.no/libtorrent/trunk/rtorrent rtorrent-svn
cd rtorrent-svn
wget http://rtwi.jmk.hu/downloads/misc/rtow.diff
patch -p0 < rtow.diff
./autogen.sh
./configure --with-xmlrpc-c
make
make install
cd ..