七月 26, 2008

在mss上运行rtorrent

本文会不断更新,最新的版本通常在这里 

 -------
 你所需要的
1.一个mss(maxtor shared storage),不管它是从国外买的正品,或者是taobao上买的二手山寨.
2.一个适用于mss的硬盘.
3.一个路由器,以及一条把路由器和mss连接起来的网线.
4.一台电脑,下列步骤都是在windows下完成的.
5.了解linux命令行和vi的基本用法.
6.一颗热爱折腾的心

步骤1,为mss安装固件.

a.硬盘写0.
对于在机箱里的硬盘可以用winhex,
对于在mss里的硬盘可以用这个命令:dd if=/dev/zero of=/dev/ide/host2/bus0/target0/lun0/disc
对于刚出硬盘包装盒的新硬盘,大概不需要写0
b.初始化mss
拔掉电源,用曲别针或者牙签之类的物体按住在网线接口旁边的reset,接上电源,等风扇停转之后松开reset键,按电源键,指示灯闪几下之后熄灭,这时候初始化完成.再重新按电源键开机即可.
c.刷固件
下载openmss.org提供的固件,或者国内的改版,和刷固件的工具.那个iso镜像很大一个,不过我们只需要其中的nasload.exe,把mss_XXXX.bin和nasload放到同一目录下.
把电脑上连接路由器的网线拔掉,插到mss上和mss连接,如果本机ip不是这个网段,就手动指定为192.168.1.x
这时候应该可以ping通192.168.1.1
打开命令行到nasload所在目录,运行:
nasload.exe /f mss_XXXXX.bin /1 /u admin /P
结束之后,把mss电脑和路由器按正常方式连接.windows这时候可以访问mss的共享目录,用web方式可以进入设置页面.


步骤2,配置ssh,安装opt

完成以上步骤之后,这时候可以用telnet登录mss,vista的命令行似乎没有telnet命令,推荐使用putty.
telnet登录mss之后运行以下命令
ipkg update //从服务器获取列表
ipkg install busybox  //安装busybox,过会安装opt的tar命令需要这个
ipkg install dropbear //安装ssh环境,这时候安装的软件都会自行随着mss启动,安装opt之后就得手动编辑S99local了
到这里下载optware ,放到mss的public目录下.运行
cd /
tar zxvf /shares/mss-hdd/Public/opt.tar.gz
顺便小小的设置一下S99local
/opt/bin/vi /opt/etc/init.d/S99local //添加以下内容

export PATH=/opt/bin:/opt/sbin:${PATH}
export LD_LIBRARY_PATH=/opt/lib:${LD_LIBRARY_PATH}
export HOME=/opt/root
export LC_ALL=zh_CN.UTF-8
在这里我习惯重启一下换ssh登录,然后
ipkg update
ipkg remove amule //这个东西过会手动装
ipkg upgrade


步骤3,为mss设置ext3格式分区
//这个步骤非必须,建议大部分人跳过

因为rtorrent和mss使用的reiserfs似乎存在一些问题,不支持4g以上文件下载,必须在设置 里添加split_file_size分割文件,下载完毕再合并.感觉设置为ext3分区会方便一些,需要一些文件,ext2.o jbd.o ext3.o loop64.o.放在public目录下.

ipkg install mdadm
ipkg install util-linux
ipkg install e2fsprogs
/sbin/reiserfsck /dev/discs/disc0/part3
/sbin/resize_reiserfs -s 1G /dev/discs/disc0/part3
insmod /pub/loop.o
/opt/sbin/util-linux-losetup -o 1084227584 /dev/loop/0 /dev/discs/disc0/part3
/opt/sbin/mkfs.ext2 -r 0 /dev/loop/0
insmod /pub/ext2.o
insmod /pub/ext3.o
mount -t ext2 /dev/loop/0 /mnt
/opt/sbin/tune2fs -j /dev/loop/0
umount /mnt
mount -t ext3 /dev/loop/0 /mnt

宝乙论坛, ~  s' F  i4 T' H4 W, W, Z8 C' f. C5 q0 H

这样就把ext2分区挂载到了mnt目录,接下来设置开机的自动挂载,挂载目录换到更加实用一些的pub目录

mkdir /opt/root/fsmod
cp /pub/*.o /opt/root/fsmod/
vi /opt/etc/init.d/S99local //编辑开机启动脚本,添加以下内容
# Mount Ext3
for mod in loop.o jbd.o ext3.o ext2.o
do
  /sbin/insmod /opt/root/fsmod/$mod
done
/opt/sbin/util-linux-losetup -o 1084227584 /dev/loop/0 /dev/discs/disc0/part3
mount -t ext3 /dev/loop/0 /pub/rtorrent
#
重启之后运行df或者mount可以看到结果.

步骤4,安装rtorrent并配置

安装screen和rtorrent,screen的用处是让rtorrent在后台运行
ipkg instal rtorrent ipkg install screen 建立好对应的文件夹,并更改权限
mkdir /pub/rtorrent
mkdir /pub/rtorrent/dl
mkdir /pub/rtorrent/session
mkdir /pub/rtorrent/work
chmod 777 /pub/rtorrent
chmod 777 /pub/rtorrent/dl
chmod 777 /pub/rtorrent/session
chmod 777 /pub/rtorrent/work
编辑配置文件
cp /opt/etc/rtorrent.conf /opt/root/.rtorrent.rc.backup //备份
cp /opt/etc/rtorrent.conf /opt/root/.rtorrent.rc
vi /opt/root/.rtorrent.rc

大部分地方可以随自己喜好修改,重点需要修改的部分是work,dl和session目录的路径,和打开dht.记下rtorrent所需要用到的端口,在路由器上做相应的端口映射,或者干脆设为dmz主机.
如果跳过了第三步,在配置文件里加上这个,经测试分割文件大于2g的时候会有些问题,下面这个大小是1999m
split_file_size = 2146435072
另外可以加上这两行
encoding_list = UTF-8 //使samba可以认出中文文件名
umask = 0000 //开放已下载文件的权限,通过samba可以删除下载的文件
这时候rtorrent已经可以正常使用了,可以先试试手
rtorrent -n -o import=/opt/root/.rtorrent.rc

设置rtorrent开机后台自动启动,编辑S99local,
vi /opt/etc/init.d/S99local
加入这一句,记得要放在mount ext3那些语句后面,
/opt/bin/screen -d -m /opt/bin/rtorrent -n -o import=/opt/root/.rtorrent.rc

以后开机用ps命令应该就可以看到rtorrent,命令行下使用screen -r可以看到运行状态,具体操作方式可以看这里.
=================================================
====================结束分隔线======================
=================================================
这些步骤是参考了很多来源,然后根据我自己的需要所总结出来的.这些来源包括陈沙克的日志,east11210提供的简化步骤,zenboy的总结,小浮萍论坛等等,感谢他们的智慧和辛勤的劳动.

最后还要说明一点,虽然这些步骤理论上应该是没有问题的,但是在我的mss上却是一个失败的案例.实行完毕之后用rtorrent还是连接不上大部分的bt tracker,基本上不存在什么下载速度,我怀疑是路由器的原因,但不能十分确定.
发表评论