WD MyCloud编译的busybox-1.23.2中增加mdadm-3.2.6

参考更优雅的(不拆硬盘)拯救死翘翘了的WD MyCloud(Ubuntu 17.10)配置编译出来的镜像中缺少mdadm,我们在此介绍一下如何增加mdadm-3.2.6的功能。

$ cd ~/mycloud

$ wget https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-3.2.6.tar.xz

$ tar -xvf mdadm-3.2.6.tar.xz -C ./busybox-1.23.2/

#生成编译源代码相关的项目
$ cat >> ./busybox-1.23.2/mdadm-3.2.6/Kbuild.src <<EOF

lib-y:=

INSERT

lib-\$(CONFIG_MDADM) += mdadm.o config.o policy.o mdstat.o  ReadMe.o util.o maps.o lib.o \
        Manage.o Assemble.o Build.o \
        Create.o Detail.o Examine.o Grow.o Monitor.o dlink.o Kill.o Query.o \
        Incremental.o \
        mdopen.o super0.o super1.o super-ddf.o super-intel.o bitmap.o \
        super-mbr.o super-gpt.o \
        restripe.o sysfs.o sha1.o mapfile.o crc32.o sg_io.o msg.o \
        platform-intel.o probe_roms.o

CFLAGS_\$(CONFIG_MDADM) += -DDEFAULT_OLD_METADATA -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter

EOF

#生成配置信息
$ cat >> ./busybox-1.23.2/mdadm-3.2.6/Config.src <<EOF

menu "Linux Software RAID MDAMD"
 
INSERT

config MDADM
	bool "mdadm"
	default y
	help
	  Linux Software RAID
 
endmenu

EOF

#添加配置项到busybox项目
$ sed -i '$a\source mdadm-3.2.6/Config.in' ./busybox-1.23.2/Config.in

#添加源代码路径到busybox项目
$ sed -i '/libs-y := \\/{:n;N;/^endif \# KBUILD_EXTMOD/!bn};s/util-linux\/volume_id\/ \\/util-linux\/volume_id\/ \\\n\t\tmdadm-3.2.6\/ \\/' ./busybox-1.23.2/Makefile

#添加帮助信息
$ sed -i 's/#endif/\n#define mdadm_trivial_usage "None"\n#define mdadm_full_usage "None"\n#endif/' ./busybox-1.23.2/include/usage.src.h

#添加命令
$ sed -i 's/^INSERT$/INSERT\nIF_MDADM(APPLET(mdadm, BB_DIR_USR_SBIN, BB_SUID_DROP))/' ./busybox-1.23.2/include/applets.src.h

#调整函数入口名
$ sed -i 's/int main(int argc, char \*argv\[])/int mdadm_main(int argc, char \*argv\[])/' ./busybox-1.23.2/mdadm-3.2.6/mdadm.c

#调整代码,否则编译不通过
$ sed -i 's/inline int count_dirty_bits_byte(char byte, int num_bits)/int count_dirty_bits_byte(char byte, int num_bits)/' ./busybox-1.23.2/mdadm-3.2.6/bitmap.c

#在busybox编译配置中开启我们刚刚增加的功能
$ sed -i '$a\CONFIG_MDADM=y' ./busybox-config

#编译
$ ./build-sys.sh

如果mdadm-3.2.6的代码不能成功下载,可以从本站下载一份代码拷贝。点击这里下载

具体使用的时候:

$ busybox mdadm xxxx

参考链接


更优雅的(不拆硬盘)拯救死翘翘了的WD MyCloud(Ubuntu 17.10)

以前WD MyCloud被捣鼓坏掉了,都是参考拯救死翘翘了的 WD MyCloud来处理的,但是这种处理方式需要拆机,非常的费力。最近看到有人发布了可以不拆机的方式修复的方法。研究了一下,非常可行,推荐使用这种方法。

下面的这些操作都是WD论坛上的一些达人通过分析WD MyCloud的源代码得到的,没有非公开的黑科技,都是一些明确公布的内容。

原理大致讲一下,在WD MyCloud主板上有一块Flash闪存,闪存里面是已经写入的bareboxWD MyCloud启动的时候会把barebox从闪存载入到内存中,并且启动barebox,而barebox启动后,会等待5S的时间,检测是否有人向自己的网卡发送内容为WD-ICMP-BEACONWD-ICMP-BEACONWD-ICMP-BEACONWD-ICMP-ICMP报文(本质就是PING),一旦检测到这个报文,就会连接这个报文的发送方的69号端口(TFTP服务器端口),获取一个名为startup.sh的脚本,并且下载完成后,执行这个脚本。因此我们就可以在这个脚本中拉取一个自己编译好的内核,然后运行这个内核,达到修改系统的目的。

继续阅读更优雅的(不拆硬盘)拯救死翘翘了的WD MyCloud(Ubuntu 17.10)

WD MyCloud拆硬盘恢复系统后容量部分显示0KB

捣鼓挂掉WD MyCloud之后,在参照 拯救死翘翘了的 WD My Cloud 恢复系统后,首页中的容量部分显示0KB,如下图:

解决方法为,进行一次"仅系统"的"系统出厂还原",如下图:

参考链接


MyCloud showing 0kb available, data and files cannot be accessed

WD MyCloud编译PHP-7.1安装包

1.按照How to successfully build packages for WD My Cloud from source中的介绍,搭建完成WDMyCloud的编译环境

2.使用如下方式编译:

$ su 

$ cd ~/wdmc-build/64k-jessie
$ chroot build

$ mount -t proc none /proc
$ mount -t devtmpfs none /dev
$ mount -t devpts none /dev/pts

$ export DEBIAN_FRONTEND=noninteractive
$ export DEBCONF_NONINTERACTIVE_SEEN=true
$ export LC_ALL=C
$ export LANGUAGE=C
$ export LANG=C
$ export DEB_CFLAGS_APPEND='-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE'
$ export DEB_BUILD_OPTIONS=nocheck

$ cd root

$ apt-get update
$ apt-get upgrade

$ apt-get install ca-certificates
$ apt-get install dh-autoreconf
$ apt-get install git
$ apt-get install apache2-dev
$ apt-get install apache2
$ apt-get install systemtap-sdt-dev
$ apt-get install libxml2
$ apt-get install libxml2-dev
$ apt-get install libssl-dev
$ apt-get install libpcre3 libpcre3-dev
$ apt-get install libsqlite3-dev
$ apt-get install libbz2-dev

$ apt-get install libcurl4-openssl-dev

$ apt-get install libqdbm-dev

$ apt-get install libdb-dev

#configure: error: Cannot find enchant
$ apt-get install enchant libenchant-dev

#configure: error: webp/decode.h not found
$ apt-get install libwebp-dev

#configure: error: png.h not found.
$ apt-get install libpng-dev

#configure: error: xpm.h not found.
$ apt-get install libxpm-dev

#configure: error: freetype-config not found.
$ apt-get install libfreetype6-dev

#configure: error: Unable to find gd.h anywhere under /usr
$ apt-get install libgd-dev

#configure: error: Unable to locate gmp.h
$ apt-get install libgmp-dev

#configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.
$ apt-get install libc-client-dev

#configure: error: Kerberos libraries not found.
$ apt-get install libkrb5-dev

#configure: error: libfbclient, libgds or libib_util not found! Check config.log for more information.
$ apt-get install firebird-dev

#configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
$ apt-get install libicu-dev

#configure: error: sasl.h not found!
$ apt-get install libsasl2-dev

#configure: error: mcrypt.h not found. Please reinstall libmcrypt.
$ apt-get install libmcrypt-dev

#checking for unixODBC support... configure: error: ODBC header file '/usr/include/sqlext.h' not found!
$ apt-get install unixODBC-dev

#configure: error: Directory /usr is not a FreeTDS installation directory
$ apt-get install FreeTDS-dev

#configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
$ apt-get install libpq-dev

#configure: error: Cannot find pspell
$ apt-get install libpspell-dev

#configure: error: Please reinstall libedit - I cannot find readline.h
$ apt-get install libedit-dev

#configure: error: Can not find recode.h anywhere under /usr /usr/local /usr /opt.
$ apt-get install librecode-dev

#configure: error: Could not find net-snmp-config binary. Please check your net-snmp installation.
$ apt-get install libsnmp-dev

#configure: error: Cannot find libtidy
$ apt-get install libtidy-dev

#checking for XMLRPC-EPI in default path... not found
$ apt-get install libxmlrpc-epi-dev

#configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
$ apt-get install libxslt-dev

#configure: error: Please reinstall the libzip distribution
$ apt-get install libzip-dev

$ git clone -b master-7.1 https://gitlab.com/deb.sury.org/php.git php7 --depth=1 

$ cd php7

#禁用systemd
$ sed -i "s/CONFIGURE_SYSTEMD *:= *--with-fpm-systemd/CONFIGURE_SYSTEMD := --without-fpm-systemd/g" debian/rules

$ sed -i "s/DH_SYSTEMD *:= *--with systemd/DH_SYSTEMD :=/g" debian/rules

$ dpkg-buildpackage -d -b -uc

#编译依赖包php-common
$ cd ..

$ git clone -b debian/50 git://anonscm.debian.org/pkg-php/php-defaults.git

$ cd php-defaults

#禁用systemd
$ sed -i "s/DH_SYSTEMD *:= *--with *systemd/DH_SYSTEMD :=/g" debian/rules

$ dpkg-buildpackage -d -b -uc

$ exit

3.编译php-apcu,这个模块WD MyCloud需要

$ su 

$ cd ~/wdmc-build/64k-jessie
$ chroot build

$ mount -t proc none /proc
$ mount -t devtmpfs none /dev
$ mount -t devpts none /dev/pts

$ export DEBIAN_FRONTEND=noninteractive
$ export DEBCONF_NONINTERACTIVE_SEEN=true
$ export LC_ALL=C
$ export LANGUAGE=C
$ export LANG=C
$ export DEB_CFLAGS_APPEND='-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE'
$ export DEB_BUILD_OPTIONS=nocheck

$ cd root

#安装依赖
$ apt-get install shtool
$ apt-get install liblist-moreutils-perl
$ apt-get install xml2

# "dch" command 
$ apt-get install devscripts

#安装我们刚刚编译好的PHP7包
$ dpkg -i php-common_50_all.deb
$ dpkg -i php7.1-common_7.1.10-1_armhf.deb
$ dpkg -i php7.1-readline_7.1.10-1_armhf.deb
$ dpkg -i php7.1-opcache_7.1.10-1_armhf.deb
$ dpkg -i php7.1-json_7.1.10-1_armhf.deb
$ dpkg -i php7.1-cli_7.1.10-1_armhf.deb 
$ dpkg -i php7.1-dev_7.1.10-1_armhf.deb

#编译依赖
$ git clone git://anonscm.debian.org/pkg-php/dh-php.git

$ cd dh-php

$ git checkout debian/0.26 -b debian/0.26

$ dpkg-buildpackage -d -b -uc

$ cd ..

$ dpkg -i dh-php_0.26_all.deb

#参考 https://packages.debian.org/source/sid/php-apcu
# git://anonscm.debian.org/pkg-php/php-apcu.git
#https://pecl.php.net/package/APCu
$ git clone git://anonscm.debian.org/pkg-php/php-apcu.git

$ cd php-apcu

$ git checkout debian/5.1.8+4.0.11-1 -b debian/5.1.8+4.0.11-1

#Build the package
$ debuild -b -d -uc -us

$ cd ..

$ dpkg -i php-apcu_5.1.8+4.0.11-1_armhf.deb

$ git clone git://anonscm.debian.org/pkg-php/php-apcu-bc.git

$ cd php-apcu-bc

$ debuild -b -d -uc -us

$ exit

上面下载的代码由于是国外的服务器,因此可能会出现一直无法下载成功的情况,可以从这里下载代码的拷贝。PHP源代码点击这里PHP7 Debian编译配置文件点击这里dh-php源代码点击这里php-apcu源代码点击这里,  php-apcu-bc源代码点击这里

WDMyCloud中安装的时候执行如下命令:

$ sudo apt-get update

$ sudo apt-get install -y --force-yes php7.1

$ sudo apt-get install -y --force-yes libapache2-mod-php7.1

$ sudo apt-get install -y --force-yes php7.1-curl

$ sudo apt-get install -y --force-yes php-apcu

$ sudo apt-get install -y --force-yes php-apcu-bc

$ sudo apt-get install -y --force-yes php7.1-xml

#这个是个坑,如果没有增加这个模块,也是可以正常启动的,但是却没办法正常登录进入,应用会出现异常
$ sudo apt-get install -y --force-yes php7.1-mbstring

#由于PHP7中的parse_ini_file不再兼容“#”作为注释字符,只能使用“;”进行注释,但是这个注释无法
#被其他应用读取,而WDMyCloud里面的其他脚本也需要读取/etc/system.conf里面的内容
#目前唯一的解决方法就是删除全部的注释行
# /var/www/htdocs/UI/index.php	 	 	 	 
$ sudo cp /etc/system.conf /etc/system.conf.bak	 	 
$ sudo sed -i '/^#/d' /etc/system.conf

#语法调整
$ sudo cp /var/www/htdocs/UI/views/common/dates.php /var/www/htdocs/UI/views/common/dates.php.bak

$ sudo sed -i 's/^<?.*$/<?php/g' /var/www/htdocs/UI/views/common/dates.php

#/var/www/htdocs/UI/views/layouts/main/main.php	 
$ sudo cp /etc/php5/apache2/conf.d/include_path.ini /etc/php/7.1/apache2/conf.d/

$ sudo chmod 777 /etc/php/7.1/apache2/conf.d/include_path.ini

$ sudo a2dismod php5	 	 

$ sudo a2enmod php7.1

$ sudo phpenmod curl	 	 

$ sudo service apache2 restart

注意,这部分的功能目前仅仅是可用,还没有达到完全正常的情况,如果出现问题,可以切换回PHP5,目前已知的完美切换回到原来的PHP5的办法就是卸载上面安装的所有PHP7的相关应用才能切换成功,否则总有部分小功能不是太正常.

参考链接


WDMyCloud编译TestDisk&PhotoRec 7.0/7.1

1.按照How to successfully build packages for WD My Cloud from source中的介绍,搭建完成WDMyCloud的编译环境

2.下载TestDisk & PhotoRec 7.1的源代码

$ wget https://www.cgsecurity.org/testdisk-7.1-WIP.tar.bz2

3.解压缩源代码

$ tar -xjf testdisk-7.1-WIP.tar.bz2

4.安装依赖库

$ apt-get install libncurses5-dev

$ apt-get install uuid-dev

5.编译源代码

$ cd ~/wdmc-build/testdisk-7.1-WIP

$ chroot build

$ mount -t proc none /proc
$ mount -t devtmpfs none /dev
$ mount -t devpts none /dev/pts

$ export DEBIAN_FRONTEND=noninteractive
$ export DEBCONF_NONINTERACTIVE_SEEN=true
$ export LC_ALL=C
$ export LANGUAGE=C
$ export LANG=C
$ export DEB_CFLAGS_APPEND='-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE'
$ export DEB_BUILD_OPTIONS=nocheck

$ cd ~/testdisk-7.1-WIP

$ ./configure

$ make

编译好的文件在src目录下面。

上面的编译方法编译出来的没办法生成安装包,如果需要安装包的版本,可以直接从Debian源中下载已经适配过的源代码进行编译,目前已经被适配的版本是testdisk_7.0-2

使用如下方式编译:

$ cd ~/wdmc-build/64k-wheezy

$ chroot build

$ mount -t proc none /proc
$ mount -t devtmpfs none /dev
$ mount -t devpts none /dev/pts

$ export DEBIAN_FRONTEND=noninteractive
$ export DEBCONF_NONINTERACTIVE_SEEN=true
$ export LC_ALL=C
$ export LANGUAGE=C
$ export LANG=C
$ export DEB_CFLAGS_APPEND='-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE'
$ export DEB_BUILD_OPTIONS=nocheck

$ cd root
$ mkdir testdisk_7.0-2
$ cd testdisk_7.0-2

$ apt-get install ca-certificates
$ apt-get install dh-autoreconf

$ wget http://http.debian.net/debian/pool/main/t/testdisk/testdisk_7.0-2.dsc
$ wget http://http.debian.net/debian/pool/main/t/testdisk/testdisk_7.0.orig.tar.bz2
$ wget http://http.debian.net/debian/pool/main/t/testdisk/testdisk_7.0-2.debian.tar.xz

$ tar -jxvf testdisk_7.0.orig.tar.bz2

$ xz -d testdisk_7.0-2.debian.tar.xz

$ tar -xvf testdisk_7.0-2.debian.tar

$ mv debian/ testdisk-7.0/

$ rm -rf testdisk_7.0-2.debian.tar

$ cp testdisk_7.0-2.dsc testdisk-7.0/testdisk_7.0-2.dsc

$ dpkg-buildpackage -d -b -uc

参考链接


源码包: testdisk (7.0-2)

WDMyCloud编译USB网卡MT7601U驱动(小米,小度,360WiFi)

前言


有人留言希望尝试在WDMyCloud上尝试使用USB无线网卡,目标芯片是MT7601U。

经过几天的研究,找到了相关的编译方式。

链接地址 https://github.com/porjo/mt7601u,提示在Linux-4.2以后的版本中已经集成MT7601U芯片的驱动了(drivers/net/wireless/mediatek目录下),但是可惜的是WDMyCloud上的Linux内核版本号是3.2.26,曾经尝试升级到4.2版本之后的Linux内核,可惜尝试之后,发现无法成功编译Mindspeed C2000芯片(WDMyCloud使用的IC芯片,包含CPU,网卡等)驱动,因此只能退而求其次,使用MTK官方提供的驱动程序在3.2.26版本的Linux内核上进行编译。

另外注意,在WDMyCloud提供的默认系统镜像上,没有提供802.11相关的驱动,导致如果使用无线网卡,必须重新编译内核。

具体操作


1.下载MT7601U芯片驱动

驱动程序的下载地址为:http://www.mediatek.com/products/broadbandWifi/mt7601u#product-downloads

也可本站下载

2.下载最新的WDMyCloud的系统源代码

目前最新的下载地址为:http://downloads.wdc.com/gpl/gpl-source-wd_my_cloud-04.04.03-113.zip

3.参照 How to successfully build packages for WD My Cloud from source构建编译环境

4.解压缩下载到的代码中的"packages/kernel_3.2"到"64k-wheezy/build/root"目录下面。

5.执行如下命令,重新编译内核,为驱动的编译准备必备的文件

$ cd ~

$ cd 64k-wheezy

$ sudo chroot build

$ cd root

$ cd kernel_3.2

$ apt-get install uboot-mkimage

修改内核编译文件"/kernel_3.2/linux/arch/arm/configs/sequoia64k-wifi_defconfig",在文件的顶部增加"CONFIG_WEXT_PRIV=y",定义这个宏的目的,是为了编译MT7601U芯片驱动的时候使用的,缺少这个宏会导致芯片驱动编译的时候缺少变量。

6.编译内核

$ make sequoia64k-wifi

编译成功后,在"kernel_3.2/_bld"目录下生成编译文件,在"kernel_3.2/_bin"目录下生成最终的内核镜像和驱动程序。

7.解压缩MT7601U芯片驱动代码到"64k-wheezy/build/root"目录下面,并命名为"MT7601U"。

修改芯片驱动编译文件"Makefile",找到

ifeq ($(PLATFORM),IXP)
LINUX_SRC = /project/stable/Gmtek/snapgear-uclibc/linux-2.6.x
CROSS_COMPILE = arm-linux-
endif

在这行下面增加

ifeq ($(PLATFORM),WDMyCloud)
# Linux 2.6
LINUX_SRC = /root/kernel_3.2/_bld
# Linux 2.4 Change to your local setting
#LINUX_SRC = /usr/src/linux-2.4
LINUX_SRC_MODULE = /root/kernel_3.2/kernel/linux/drivers/net/wireless/
CROSS_COMPILE = arm-linux-gnueabihf-
#export ARCH=arm 
endif

修改"Makefile"中,编译目标系统从PLATFORM = PCPLATFORM = WDMyCloud.

接下来修改"os/linux/config.mk",在文件尾部增加

ifeq ($(PLATFORM),WDMyCloud)
EXTRA_CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -march=armv6 -msoft-float -Uarm -DMODULE -DMODVERSIONS -include $(LINUX_SRC)/include/linux/version.h $(WFLAGS)

export EXTRA_CFLAGS
endif

最后,切换到驱动程序所在的"MT7601U"目录,执行编译。

$ make

编译完成后,在"MT7601U/os/linux/"目录下生成名为"mt7601Usta.ko"的驱动程序文件。

剩下的,参考"MT7601U"目录下的"README_STA_usb"中的说明进行操作即可。

注意,如果要成功使用无线网卡驱动,那么需要用刚刚编译好的Linux内核,替换掉原来的内核,并且把"kernel_3.2/_bin"目录下的驱动也拷贝到系统根目录下面相同的位置即可,这个操作是高风险操作,极可能这么操作之后,系统无法正常运行,因此要提前备份文件,并且做好拆硬盘,挂载到其他机器上撤销刚刚的修改的准备。

参考链接


mt7601驱动使用(三)

WDMyCloud中使用Subversion Server不支持中文路径问题的解决

WDMyCloud中使用Subversion Server的时候,发现工程名字为中文的情况下,无法下载代码,此时Subversion客户端报告:

svn: E210005: No repository found in "svn://xx.xx.xx/中文路径的UTF-8编码(%E4%B8之类)"

解决方法是在启动Subversion Server之前指定语言为中文,如下:

export LC_ALL="zh_CN.utf8"

其他的的参考如下链接:
WD MyCloud中设置服务在开机时候自动启动

WD MyCloud下面Git提交(Push)失败 index-pack died of signal 9

WD MyCloud下面Git提交(Push)失败

error: index-pack died of signal 9

如下图所示:
rpi_linux_error

根据网上的其他人的讨论,采用过

1.安装最新的git(2.14)无效)

2.限制git处理的文件的大小,超过大小则保持原始文件不变 (无效)

$ git config --add core.bigFileThreshold 4m

3.限制线程数量(无效)

$ git config pack.threads 1

4.限制pack的内存占用(无效)

$ git config pack.windowMemory 10m

5.限制pack的内存以及文件大小(无效)

$ git config pack.windowMemory 10m

$ git config pack.packSizeLimit 20m

6.使用上面的配置,重新在大内存电脑上重建索引提交(无效)

$ git config --add core.bigFileThreshold 4m

$ git config pack.windowMemory 10m

$ git config pack.packSizeLimit 20m

$ git config pack.threads 1

$ git repack -a -d --window-memory 10m --max-pack-size 20m

7.增大交换分区(提交过程变得巨慢,耗费了三天后提示失败,无效)

$ cd /nfs/WDMyCloud/ 

$ dd if=/dev/zero of=swapfile bs=1m count=4096

$ swapon swapfile

 

最后的解决方法,其实就是在足够内存的机器上面,提交到本机,然后使用scp作为一个文件夹同步到WDMyCloud中。

参考链接


"method driver /usr/lib/apt/methods/https could not be found" update error

在配置了/etc/apt/sources.list中使用了https之后,出现如下错误

$sudo apt-get update
E: The method driver /usr/lib/apt/methods/https could not be found.

如果是中文系统的话,会输出如下信息:

$sudo apt-get update
E: 无法找到获取软件包的渠道 /usr/lib/apt/methods/https 所需的驱动程序。

解决的方法是安装apt-transport-https:

$ sudo apt-get install apt-transport-https

如果此时执行

$ sudo apt-get update

更新会提示:

server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

则执行如下命令来更新本地的证书:

$ echo -n | openssl s_client -connect www.mobibrw.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee '/usr/local/share/ca-certificates/www_mobibrw_com.crt'

$ sudo update-ca-certificates

然后就一切正常了。

参考链接


WDMyCloud配置Apache访问Subversion

1.确保WDMyCloud是最新的版本,应该是WDMyCloud v04.04.01-112以后,并且确保Apache2的版本号是2.4.9版本。

WDMyCloud:~# apache2 -v
Server version: Apache/2.4.9 (Debian)
Server built:   May  3 2014 13:50:30

2.安装Subversion Server

$sudo apt-get install subversion
$sudo apt-get install libapache2-svn

3.配置并启用Apache dav_svn模块

$sudo a2enmod dav_svn
$sudo vim /etc/apache2/mods-enabled/dav_svn.conf

在文件的尾部增加如下内容:

<Location /svn>
        DAV svn
        SVNPath /WDMyCloud/Repositories/
        AuthType Basic
        AuthName "Subversion Repository"
        AuthUserFile /etc/apache2/dav_svn.passwd
        Require valid-user
</Location>

4.创建Subversion用户

$sudo htpasswd -cm /etc/apache2/dav_svn.passwd svn_user

5.重启 Apache2

$sudo service apache2 restart

6.网络访问“http://wd-mycloud/svn”。
7.检出项目 “svn co http://wd-mycloud/svn/project project