闲不住的主,测试了把阿里云的OSS挂载到宝塔上,又把腾讯的COS也挂载到宝塔上,今天测试了一下再把百度云的BOS挂载到宝塔上,真都成功了,把百度云BOS的挂载记录发一下,以备用,阿里云的挂载请看这个教程 宝塔Linux面板挂载阿里云oss,实现附件自动手动转移到oss/做个记录
百度云是有专门的挂载工具叫bosfs 安装它先要用到fuse模块 ,首先当然是检查有没有安装这个模块
以下是未安装fuse模块的步骤,安装了fuse模块就相对简单,等下下面介绍
用户安装bosfs前需要先确保目标系统已经安装FUSE内核模块,可以通过
ls /dev/fuse或modprobe fuse
命令判断是否安装。如果没有安装,执行以下步骤:
用root权限 执行
yum -y install fuse fuse-devel
或者
apt-get
等包管理软件安装;
若无法安装活, 系统安装的fuse版本低于2.9.4, 则需要进行源码安装;
下载libfuse源码包,自行编译(./configure && make);
用root权限make install之后会自行加载内核模块。
由于低版本的Linux系统内核版本比较低,bosfs进程在运行过程中容易出现掉线或者其他问题。
因此建议用户将操作系统升级到CentOS 7.0或者Ubuntu 14.04以及以上版本。
接下来分两个系统,一个是Ubuntu的安装
1、安装bosfs所需要的依赖
sudo apt-get install autoconf sudo apt-get install uuid-dev sudo apt-get install libssl-dev sudo apt-get install libcurl4-openssl-dev 若源码安装fuse, 下载libfuse源码包(上面已提供连接) 如果系统fuse版本低于2.9.4 也请用的安文档提供的装包进行源码安装 tar -xzvf fuse-2.9.4.tar.gz cd fuse-2.9.4 ./configure sudo make && sudo make install
注意:如果您的libstdc++版本过低, bosfs安装成功后会报错如下:
bosfs: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by bosfs) bosfs: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by bosfs)
建议手动升级相关libstdc++, 或更新gcc/g++版本, 需支持-std=c++11
2、下载bosfs源码包
3、编译
tar -xzvf bosfs-1.0.0.11.tar.gz cd bosfs-1.0.0.11 sudo sh build.sh
注意:如果编译的时候显示’rpl_malloc’ was not declared in this scope,这是因为您的系统malloc与bosfs冲突, 解决办法将编译目录下configure.ac文件的AC_FUNC_MALLOC注释掉。
4、安装完成后,可以使用bosfs -v
命令查看版本
注意:如果您的fuse版本过低, 建议使用官网提供的libfuse。
挂载的时候显示libfuse.so.2 :can not open Shared object file:No such file or directory
原因是libfuse.so生成路径不在动态链接路径, 解决办法:
- /etc/ld.so.conf 这里面增加 /usr/local/lib将/usr/local/lib添加到链接路径
- ldconfig
Centos系统安装
由于BOS FS对环境有依赖,所以安装源代码包前需要安装依赖。以百度智能云虚机CentOS 6.5为例:
安装依赖
sudo yum install gcc-c++ sudo yum install autoconf sudo yum install automake sudo yum install libuuid-devel sudo yum install openssl-devel sudo yum install libcurl-devel
若源码安装fuse, 下载libfuse源码包(上面已提供连接)
如果系统fuse版本低于2.9.4 也请用的安文档提供的装包进行源码安装
tar -xzvf fuse-2.9.4.tar.gz cd fuse-2.9.4 ./configure sudo make && sudo make install
注意:如果您的libstdc++版本过低, bosfs安装成功后会报错如下:
bosfs: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by bosfs) bosfs: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by bosfs)
建议手动升级相关libstdc++, 或更新gcc/g++版本, 需支持-std=c++11
下载bosfs源码包
解压并编译
(1). 解压BOS FS源码包
(2). 编译源代码:
如果选择默认编译:直接执行build.sh;
如果选择自定义编译:先进入cppsdk目录,按自定义参数执行configure,make,make install;
然后再进入bosfs目录,按自定义参数执行configure,make,make install。
最后获取二进制可执行文件bosfs
注意:如果编译的时候显示'rpl_malloc' was not declared in this scope
,这是因为您的系统malloc与bosfs冲突, 解决办法将编译目录下configure.ac文件的AC_FUNC_MALLOC注释掉。
安装完成后,可以使用bosfs -v命令查看版本
注意: 如果您的fuse版本过低, 建议使用官网提供的libfuse
挂载的时候显示libfuse.so.2 :can not open Shared object file:No such file or directory
原因是libfuse.so生成路径不在动态链接路径, 解决办法:
编辑 /etc/ld.so.conf 在文件中添加 /usr/local/lib 到链接路径
执行命令 ldconfig (重新载入系统)
我的宝塔是安装了fuse版本的 所以再好是装Centos 7.5以上版本
先用ls /dev/fuses
查询是不是安装了fuse 未安装按上面的来,安装了就直接进入下面,我的是Centos7.9 所以直接用的这条命令
wget https://sdk.bce.baidu.com/console-sdk/bosfs-1.0.0.11-7.el7.x86_64.rpm
下载,然后释放安装
sudo yum localinstall bosfs-1.0.0.11-7.el7.x86_64.rpm
然后用bosfs -v命令查看版本出现
证明已经安装成功,好了,现在就执行挂载命令
bosfs mybucket my_local_directory -o endpoint=http://hkg.bcebos.com -o ak=xxxxxxxxxxxxxxxx -o sk=xxxxxxxxxxxxxxxxx -o logfile=xx/xx.log
这里详细说一下 mybucket 这是你的存储名 my_local_directory 这是你挂载的目录,可以是根目录,也可以是wwwroot下的目录例如bos就写成这样/www/wwwroot/bos ,然后就是endpoint那儿你可以在bucket概览里找到,我截图一下吧
这个位置可以看到,我的时香港,所以是hkg,但是你们其它地方的就要改一下,在http://后的hkg改成其它,例如bj,就改成http://bj.bcebos.com 然后,后面的ak和sk需要你到百度的控制台 然后右上角,鼠标放到自己的个人头像上就会有一个下拉菜单 安全认证 然后就会到Access Key页面 找到Access Key就是ak Secret Key就是sk,填入就行 还有一个地方就是日志,这儿提醒一下大家,这个地方很容易犯错,挂载目录必须是空目录,所以日志不能放在跟挂载目录一样的目录,不然就会报错,因此你可以把目录改到网站的日志目录就行了,例如 /www/wwwlogs/下就行了 就是/www/wwwlogs/bosfs.log这样,好了,就这样然后执行,就挂载成功了,在宝塔面板首页就能看到挂载的云盘了
还有一个就是让它自动挂载,就是重启之后还是能挂载就需要把这条挂载命令加到环境变量里面去,环境变量文件: .bash_profile
这样就实现了开机自动挂载,就不会掉线了,然后那一天不需要挂载了,我们可以卸载命令umount /www/wwwroot/bos
就行了,umount后面是你挂载的目录,这样就卸载了,好了教程就到儿了!
嗨,这是一条评论。 要开始审核、编辑及删除评论,请访问仪表盘的“评论”页面。 评论者头像来自Gravatar。