linux中利用ctorrent来下载需要的资源。

今天由于有个实验需要利用centos系统,而手头的镜像不知什么时候给不小心删除了。因此我访问到WWW.CENTOS.ORG官方的下载点,想要下载一个CentOS5.5的DVD镜像文件,可是发现在离我距离最近的站点,http://mirrors.163.com/centos/5.5/isos/x86_64/ 里面竟然是个torrent种子。。要是在家里,那肯定没有问题,直接迅雷给力下载。可是我是在办公室,网络的带宽资源有限,而且公司防火墙策略中已经彻底禁止了BT下载,灭了我想利用公司资源下载的想法。怎么办呢?难道就不下载了吗?实验还是需要这个镜像的呀!那该怎么办?我突然想起我家里还通过花生壳绑定了一个服务器,这个服务器我可以通过远程登录上去进行操作,于是我就快速登录到这个服务器上,当然,利用的是SecureCRT这个软件啦。登录上去后,立刻用利用wget命令执行下载将这个种子下载下来。

$ wget http://mirrors.163.com/centos/5.5/isos/x86_64/CentOS-5.5-x86_64-bin-DVD.torrent

居然没有用几秒就下载完了。机器上多了一个文件CentOS-5.5-x86_64-bin-DVD.torrent
可是我要的是镜像啊,只有种子肯定不行。我想到了曾经在linux下用过BT下载工具,叫做ctorrent,安装方便,实用便利。于是就谷歌了一下,找到其官方站点:http://www.rahul.net/dholmes/ctorrent/ctorrent-1.3.4-dnh2.2.tar.gz 下载了该软件。
当然你也可以通过sourceforge去找,我一般都是直接找官方站点比较靠谱。呵呵
下载方法一样,也是利用wget,如下:

$ wget http://www.rahul.net/dholmes/ctorrent/ctorrent-1.3.4-dnh2.2.tar.gz

下载完了就是解压:

$tar -xf  ctorrent-1.3.4-dnh2.2.tar.gz

然后进入到解压出来的目录中:

$ cd ctorrent-1.3.4-dnh2.2

进去后我准备实现编译安装,可是突然忘记了我这台服务器上是否安装了开发工具包和开发工具库文件。所以利用gcc -v命令查询。发现当时安装时候正确的选择,出现如下图表示你的系统支持编译安装软件。

gcc -v

gcc -v 状态

接着,执行configure生成编译环境

$ ./configure --prefix=/usr/local/ctorrent

完成后执行make和make install编译安装。

$make && make install

安装完成后在/usr/local/ctorrent目录下有个bin文件夹,里面有个ctorrent就成功了
接着为了方便使用,我利用export命令将新装的软件目录变成全局环境变量目录:

$ cd  /usr/local/ctorrent/bin
[yoyojacky@yoyojacky  bin]$ export PATH="$PATH:`pwd`"
[yoyojacky@yoyojacky  bin]$ echo $PATH

如此以后就可在任何目录随时随地调用/usr/local/ctorrent/bin/ctorrent这个应用了。
接着就是这个应用的方法:
可以利用ctorrent -h 获得帮助也可以通过man ctorrent看到帮助。

[yoyojacky@yoyojacky bin]# ctorrent -h
CTorrent dnh2.2 Original code Copyright: YuHong(992126018601033)
WARNING: THERE IS NO WARRANTY FOR CTorrent. USE AT YOUR OWN RISK!!!

General Options:
-h/-H           Show this message.
-x              Decode metainfo (torrent) file only, don't download.
-c              Check pieces only, don't download.
-v              Verbose output (for debugging).

Download Options:
-e int          Exit while seed  hours later. (default 72 hours)
-E num          Exit after seeding to  ratio (UL:DL).
-i ip           Listen for connections on ip. (default all IP's)
-p port         Listen port. (default 2706 -> 2106)
-s filename     Download ("save as") to a different file or directory.
-C cache_size   Cache size, unit MB. (default 16MB)
-f              Force seed mode (skip hash check at startup).
-b filename     Bitfield filename. (use it carefully)
-M max_peers    Max peers count. (default 100)
-m min_peers    Min peers count. (default 1)
-z slice_size   Download slice/block size, unit KB. (default 16, max 128).
-n file_number  Specify file to download.
-D rate         Max bandwidth down (unit KB/s)
-U rate         Max bandwidth up (unit KB/s)
-P peer_id      Set Peer ID prefix. (default "-CD0202-")
-S host:port    Use CTCS server at host:port.

Make metainfo (torrent) file options:
-t              Create a new torrent file.
-u url          Tracker's url.
-l piece_len    Piece length. (default 262144)
-s filename     Specify metainfo file name.

Example:
ctorrent -s new_filename -e 12 -C 32 -p 6881 example.torrent
home page: http://ctorrent.sourceforge.net/
see also: http://www.rahul.net/dholmes/ctorrent/
bug report: dholmes@ct.boxmail.com
original author: bsdi@sina.com

里面有例子,其实就是利用这个例子就可以很好的执行下载了。
我是用这样的方法执行的

$ ctorrent -s centos5.5-bin-DVD  -e 12  -C 16  -p 25  ~/download/CentOS-5.5-x86_64-bin-DVD.torrent

其中几个参数的作用分别是:
-s 指定下载后的目录。没有的话会生成
-e 指定你做种子的时间,默认24小时,你可以12小时做种子,方便他人。
-C 指定你的缓存区大小,以MB为单位。
-p 指定监听端口,我由于在家的小路由器上只映射了很少的端口,而且我的服务器smtp服务一般没有什么负载,所以我放弃默认端口而是用我自己的25端口实现数据传输了,默认是2706端口,呵呵,另一种说法是我在远程无法对路由器做端口转发设置。
然后出现下面的结果就说明我成功在下载了。效果如图

ctorrent下载图示

ctorrent下载图示

解释一下这些参数的作用:
/:表明进程工作状态,以”- | / \”循环。
93:当前种子数目。
7:客户端正在通信的非种子的peer数目。
0:tracker服务器知道的peer数,也是整个bt通信群的peer数。
558:客户端已经下载的piece数目。
18411:数据文件全部的piece数目。
18411:客户端可以得到的piece数目,若此数小于全部piece数目则不会下载到完整的数据。
133MB:客户端已经下载的数据量。
0MB:客户端正在上传的数据量。
35:客户端的平均下载速率(KB/s)。
0:客户端的平均上传速率(KB/s)。
32:客户端的即时下载速率(KB/s)。
0:客户端的即时上传速率(KB/s)。
0:客户端与tracker服务器通信失败的次数。
3:客户端与tracker服务器通信成功的次数。
由于我家里没有做服务器的映射,所以上传为0,只是下载了,没有做出贡献,呵呵,回头调整一下,速度应该可以更好的。
好了,写到这里就算是结束了,写得手也累了,希望对大家有用。转载的时候要注明原文出处哦!

About 李 伟斌

Just K.I.S.S To Be Or Not To Be, It's Your Qustion. --Keep It Simple & Stupid.
This entry was posted in Linux, 操作系统 and tagged , , , , , , , , . Bookmark the permalink.

发表评论