团购LS-CH1.0TL改机实录
都是网上已经有的内容,只是结合自己的改机过程和遇到的问题汇总一下,也方便我以后重装。1 配置NAS
由于我的netgear路由不支持固定分配ip(配置里有这个选项,但是似乎不起作用),为了方便以后的管理,NAS使用静态分配的IP。
首先是进入录有的DHCP分配界面,把要分配给NAS的IP从DHCP IP池中去除。我打算给NAS分配192.168.1.2,因此DHCP内存池就从192.168.1.3开始。
之后进入NAS的网络配置页面,禁止DHCP自动分配,手动填入IP 192.168.1.2,MASK 255.255.255.0,网关192.168.1.1,DNS 192.168.1.1。(以上数据请根据实际情况修改)
之后关闭NAS自带的bittorrent服务,后面会安装rtorrent,个人感觉更好用。
2 破解telnet。
下载acp_commander.jar,然后在cmd下运行:
• java -jar acp_commander.jar -t 192.168.1.2 -o
注意取消防火墙,成功后应该可以用root用户telnet登录NAS:
• telnet 192.168.1.2
• root
• passwd
这步是设置密码,加强安全性,而且也是为了方便之后的openssh登录。密码要输入两遍。
3 安装ipkg。
• cd /mnt/disk1/
• wget http://ipkg.nslu2-linux.org/feed ... strap_1.2-5_arm.xsh
• sh ./lspro-bootstrap_1.2-5_arm.xsh
有教程说这里需要退出登录,我实验的结果是不需要。
• ipkg update
更新源
4 安装openssh
NAS自带有openssh,但是没有生成需要的密钥,而且版本不是很新,通过ipkg升级到最新的
• ipkg install openssh
这个时间比较长。
更新后运行sshd,应该就可以在pc通过ssh来连接NAS了。如果要在外网通过openssh登录NAS,需要在路由上配置端口映射:端口22,网址192.168.1.2。
5 安装lighttpd
这个是为了用nTorrent远程管理rtorrent才装的,如果不需要的话,可以略过。
• ipkg install lighttpd
• ipkg install openldap-libs
• 修改/opt/etc/lighttpd/lighttpd.conf
在server.modules最后加入"mod_scgi":
server.modules = (
# "mod_rewrite",
...
# "mod_rrdtool",
"mod_accesslog",
"mod_scgi")
在文件最后添加:
scgi.server = (
"/RPC2" => (
"127.0.0.1" => (
"host" => "127.0.0.1",
"port" => 5000,
"check-local" => "disable"
)
)
)
6 安装rtorrent
因为自带的bittorrent和Transmission都不支持DHT,而且我之前实验Transmission的时候出了点问题,因此这里选用rtorrent。
• ipkg install rtorrent
• ipkg install screen
• cp /opt/etc/rtorrent.conf ~/.rtorrent.rc
• mkdir -p /mnt/disk1/share/download
• mkdir -p /mnt/disk1/share/torrent
• 修改~/.rtorrent.rc
因为NAS硬件一般,这里限制一下每个torrent的连接数,可以自行改大:
min_peers = 20
max_peers = 40
max_open_files = 10
max_open_sockets = 100
设置保存的路径:
directory = /mnt/disk1/share/download
session = /mnt/disk1/share/torrent
encoding_list = utf-8
umask = 0000
设置端口和DHT:
port_range = 6881-6899
use_udp_trackers = yes
dht = on
dht_port = 6880
peer_exchange = yes
设置remote socket(不需要使用nTorrent管理的可以不用加):
scgi_local = /opt/var/run/rpc.socket
• screen
• rtorrent
• ctrl-a d
最后的screen是指在单独的一个窗口运行rtorrent,这样一会儿退出telnet也不会关闭rtorrent。对这个命令有兴趣的去翻linux书吧。
rtorrent使用到的端口:6880-6899,需要在路由上配置相应的端口映射。管理端口:8081,如果要在外网管理rtorrent,需要在路由上配置这个端口映射。
7 安装aMule
• 编辑/opt/etc/ipkg/cross-feed.conf
添加一行:
src/gz cross08 http://ipkg.nslu2-linux.org/feed ... 1armel/cross/stable
• ipkg update
• ipkg isntall amule
注意,安装rtorrent一定要在更新源并安装amule之前。由于两个源的依赖不一致,如果添加了新源再安装rtorrent或者openssh,会导致rtorrent和openssh不可用!!
• mkdir -p /mnt/disk1/share/amule_temp
• mkdir -p /mnt/disk1/share
• echo -n <amule password> | md5sum
这个是生成aMule远程控制登录时的密码,自己选合适的,记下输出。密码123456对应e10adc3949ba59abbe56e057f20f883e。
• amuled
这时程序会生成配置文件并直接退出,要想正常运行,还需要修改配置文件。
• 编辑~/.aMule/amule.conf
修改昵称:
Nick=http://www.aMule.org
和rtorrent一样,对连接做限制:
MaxUpload=5
MaxDownload=3
MaxConnections=100
配置目录:
TempDir=/mnt/disk1/share/amule_temp
IncomingDir=/mnt/disk1/share
配置远程访问密码(假设密码是123456,见上面md5sum的执行结果):
ECPassword=e10adc3949ba59abbe56e057f20f883e
• amuled -f
aMule使用到的端口:4662(tcp),4672(udp),4665(ext udp)。管理端口:4712。
8 安装pc软件
下载nTorrent(http://code.google.com/p/ntorrent/)和aMule 2.2.5(http://www.amule.org/)。注意aMule的版本一定要正确,之前因为下载的是2.2.4的客户端,导致连上后无法登录服务器。
nTorrent安装很简单,随便解到某个目录就行。运行后先设置连接参数:
protocol : http/ssh
host : 192.168.1.2
port : 8081 (可以在/opt/etc/lighttpd/lighttpd.conf中修改成其他的,默认是这个)
mountpoint : /RPC2
最底下用户名和密码不填
save
connect
就可以用nTorrent控制rtorrent了。
aMule需要安装,注意安装时勾中最下面的aMule-gui,不然就成本机运行了。安完后执行aMule-gui,填入NAS的IP 192.168.1.2,还有之前设置的密码123456,connect就可以了。
9 恢复NAS
因为有时系统改坏了导致无法恢复,就需要重新烧一遍fireware。这个是将NAS彻底恢复到出厂时的状态,包括硬盘的内容,因此这样做前请先备份。
• 下载目前最新的1.07的firmware(http://asiadownload.buffalo.jp/buf-cs2/upload/lschl-107.zip)
• 解压到某个目录
• 修改目录下的LSUpdate.ini
不检查版本:
VersionCheck=0
打开Debug模式:
Debug=1
• 执行LSUpdate.exe
• 右键单击窗口左上角的图标,选择DEBUG...
• 勾中所有选项后确认
• update
更新firmware的过程比较慢,而且还会因为重启问题找不到NAS,根据提示多执行几次update就行。
实际运行时,rtorrent内存占用在10%左右,aMule内存占用很高,启动时就要消耗到将近40%,运行过程中会升高到70%,几乎用光了所有内存。看来128M还是不够用阿。CPU占用率还好,只要不是进行大规模的IO操作(比如aMule新建任务时预分配空间),很少有进程会使用超过10%的CPU。
需要注意的一点是,在没有注掉/opt/etc/ipkg/cross-feed.conf里新加的cross08那行时,千万不能执行ipkg upgrade或者重新安装openssl,否则会导致openssh对openssl的依赖不正确。如果要升级除amule以外的模块,先注释掉cross08那行(行首加入#),然后执行:
• ipkg update
• ipkg upgrade / ipkg install <package name>
升级完成后取消cross08那行的注释,并且再次执行:
• ipkg update
否则会导致重启后执行amuled出现Segamentation fail。
如果要升级amule,则保留cross08这行且这行没有被注释,执行:
• ipkg update
• ipkg install amule 目前正在研究如何用scratchbox编译arm程序,以便在NAS上进行开发,稍后放出教程。 强悍 太牛了 嗯,很不错的教程。
不过有一个,openssh装了之后,其实会在/opt/etc/init.d/下面建一个启动script, S开头的。
所以楼主其实不用改/etc/init.d/rcS文件,而且我怀疑你改这个文件是否有用?
因为openssh按照你的写法应该装到/opt/目录下面,而系统执行rcS的时候还没有mount disk(也就是没法访问/opt下面的文件)。
另外transmission 1.7开始会支持DHT,我正在等编译好的文件。。。。http://www.transmissionbt.com/index.php 我回去试一下吧,一个可能是加入那个脚本后调用的其实是系统自带的openssh而不是后装的。
我晚上配一下看看能不能编译最新的transimission 很好很强大 支持下 辛苦楼主 试试先 楼主能否把改装后的整个系统打包放出来啊。方便新手嘛 我按照以上方法安装了OPENSSL,运行SSHD时出现一下问题:
/opt/sbin/sshd: error while loading shared libraries: libcrypto.so.0.9.7: cannot
open shared object file: No such file or directory
在安装OPENSSL,用SSL客户端连接是正常的,重启之后就现这个问题,如何解决? 本帖最后由 googol 于 2009-6-6 00:18 编辑
ls是加了cross08那个源后才更新的openssl吧?这样就会导致这个问题。我开始也遇到了。
解决办法,去掉cross08的源,强行删除openssl:ipkg remove openssl -f。然后再ipkg update,ipkg install openssl。
更详细的请见文章末尾。 本帖最后由 googol 于 2009-6-6 00:10 编辑
嗯,很不错的教程。
不过有一个,openssh装了之后,其实会在/opt/etc/init.d/下面建一个启动script, S开头的。
所以楼主其实不用改/etc/init.d/rcS文件,而且我怀疑你改这个文件是否有用?
因为openssh按照你的写 ...
antiwater 发表于 2009-6-5 13:50 http://www.gebi1.com/images/common/back.gif
恩,确实不需要在rcS里添加东西。帖子已经修正。顺便加入了端口使用说明。 楼主能否把改装后的整个系统打包放出来啊。方便新手嘛
kuwei 发表于 2009-6-5 22:20 http://www.gebi1.com/images/common/back.gif
我不会做firmware,不好意思…… 本帖最后由 googol 于 2009-6-6 12:20 编辑
装了一下最新的Transmission 1.7,似乎内存占用率多于rtorrent,速度还行,remote管理软件比nTorrent好很多。
实际测试了一下,下同一个torrent,Transmission峰值内存大概要30M还要多,平时也在20M出头,rTorrent峰值只有不到20M,一般能稳定在10M左右。
鉴于NAS只有128M内存,寸土寸金,我还是选rTorrent吧。 OPENSSL问题已经解决,谢谢楼主。
另外,AMULE-gui连接NAS中的AMULE,ED2K状态始终是未连接。amule的端口已经在路由器中映射。
但是直接运行AMULE,都是正常的。请问该如何解决。
是不是在ED2K连接框中粘贴ED2K链接,但是粘贴后,总是出现一下问题
2009-06-06 12:57:07: 非法eD2k链接!错误信息:Not a valid file link
2009-06-06 12:57:07: 未知链接协议:5D.Flushed.Away.HDTVre.x264.3Audio.eng.srt|77380|da9e881f21b5f93fec47b2104665b8b1|h=Y6XXFE
2009-06-06 12:57:07: 未知链接协议:MDZT6SEUNT4QXYMCQIKAHAENUE|/
2009-06-06 12:57:07: 非法eD2k链接!错误信息:Not a valid file link
2009-06-06 12:57:07: 未知链接协议:5D.Flushed.Away.HDTVre.x264.3Audio.eng.srt|77380|da9e881f21b5f93fec47b2104665b8b1|h=Y6XXFE
2009-06-06 12:57:07: 未知链接协议:MDZT6SEUNT4QXYMCQIKAHAENUE|/ 本帖最后由 googol 于 2009-6-7 09:16 编辑
先要确认amule-gui的版本和nas上的amule版本是否一致,如果不一致,可能会出现不能登录服务器的现象(比如amule-gui 2.2.4,amuled 2.2.5就无法正常登录)。
你添加的链接不正确。正常的eD2k地址应该是ed2k://....,你再确认一下下载地址。 本帖最后由 MrSmith 于 2009-6-6 16:52 编辑
感谢楼主给出的解决方案,问题已经解决。
但是有一个问题Ed2K连接是在连接中选择属性复制二来的应该不会错。这是我的一个eD2k地址:(不会是地址中有中文吧)
ed2k://|file|%5B%E8%99%8E%E8%83%86%E9%BE%99%E5%A8%81%5D.Die.Hard.I.1988.BDrip.1080p.x264.DTSHD.Audio-CHD.d1.avi|4672901120|9d0b69eb97fb8553d49a85df7ea7f8dd|h=F7ACLACWKMP6FZ2CTTRE3NNOLDZCELYV|/
你看对不对。 你这个可能是链接能贴进去么?我遇到很奇怪的问题贴到amule remote control里面,只要超过一行就容易出问题。 我找了半天也没有找到什么人讨论这个问题。
最后还是关联amuleGUI和浏览器解决。 方法如下(参考http://www.amule.org/wiki/index.php/Ed2k_links_handling):
1、确保你装amuleGUI的时候勾了amuleCMD
2、首先创建命令批处理文件用来接受浏览器传过来的请求:
建立一个文件名为:ed2k_remote.bat 的文件,包含如下内容
@echo off
set link=%1
for /f "useback tokens=*" %%a in ('%link%') do set link=%%~a
"c:\Program Files\aMule\amulecmd.exe" /h server /P password /c "add %link%"
到上面一行为止,不要忘了吧/h参数后面的server替换为你的NAS的地址,/P后面password替换为你的登录密码。然后把这个文件放到 C:\Program Files\aMule.
再建立一个ed2k_remote.reg文件,包含如下内容:
REGEDIT4
@="URL: ed2k Protocol"
"URL Protocol"=""
@="C:\\Program Files\\aMule\\amulegui.exe"
@="open"
@="\"C:\\Program Files\\aMule\\ed2k_remote.bat\" \"%1\""
内容到上面一行位置。保存后双击执行。
我试了在Firefox里面是可用的,IE没试过,按照教程应该也可用。 感谢楼主给出的解决方案,问题已经解决。
但是有一个问题Ed2K连接是在连接中选择属性复制二来的应该不会错。这是我的一个eD2k地址:(不会是地址中有中文吧)
ed2k://|file|%5B%E8%99%8E%E8%83%86%E9%BE%99%E5%A8%81 ...
MrSmith 发表于 2009-6-6 16:37 http://www.gebi1.com/images/common/back.gif
我这里可以正常添加你的那个链接的。
地址有中文应该不是问题,会escaped成%??这样的形式。你现在那边的eMule服务器可以正常登录了? 本帖最后由 MrSmith 于 2009-6-6 23:11 编辑
你现在那边的eMule服务器可以正常登录了?
googol 发表于 2009-6-6 21:07 http://www.gebi1.com/images/common/back.gif
主要原因是amule-gui的版本和nas上的amule版本不一致,感谢googol提醒,现在amule可以正常登陆了。谢谢!
你这个可能是链接能贴进去么?我遇到很奇怪的问题贴到amule remote control里面,只要超过一行就容易出问题。 我找了半天也没有找到什么人讨论这个问题。
最后还是关联amuleGUI和浏览器解决。 方法如下(参考http://www.amule.org/wiki/index.php/Ed2k_links_handling):
可能是超过一行就容易出问题。现在关联amuleGUI和浏览器已经可以解决添加ED2K地址了。
论坛就是好,相互帮助,共同提高。 root@LS-CHL489:~# amuled -f
amuled: OnInit - starting timer
Initialising aMuled 2.2.5 usingv2.8.10
Checking if there is an instance already running...
No other instances are running.
--------------------------------------------------
Warning! You are running aMule as root.
Doing so is not recommended for security reasons,
and you are advised to run aMule as an normal
user instead.
--------------------------------------------------
ListenSocket: Ok.
amuled: forking to background - see you
运行部起来 ,请教楼主,这是啥原因,如何解决啊! root@LS-CHL489:~# amuled -f
amuled: OnInit - starting timer
Initialising aMuled 2.2.5 usingv2.8.10
Checking if there is an instance already running...
No other instances are running.
-------------- ...
diyerxp 发表于 2009-6-10 00:00 http://www.gebi1.com/images/common/back.gif
已经运行起来了,在后台,你要安装aMule-2.2.5-installer.exe,在安装中选择amule remote gui ,IP地址设置为NAS的地址,密码就是你设置的密码。