WD MyCloud通过SSH登陆之后中文显示为问号,网上查询了一下,找到解决方法。
首先执行
可以看到,在输出中是存在中文的“zh_CN.utf8”,因此,只要启用就可以了。
因此,执行如下命令
然后修改里面的
为
然后,退出,重新登陆终端即可。
WD MyCloud通过SSH登陆之后中文显示为问号,网上查询了一下,找到解决方法。
首先执行
可以看到,在输出中是存在中文的“zh_CN.utf8”,因此,只要启用就可以了。
因此,执行如下命令
然后修改里面的
为
然后,退出,重新登陆终端即可。
下文暂时没有办法处理有用户名,密码的情况。
I decided that 2014 for me was going to be the year of the Network Attached Storage (NAS). Last year was the year that I finally abandoned my desktops and went all laptop for both my Mac-based iOS development workflow and general purpose computing (i.e, everything else on my Acer i5 running Lubuntu). This year I wanted to have a massive centralized storage where I could put all my videos and photos so I can access it from any laptop or mobile device. What follows is what I chose and how to hook it up to Lubuntu.
I first looked at external cloud solutions (DropBox, Box, CrashPlan, BackBlaze) and although they were all cool they were unfortunately out for me due to three reasons. First, the storage limits – I didn’t want Gigs – I wanted Terabytes. Although, CrashPlan and BackBlaze both offer unlimited online storage they limit the number of devices. Two, I didn’t have all the files centralized on one computer and it would be best to centralized all my Mac, Linux, and iOS data first before I could go to one of these offsite back-up solutions. Third, these all cost money in a form of a monthly fee of
The first phase then came down to having a Network Attached Storage (NAS) type unit. The new Airport Time Capsule looked cool but I wanted something less Appley. I have had good experiences with Western Digital (WD) drives and saw in the January 2014 issue of Maximum PC a head-to-head between Dropbox and the new WD My Cloud product. A successor to the My Book branded drive this new My Cloud branded offering provides a shell to a NAS device and it was cheaper than a Time Capsule. I was sold and for X-mas asked Santa for the WD My Cloud 4TB Personal Cloud Storage – NAS (WDBCTL0040HWT-NESN) device.
Set-up was literally plug and play. There is an iOS App for iPad and iPhone/iPod Touch which allows upload to and download/stream from the NAS. The WD website and User Manual mention Mac and PC software to mount and sync that make connection a breeze. The device supports Time Capsule so I’ll be doing that with my Mac laptops (yes – there is no limit to how many computers connect to this thing). Then came my Linux laptop. There was no mention of Linux which is a shame since you would think that they are leveraging the community’s efforts in their products. But it was easy enough to connect my Lubuntu laptop as a Network File System (NFS) Client via three shell commands.
First, I changed directory to my home directory and created a nfs directory in there:
Then I applied the following three shell commands:
If you cd into nfs you’ll be accessing the WD My Cloud device. That’s it. I started to copy twenty mp4 files totalling 1.6GB into the device through 802.11g and it took 8 minutes. I was then streaming these on my iPad mini.
I hope this helps assure you you can connect to this from Linux. I know once I finished the plug and play I panicked for a bit thinking I wouldn’t be able to connect my Linux machines to this device but now I happily throw everything I have onto this. Also, it has a USB 3 port on the back so I can simply plug another 4TB USB drive on it and expand it in the future.
引用链接 http://cocoaallocinit.com/2014/01/04/wd-my-cloud-nas-on-ubuntu/
WD MyCloud 在通过SSH 进入命令行的时候误操作,导致系统彻底完蛋,查找了很长时间,找到了解决方法。
1.从http://pan.baidu.com/s/1eQBVbc2 下载3TB 版本的系统恢复镜像。
2.拆开机器,系统出厂自带的是Debian linux系统,重装系统需要将外壳拿掉,将硬盘取出。外壳是通过卡扣连接主体的,拆的时候有可能会折断卡扣,但不会影响重装回去之后的外观。大致方法就是,找几张废旧电话卡或银行卡从机子的后背也就是网卡口的左右两侧的外壳缝隙插进去,稍微撬开一点缝隙,保持卡片不动,然后将外壳用巧力使劲往 前推,慢慢的推出去,即可把外壳拆下。硬盘和壳子通过4个胶垫固定,先抬起硬盘一侧,使得两个胶垫脱离壳子,然后再慢慢向上和向外取出即可,过程没什么技 术含量,只需要小心一点就是了。连接主板和硬盘有4颗螺丝,其中一颗在led灯胶垫下,掰开胶垫可见,一并拧下。
3.把硬盘挂载到一台Linux的机器,推荐使用 Ubuntu ,本机使用的是 Ubuntu 13.10 .挂载的时候,可以使用USB 或者 ESATA接口的移动硬盘盒即可。
4.建议删除原始磁盘上的所有分区
5.使用 如下命令强制还原镜像到硬盘,假定此时硬盘被挂载到了 /dev/sdb上
6.装回硬盘到 WD My Cloud ,(注意此时不要用Linux 自带的gparted 操作硬盘,否则会导致无法启动),然后开启 SSH ,在命令行中执行 parted 命令,此时,会提示分区存在问题,按照提示修复即可。尽量在My Cloud 里面执行脚本命令,外面的Linux 执行命令的话,经常导致无法启动问题,最好在My Cloud 里面执行一下 e2fsck 来检查一下磁盘,尤其是最后的数据分区,恢复的时候一般都会有分区表错误,貌似只有在SSH 里面执行的才是正常的,原因未知。至于下面的分区大小调整,如果能在SSH 中处理的话,是最好的,问题最少。 下面是SSH 处理的SHELL 记录
最好升级一下 usb 接口的程序版本,新版本貌似修正了大文件拷贝会死机的问题
7.再次拆卸硬盘,用Linux 中的 gparted 来根据实际硬盘的大小来调整硬盘,比如,我的是4T 版本的,刷完之后,会有1T 的空白分区,这个时候可以通过gparted 来调整到整个硬盘。 (注意,外面调整分区可能导致不能启动,原因未知,因此恐怕要多尝试几次)
8.装回硬盘,重新启动,最好恢复一下出厂设置。
1.下载最新的固件版本比如 http://download.wdc.com/nas/WDMyCloud-030104-139-2
2.按照上文方法拆卸硬盘,并挂载到Ubuntu。
3.在磁盘管理器中打开如下界面,还原到的分区为管理器中现实Raid 的两个分区中,两个分区逐个还原。
选择 "Restore Disk Image"
上面的方法有些人可以恢复成功,有些没有办法恢复成功,中间的差别一般在于有些人机器上安装了mdadm
。如下图所示,磁盘挂载后会识别出"2.0GB RAID-1阵列
",如果下面的挂载位置不是"/dev/md/0
",而是显示"/dev/md127
"或者"/dev/md126
",那么,即使什么都不操作,直接装回去,也可能发现WDMyCloud
不能正常启动了。
这个原因是由于机器上安装的
mdadm
无意之间修改了部分内容,导致WDMyCloud
无法识别。解决办法是在电脑上重建这个"2.0GB RAID-1阵列
",以系统会把磁盘挂载到/dev/sdb
为例子,方法如下:
重建完成后,挂载位置被修正为"/dev/md/0
",然后通过在"2.0GB RAID-1阵列
"上点击"对分区映像恢复
"(英文应该是"Restore Disk Image
")进行镜像的恢复工作。
恢复完成后,先执行
停止阵列,然后点击顶部的"Power Off
"按钮,移除磁盘。如下图:
上面的操作完成后,一般会出现磁盘错误,建议进行磁盘检查,具体操作过程如下:
上述操作完成后,如果首页容量部分一直显示0KB
,则参考WD MyCloud拆硬盘恢复系统后容量部分显示0KB。
MBL通电后登录Web管理界面,第一件事就是要求升级固件,点了确定后才发现下载进度堪比蜗牛,一个半小时进度大约50%。升级不完还没办法进一步设置,实在无法忍了,边下边找办法看能不能快速搞定吧。
在MBL官网上没找着固件下载链接,只见一行小字写着现在已经不再支持手动升级固件。肯定会有办法的,能自动升级必须可以手动。
用SSH连接上,果然在 /usr/local/sbin 目录下发现了一堆设置相关脚本,其中有两个:
第一个脚本看名字就知道干啥用的,正是下载好固件手动升级用的,等下再细看怎么用;直接看第二个吧,真相来了,第24行代码直接告诉你怎么拿到最新固件的下载地址:
在shell中敲入下面的命令:
下载链接是不是已经出来了(前提是Web管理界面里的自动下载还在进行,如果已经没有执行或已经取消,/tmp/update_url 文件是不存在的,你知道该怎么办)。接下来的事情更加简单了,用迅雷或是QQ旋风等任意工具将固件下载回来,应该是一个.deb文件,然后通过 winscp或是文件共享把它放到MBL的目录里,MBL共享用的 /shares/Public 目录就挺好,最后在 /usr/local/sbin 目录下执行:
你将会惊奇地发现Web管理界面上已经显示出了升级进度,耐心等待……几分钟就好。
例如:
执行obj的method方法(参数为sql),返回String类型结果
args参数可以为空,就是对应方法没有参数
如:
obj可以为空,但必填null,表示同类中的公用方法,
如:
参数args是个Object数组,即使只有一个参数,也要建object数组
如:
注意:obj必须是实例化的对象,如果有对应的方法名,就可以实例化
部分代码如下:
通过反射创建新的类示例,有两种方式:
以下对两种调用方式给以比较说明:
Class.newInstance() 只能够调用无参的构造函数,即默认的构造函数;
Constructor.newInstance() 可以根据传入的参数,调用任意构造构造函数。Class.newInstance() 抛出所有由被调用构造函数抛出的异常。
Class.newInstance() 要求被调用的构造函数是可见的,也即必须是public类型的;
Constructor.newInstance() 在特定的情况下,可以调用私有的构造函数。
Class A(被调用的示例):
Class B(调用者):
输出结果如下:
说明方法newInstanceByClassNewInstance调用失败,而newInstanceByConstructorNewInstance则调用成功。如果被调用的类的构造函数为默认的构造函数,采用Class.newInstance()则是比较好的选择,一句代码就OK;如果被调用的类带参构造函数、私有构造函数,就需要采用Constractor.newInstance(),两种情况视使用情况而定。
不过Java Totorial中推荐采用Constractor.newInstance()。
通过如下步骤,可以很方便的通过wifi调试Android程序:
1、root手机;
2、到市场下载Android Terminal Emulator应用并安装(Android Terminal Emulator是一款安卓手机上使用的终端模拟器,可以进行linux命令集),或者到从GitHub 下载源代码自己编译,地址为 https://github.com/jackpal/Android-Terminal-Emulator,源代码编译的时候注意要增加NDK支持,底层是需要 C/C++层支持的。
3、安装后打开,输入如下命令:
4、看一下手机的IP,并记下来,比如:192.168.1.111;
5、在电脑上,上运行cmd命令提示符,切换目录至adb文件所对应文件夹,如:D:\Android\android-sdk\platform-tools,键入如下命令:
如果提示连接成功,则说明搞定了。
6、在Eclipse中运行调试应用
今天在使用Proguard keep一个 静态内部类的时候,混淆完之后一直找不到那个静态内部类,内心抓狂啊。
最后在stackoverflow上找到了答案:
其中 A$* 表示所有A的内部类都保留下来,也可以如下使用:
这样可以根据需要只保留A的某一个内部类
以下是proguard文件一部分
pip是一个安装python库很方便的东西,类似yum,pip search pip install.
安装 pip
Mac 10.9 版本下使用Gradle 编译 Android 项目,报告错误
使用 -debug 参数,得到的详细输出如下
可以看到,异常信息为
到具体的目录下面去看,这个文件果然是不存在的,有些版本链接到了一个不存在的目录,这种情况一般是经历过系统升级,往往会造成这个现象,另外,就是系统安装的Java 是Apple 提供的 Java 版本,而不是 Orcale 官网下载的独立版本。
解决方法是可以到Orcale 官网下载最新版本的 Java ,安装替换即可解决问题。