有时候应开发人员的要求,需要写一些脚本来对OSS bucket 中的文件做一些操作;
理所当然 我会用脚本先把 bucket 挂载到服务器上面,再操作。
挂载脚本 oss.sh:
#! /bin/bash
bucket=bucket名称
key=key值
secret=secret值
#### One of The following ################
endpoint=oss-cn-地区-internal.aliyuncs.com #Ali cloud in Qindao
#==========================================================================================
#wget http://docs-aliyun.cn-地区.oss.aliyun-inc.com/assets/attach/32196/cn_zh/1463121259202/ossfs_1.79.8_centos6.5_x86_64.rpm ./
#yum -y localinstall ossfs_1.79.8_centos6.5_x86_64.rpm
echo $bucket:$key:$secret >> /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
mkdir /$bucket
ossfs $bucket /$bucket -ourl=$endpoint
然后呢!挂载失败了 ossfs: /usr/local/lib/libxml2.so.2: no version information available (required by ossfs)
据说可能是版本冲突了 于是
[root@ansible ~]# cd /usr/local/lib
[root@ansible lib]# ls |grep libxml2.so.2
libxml2.so.2
libxml2.so.2.7.8
[root@ansible lib]# mv libxml2.so.2 /root/bak/
这里是不建议把libxml2.so.2删掉的,留着!留着!百度的答案有时候确实坑人,这里拼错,那里全是copy,有时候没有一个答案能够解决问题。所以还是谨慎一点mv好了。 还有就是 如果执行完脚本发现可能没有挂载上去,不要删掉文件夹,直接换个地方重新挂载就好了。因为你以为的失败,不一定就是失败,rm -rf 可能会把原本bucket里面的东西全部删掉,无可挽回。
再次执行脚本,就没有这个错误了