提醒:本页面将不再更新、维护或者支持,文章、评论所叙述内容存在时效性,涉及技术细节或者软件使用方面不保证能够完全有效可操作,请谨慎参考!

最近电商大战,正好前几天看到易迅限时优惠有个西部数据的网络存储NAS,1TB只要688,堪比1TB裸盘价格,入手了一台,今天收到发现包装盒上有个联强货,然后就是几句中文说明,其他全是英文,但是注明了由泰国组装,这也不奇怪了。不由得联想到之前泰国发大水,淹掉了西数的几家厂,导致全球硬盘价格飙升的事件……好吧,扯多了,按照说明书,将插头进行了转换,接上网线和电源后MyBook Live就自动启动了,然后使用安装光盘中的软件自动检测NAS,但是杯具的是死活没有检测到,说明书貌似没有给出更多的信息,我在想这玩意是不是和路由器一样有Web配置界面呢,于是打开路由,找到其接入的IP地址,然后在浏览器地址栏输入这个地址,访问,成功连接。

刚进入没有要求输入密码,直接进入管理界面,然后提示固件升级,升级花了不少时间,然后进入用户菜单,双击admin,然后点击右侧的更新密码来修改管理员密码,注意这个密码还要用于下次登录该管理后台。

西部数据My Book Live修改密码

基本上通过该管理后台就可以设置共享和用户权限了,我的笔记本也在网络邻居中发现了这台NAS,然后我试着拷贝了一部电影,结果速度比较慢,2~3MB/s,可能和我的路由和电脑的网卡都是百兆的有关,这玩意儿建议使用千兆路由和电脑千兆网卡,以后再换吧。

其实网络存储除了存储文件外还可以干点别的活,比如说自动下载BT或者电驴,我电驴用得多些,参考网络准备配置其电驴下载的功能。

以下部分为回忆内容,仅供参考,可能会遗漏某些步骤。

1、首先开启MyBook Live的SSH功能,访问http://MYBOOKLIVE/UI/login使用刚才改过的密码登录,这里的MYBOOKLIVE为你的MyBook Live的IP地址,然后地址栏输入http://MYBOOKLIVE/UI/ssh访问SSH开关页面,选择启用,用户名密码下面都注明了。

2、Windows环境请下载并安装PuTTY,然后使用MyBook Live的IP地址,端口为默认22,步骤1注明的用户名和密码登录。

3、登录后发现是Linux系统,貌似还是Debian的,相应的apt等命令都有,但是不能使用apt命令安装新软件或者更新系统,否则MyBook Live自带的固件可能由于依赖库的变化而导致无法正常工作。

4、检查相应的路径,发现在Windows下看到的共享文件夹其实在路径/DataVolume/shares/Public下。

5、安装optware。

下面步骤可能走了弯路,我仅记录在此,建议阅读完全文后再做操作。

我想安装电驴下载,网上搜索了一番,找到了aMule这个模块,但是需要事先安装optware,之前参考了 这个网站 ,其提供的方法如下:

一是通过wget直接下载并运行安装脚本。

cd ~
wget http://mybookworld.wikidot.com/local--files/optware/setup-whitelight.sh
sh setup-whitelight.sh

二是直接运行安装脚本中的命令。

feed=http://ipkg.nslu2-linux.org/feeds/optware/cs05q1armel/cross/unstable
ipk_name=$(wget -qO- $feed/Packages | awk '/^Filename: ipkg-opt/ {print $2}')
wget $feed/$ipk_name
tar -xOvzf $ipk_name ./data.tar.gz | tar -C / -xzvf -
mkdir -p /opt/etc/ipkg
echo "src armel $feed" > /opt/etc/ipkg/armel-feed.conf
wget http://mybookworld.wikidot.com/local--files/optware/sort_dirname.tar.gz
tar xvfz sort_dirname.tar.gz -C /

通过上述方法之一我安装了optware,然后进行下面的操作:

导出环境变量。

export PATH=$PATH:/opt/bin:/opt/sbin

但是这个命令需要在每次登录系统的时候运行,比较麻烦,可以将其写入配置脚本中。

echo "export PATH=$PATH:/opt/bin:/opt/sbin" >> /root/.bashrc
echo "export PATH=$PATH:/opt/bin:/opt/sbin" >> /etc/profile

好了,你可以重新登录bash来检测更改的配置是否成功,然后运行下面的命令检查ipkg是否正常工作。

/opt/bin/ipkg update

非常遗憾,就在这里出现了问题,具体如下:

MyBookLive:/opt/bin# ls
ipkg  ipkg-opt  update-alternatives
MyBookLive:/opt/bin# cd /
MyBookLive:/# /opt/bin/ipkg update
-bash: /opt/bin/ipkg: cannot execute binary file
MyBookLive:/# ipkg update
-bash: /opt/bin/ipkg: cannot execute binary file

主要是这句cannot execute binary file,说明ipkg运行缺少库文件,初步怀疑是版本太新的缘故。

在这里算是中断了,再次上网搜索相关信息,结果看到 别人的安装方式 。命令代码如下:

feed=http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/
ipk_name=${wget -qO- $feed/Packages | awk '/^Filename: ipkg-opt/ {print $2}'}
wget $feed/$ipk_name 
tar -xOvzf $ipk_name ./data.tar.gz | tar -C / -xzvf -
mkdir -p /opt/etc/ipkg
echo "src cross $feed" > /opt/etc/ipkg/feeds.conf
echo 'export PATH=/opt/bin:$PATH ' >> ~/.bashrc
source ~/.bashrc

对比我之前的安装方式,找到了最大的不同地方,那就是版本的选取,我之前用的是 /cs05q1armel/cross/unstable ,而这个是 /ds101g/cross/stable/ ,不妨试试这个版本,于是我修改了先前的安装脚本,内容如下:

feed=http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable
ipk_name=$(wget -qO- $feed/Packages | awk '/^Filename: ipkg-opt/ {print $2}')
wget $feed/$ipk_name
tar -xOvzf $ipk_name ./data.tar.gz | tar -C / -xzvf -
mkdir -p /opt/etc/ipkg
echo "src cross $feed" > /opt/etc/ipkg/feeds.conf
echo "src armel http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable" $
wget http://mybookworld.wikidot.com/local--files/optware/sort_dirname.tar.gz
tar xvfz sort_dirname.tar.gz -C /

这里略去了下面这两句:

echo 'export PATH=/opt/bin:$PATH ' >> ~/.bashrc
source ~/.bashrc

因为我之前已经配置过了。

好了脚本修改过后运行该脚本,然后ipkg就可以正常使用了,现在 which ipkg 结果将是/opt/bin/ipkg,下面安装amule。

6、安装amule。

命令两句,运行即可。

ipkg update
ipkg install amule

命令 which amuled 结果是/opt/bin/amuled。

7、配置amule的启动项目。

先通过下面两句命令将其启动路径加入环境变量:

echo 'export PATH=/opt/etc/init.d/:$PATH ' >> ~/.bashrc
source ~/.bashrc

执行命令 which S57amuled ,将显示路径是 /opt/etc/init.d/S57amuled。

先别急着S57amuled start。

8、修改amule的配置文件。

在这之前,我们需要通过MD5生成登录密码。

echo -n _password_you_want_ | md5sum | cut -d ' ' -f 1

这里_password_you_want_请换成你设定的密码。然后记下上述命令得到的MD5散列值(形如ef7628c92bff39c0b3532d36a617cf09 这样的值)。

下面两句可以进入编辑配置文件的模式。

cd /opt/share/amule/.aMule
nano amule.conf

找到下面内容并修改:

[ExternalConnect]
 AcceptExternalConnections=1 
 ECAddress=
 ECPort=4712
 ECPassword=这里贴上刚才生成的密码MD5散列值
 ShowProgressBar=1

同时找到并修改以下节段:

[WebServer]
 Enabled=1
 Password=这里贴上刚才生成的密码MD5散列值
 Template=php-default

保存配置文件。

9、下载emule的server.met以及nodes.dat。

cd /opt/share/amule/.aMule
mv server.met server.met.old
wget http://eserver.googlecode.com/svn/server.met
wget http://upd.emule-security.org/nodes.dat

10、启动amule并进入Web管理界面。

S57amule start

进入http://MYBOOKLIVE:4711,MYBOOKLIVE就是MyBook Live的IP地址,输入密码就是之前MD5散列前的明文密码。

aMule电驴下载Web界面

下载通过最下面的文本框填入地址,然后点击Download Link,这样就下载到/opt/share/amule/.aMule/Incoming路径下了,基本配置完成,接下来需要修改这个路径。

11、修改临时文件夹(Temp)和下载文件夹(Incoming)。

假设我们已经建立两个文件夹分别作为临时和下载用。

mkdir /DataVolume/shares/Temp
mkdir /DataVolume/shares/Public/Downloads

然后停止amule并修改amule.conf配置文件。

S57amuled stop
cd /opt/share/amule/.aMule
nano amule.conf

找到相关内容并修改为:

TempDir=/DataVolume/shares/Temp
IncomingDir=/DataVolume/shares/Public/Downloads

保存并 S57amuled start 启动amule。

注意一定要用S57amuled stop停止amule,否则配置文件将无法修改(改动将被自动恢复)。

12、加入启动项,每次开机自动启动。

为了避免每次开启MyBook Live都要S57amuled start来启动amule,所以我们需要将其加入启动项,Debian下加入启动项最常见的命令如下:

update-rc.d [可执行文件] defaults

这样就可以在开机调用start启动,关机调用stop停用了,但是我们无法直接将S57amuled通过update-rc.d加入启动项,因为其默认路径均为/etc/init.d,所以我们需要变通一下,通过 《Hacking WD MyBook World Ed》 这里的文章我找到了办法,那就是另外编写个脚本,作为启动optware路径/opt/etc/init.d下启动项目的一个跳板,那篇文章给我们把脚本也编写好了,可以通过以下方式来获取:

一是直接wget现成的脚本到/etc/init.d路径下。

wget -P /etc/init.d http://mybookworld.wikidot.com/local--files/optware/optware.sh

二是DIY自己创建/etc/init.d/optware.sh这个脚本,内容如下:

#!/bin/sh

start() {
if [ -d /opt/etc/init.d ]; then
  echo "Launching Optware initialization scripts"
  for f in /opt/etc/init.d/S* ; do
    [ -x $f ] && $f start
  done
else
  echo "error: /opt/etc/ini.d directory not found" >&2
  exit 1
fi
}

stop() {
if [ -d /opt/etc/init.d ]; then
  echo "Launching Optware termination scripts"
  for f in /opt/etc/init.d/K* ; do
    [ -x $f ] && $f stop
  done
else
  echo "error: /opt/etc/ini.d directory not found" >&2
  exit 1
fi
}

restart() {
    stop
    start
}

case "$1" in
    start)
        start
    ;;
    stop)
        stop
    ;;
    restart)
        restart
    ;;
    cleanup)
    ;;
    *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
esac

exit $?

通过以上方式我们建立了/etc/init.d/optware.sh这个脚本,别忘了给其加上可执行属性:

chmod +x /etc/init.d/optware.sh

好了,现在我们可以通过下面的命令来管理optware软件了,包括我们的amule。

/etc/init.d/optware.sh start # 调用所有启动脚本
/etc/init.d/optware.sh stop # 调用所有终止脚本
/etc/init.d/optware.sh restart # 调用先停止再启动脚本

可能细心的童鞋发现了问题,仔细阅读这个脚本发现其stop()停止函数,调用的是/opt/etc/init.d/K*也就是K开头的脚本,但是我们的amule是通过 S57amuled stop 来停止的,也就是说不是K开头的,仍然是S开头的,通过下面的命令也没有找到以K开头的amule停止脚本,这样会导致amule无法通过optware.sh停止。

MyBookLive:/opt/etc/init.d# ls
S05gconv-modules  S57amuled

很多人会想到修改这个脚本,但是我不建议修改脚本,因为其他optware软件可能会使用K打头的停止脚本,最简单的办法是optware.sh脚本还是原来的脚本,我们只需要对S57amuled做个K57amuled的链接即可,命令如下:

ln -s /opt/etc/init.d/S57amuled /opt/etc/init.d/K57amuled

接下来通过下面的命令就可以正常停止啦。

/etc/init.d/optware.sh stop

万事具备,别忘了加入启动项中哦。

update-rc.d optware.sh defaults

输出如下信息表示成功。

update-rc.d: warning: /etc/init.d/optware.sh missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/optware.sh ...
   /etc/rc0.d/K20optware.sh -> ../init.d/optware.sh
   /etc/rc1.d/K20optware.sh -> ../init.d/optware.sh
   /etc/rc6.d/K20optware.sh -> ../init.d/optware.sh
   /etc/rc2.d/S20optware.sh -> ../init.d/optware.sh
   /etc/rc3.d/S20optware.sh -> ../init.d/optware.sh
   /etc/rc4.d/S20optware.sh -> ../init.d/optware.sh
   /etc/rc5.d/S20optware.sh -> ../init.d/optware.sh

好了,算是全部介绍完了,如果有什么补充的欢迎提出,Enjoy it!

参考文档