西部数据 My Cloud NAS 初上手之死里逃生

近日,入手了西部数据的 My Cloud NAS 4TB(固件已升级到最新, 413 版本), 本来想安装些新应用上去(你懂得),按照网上的一些文章介绍,使用apt-get升级了Python之后,发现Dashboard进不去了。:(

开始没太在意,按照使用Ubuntu的经验(WD My Cloud 的 OS 就是 Debian 的一个特殊编译版本),做的越多,系统越诡异,后来基本上也不能从远端访问了,T_T

痛定思痛,安下心来,仔细研究了以下网上的Hack贴,最终恢复了固件,并且已上传文件无损失。

与大家分享经验如下:

悲剧的开始

以下所有的悲剧,源自我在Dashboard UI中打开了SSH 登陆。毕竟打开SSH之后,你才可以干些什么~~~~,嘿嘿。

你可以使用Putty、SecureCRT连接,或者 ssh 命令连接到 WD My Cloud中去了。 注意 SSH的用户名和密码与你在 WD 中设置的完全无关,要使用 用户 root,密码 welc0me 登陆。注意那个是数字 0,不是字母 o。(话说这是不是太不安全了)

SSH

登陆到WD之后,千万不要 用 apt-get 安装新软件包,否则就 悲剧 了。原因是:WD My Cloud 在固件4.0 版本之后,将 Debian 编译为 64 位的Page Size,照成标准的Linux包没法在这个版本上正确执行。更恶心的是,WD 尽然不改 etc/apt/sources.list , 所以只要你使用了 apt-get 进行了系统更新或者新软件包的安装,你就会面临变砖的风险。网上还有一些说采用ipkg安装的帖子,我自己没试过,但从原理上来说,也会有风险。变砖以后找客服有用吗? 对不起,WD 在条款中写了,自行安装软件什么的发生问题,不在保修范围之内。

恢复成厂家的固件

WD 在网站上提供历史固件下载,可以在这里找到,点按 “Download Now”按钮下载即可:http://www.wdc.com/wdproducts/updates/?family=wdfmycloud_s


Deb Download

下载得到最近的固件文件:sq-040001-xxx-2014xxxx.deb.zip (当前是 sq-040101-413-20141106.deb.zip)

将下载好的zip文件解压成.deb文件,并用 SFTP 的工具(如 Filezilla, SecureFS 等)上传到 My Cloud 上去。我上传的路径是 /etc 目录下,这样系统升级之后更新时自动会把这个固件文件删掉。

使用以下命令更新固件,等待一段时间,系统会自动重启,并升级为原始固件,以下是命令执行的结果:

命令参考

在Linux或MAC上执行以下命令,用SSH登陆 MyCloud

$ ssh 192.168.xxx.xxx -l root

root@192.168.xxx.xxx's password: welc0me
Linux MyCloud 3.2.26 #1 SMP Tue Jun 17 15:53:22 PDT 2014 wd-2.2-rel armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

执行以下命令更新固件:

~# updateFirmwareFromFile.sh /etc/sq-040100-413-20141106.deb 

下面是执行结果,供参考。命令执行完成后,等到你的蓝灯亮起时,就又能够看到那个可恨又可爱的黑漆漆的 Dashboard 页面了。

updateFirmwareFromFile.sh:11/24/14 01:16:56:: ( /etc/sq-040100-408-20141010.deb )
updateFirmwareFromFile.sh:11/24/14 01:16:56:upgrade start: /etc/sq-040100-408-20141010.deb
updateFirmwareFromFile.sh:11/24/14 01:16:56:check_size=
updateFirmwareFromFile.sh:11/24/14 01:16:57:version_current=040100408
updateFirmwareFromFile.sh:11/24/14 01:16:57:version_newfile=040100408
updateFirmwareFromFile.sh:11/24/14 01:16:57:package_newfile=sq
updateFirmwareFromFile.sh:11/24/14 01:16:57:master_package_name=sq
updateFirmwareFromFile.sh:11/24/14 01:16:57:master_package_new=sq
updateFirmwareFromFile.sh:11/24/14 01:16:57:update_container=
[ ok ] Stopping periodic command scheduler: cron.
[ ok ] Stopping standby monitor: monitorio.
[ ok ] Stopping temperature monitor: monitorTemperature.
Stopping Twonky MediaServer ... 
[ ok ] Stopping itunes server: forked-daapd.
[ ok ] Stopping wdphotodbmerger: wdphotodbmerger.
[ ok ] Stopping wdmcserver: wdmcserver.
[ ok ] Stopping Samba daemons: nmbd smbd.
Stopping Netatalk Daemons: afpd.
[ ok ] Stopping upnp nas device: upnpnasd.
[ ok ] Stopping wdnotifier: wdnotifier.
[ ok ] Stopping wdnotifier: wdnotifier.
[ ok ] Stopping NFS kernel daemon: mountd nfsd.
[ ok ] Unexporting directories for NFS kernel daemon....
[ ok ] Stopping NFS common utilities:.
updateFirmwareFromFile.sh:11/24/14 01:17:13:new_upgrade_version=2
updateFirmwareFromFile.sh:11/24/14 01:17:13:current_upgrade_version=2
`/tmp/tmp.vc6c0yWxz5/upgrade-version' -> `/CacheVolume/upgrade/upgrade-version'
updateFirmwareFromFile.sh:11/24/14 01:17:13:Newer upgrade scripts in update package, use normal update method
(Reading database ... dpkg: warning: files list file for package 'libxau6:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libssh2-1:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'liblockfile1:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libkrb5-3:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libwrap0:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libtagc0:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libapr1:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libcap2:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libglib2.0-0:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libgphoto2-port0:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libpng12-0:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libtalloc2:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libevent-2.0-5:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libedit2:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libldap-2.4-2:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libavahi-client3:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libgphoto2-2:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libtag1c2a:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'liblua5.1-0:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libpkcs11-helper1:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libpcre3:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libdb5.3:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libavahi-common3:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libsensors4:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libx11-6:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libnfsidmap2:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libbsd0:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libavahi-common-data:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libjpeg8:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libnss-winbind:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libsasl2-2:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libsasl2-modules:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libcurl3:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libaprutil1-ldap:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libtirpc1:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libaprutil1:armhf' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libkrb5support0:armhf' missing; assuming package has no files currently insta
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值