it江湖漂,怎能不挨刀;一朝机器当,看你怎么着!
分类: LINUX
2006-06-03 13:44:51
1、 BT简介
BitTorrent是一种新型共享软件方式,优势在于不限制下载带宽和联接线程仍能提供高速下载服务,下载的人越多,下载速度不下降反而更稳定,相比之下FTP仅能提供一定数目内的联接和有限的带宽(下载的人越多,速度越慢) BitTorrent更适合大文件的下载。
2、 下载安装python
BitTorrent-
1) tar –zxvf python-
2)cd python-
3)configure –prefix=/usr/local/python-
4)make && make install
5)mv /usr/bin/ python-1.5 /usr/bin/ python
6)ln –s /usr/local/python-
OK, 和一般linux下编辑安装软件一样,Python 安装完成了。
4、下载安装BitTorrent
你可以到 去下载最新的linux下用的tar 或zip 包,然后进行安装:
1) tar –zxvf BitTorrent-
2 python setup.py install
2) cd BitTorrent-
3) 启动BitTorrent的track服务,这个服务用来跟踪、分发所有下载情况
./bttrack.py -–port 6969 --dfile dstate >> /home/log/bttrack.log &
建义用普通用户来启动这个服务,这样对安全有好处。这个命令会在当前目录生成一个dstate的文件,并打开6969端口 ,你可以在IE内打入:去看服务的相关信息。(当然,现在还没有内容,生成*.torrent发布文件及种子后就会有)。这个命令同时会在/home/log目录下生成一个bttrack.log 的apache日志格式的日志文件,用于今后做日志分析、统计。没有这个目录的话请建一个吧,注意要是这个普通用户可写的:)
5、制作BT的发布文件
为了能让他人下载你的东西 ,你先得做一个以.torrent结尾的BT发布文件:(比如我现在想把我发布的文件放在/home/ftp/安装盘/这个目录中,其中在做下面的步骤时,必须已经把相关的文件已经放在其中的目录中)
./btmakemetafile.py /home/ftp/安装盘/
“/home/ftp/安装盘/” 是你要给他人下载的目录或文件放的位置
“” 是你刚做的track服务器的IP及端口
这个命令完成后,会在/home/ftp/下生成一个”安装盘.torrent”的发布文件。把它放到WEB 、论坛 或 FTP等人们从网上能下载到的地方,这样人们就可以通过这个文件去找track服务器及种子下载里实际内容了。
6、 生成第一个种子(seed)
“种子“这个概念曾经使我郁闷过一段时间,BT服务器的track服务并不提供下载服务,提供下载的是他的种子(seed),也就是一个已经下载完成或正在下载的客户端。因为一开始没有这样的种子,所以你得先自己生成一个:
./btdownloadheadless.py --max_allow_in 20 --max_upload_rate 500 --minport 6888 --maxport 6888 /home/ftp /安装盘BT下载.torrent --saveas /home/ftp /安装盘
--max_allow 20 指这个种子最多可以接受20个连接
--max_upload_rate 500 指这个种子最大的可以接受下载的带宽 500 KB(byte)/s,这样可以控制下载带宽。
--minport 6888 --maxport 6888 最大最小监听端口,这样写就是说种子只监听6888端口,这样方便在防火墙上开端口。
/home/ftp /安装盘BT下载.torrent 发布文件的位置
--saveas /home/ftp /安装盘 实际文件的位置
这个命令会在BT服务器本地生成第一个种子,供他人下载。
完成,记得自己做种的BT不要关,即可。
7、 最后是一个在linux上启动、关闭、显示BT服务的脚本:
#!/bin/bash
case $
start)
/home/joybaby/BitTorrent-
sleep 1
/home/joybaby/BitTorrent-
echo "BT started"
;;
stop)
ps -efw | grep 'bttrack.py' | grep -v grep | awk '{print $2}' | xargs kill && killall python || \
echo "BT not stoped,Please kill it by hand"
;;
show)
ps -efw | grep python | grep -v grep
;;
*)
echo "Usage:./btseed.sh start|stop|show"
;;
Esac