安装
fuse模块安装
用户安装bosfs前需要先确保目标系统已经安装FUSE内核模块,可以通过ls /dev/fuse
或modprobe fuse
命令判断是否安装。如果没有安装,执行以下步骤:
- centos系统, 使用root权限 执行
yum -y install fuse fuse-devel
- ubuntu系统, 使用root权限 执行
apt install libfuse2 libfuse-dev
; - 若无法安装, 或者系统已安装的fuse版本低于2.9.4, 则需要进行源码安装:
下载libfuse源码包,自行编译安装(./configure && make && sudo make insatll
); - 由于低版本的Linux系统内核版本比较低,bosfs进程在运行过程中容易出现掉线或者其他问题。
因此建议用户将操作系统升级到CentOS 7.0或者Ubuntu 14.04以及以上版本, 同时bosfs升级到1.0.0.12及其以上版本。
Ubuntu系统安装
-
安装bosfs所需要的依赖
sudo apt-get -y install build-essential 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安装不成功, 或系统版本低于2.9.4 则需要源码安装fuse, 下载libfuse源码包后进行安装 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源码包
-
编译并安装
tar -xzvf bosfs-1.0.0.13.1.tar.gz cd bosfs-1.0.0.13.1 sudo sh build.sh
注意:
(1) 如果编译的时候显示'rpl_malloc' was not declared in this scope,这是因为您的系统malloc与bosfs冲突, 解决办法将编译目录下configure.ac文件的AC_FUNC_MALLOC注释掉。
(2) 若编译相关依赖有问题, 可sh -x查看具体编译流程, 应修改build.sh进行调整 -
安装完成后,可以使用
bosfs -v
命令查看版本注意:
(1) 如果您的fuse版本过低, 建议使用官网提供的libfuse。
(2) 挂载的时候显示libfuse.so.2 :can not open Shared object file:No such file or directory
原因是libfuse.so生成路径不在动态链接路径, 解决办法:- echo /usr/local/lib >> /etc/ld.so.conf, 将/usr/local/lib添加到链接路径
- ldconfig, 重新载入系统
Centos系统安装
由于BOS FS对环境有依赖,所以安装源代码包前需要安装依赖。以百度智能云虚机CentOS 6.5为例:
-
安装bosfs所需要的依赖
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安装不成功, 或系统版本低于2.9.4 则需要源码安装fuse, 下载libfuse源码包后进行安装 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
注意:
(1) 如果编译的时候显示'rpl_malloc' was not declared in this scope,这是因为您的系统malloc与bosfs冲突, 解决办法将编译目录下configure.ac文件的AC_FUNC_MALLOC注释掉。
(2) 若编译相关依赖有问题, 可sh -x查看具体编译流程, 应修改build.sh进行调整 - 如果选择默认编译:直接执行
-
安装完成后,可以使用
bosfs -v
命令查看版本注意:
(1) 如果您的fuse版本过低, 建议使用官网提供的libfuse。
(2) 挂载的时候显示libfuse.so.2 :can not open Shared object file:No such file or directory
原因是libfuse.so生成路径不在动态链接路径, 解决办法:- echo /usr/local/lib >> /etc/ld.so.conf, 将/usr/local/lib添加到链接路径
- ldconfig, 重新载入系统