安装
用户安装bosfs前需要先确保目标系统已经安装FUSE内核模块,可以通过ls /dev/fuse
或modprobe fuse
命令判断是否安装。如果没有安装,执行以下步骤:
- 用root权限 执行
yum
或者apt-get
等包管理软件安装; - 下载上面的libfuse源码包,自行编译(
./configure && make
);用root权限make install
之后会自行加载内核模块。 - 由于低版本的Linux系统内核版本比较低,bosfs进程在运行过程中容易出现掉线或者其他问题。因此建议用户将操作系统升级到CentOS 7.0或者Ubuntu 14.04以及以上版本。
Ubuntu系统安装
-
安装bosfs所需要的依赖
下载libfuse源码包(上面已提供连接,如果fuse版本低于2.9.4请用上面的安装包) tar -xzvf fuse-2.9.4.tar.gz cd fuse-2.9.4 ./configure sudo make && sudo make install sudo apt-get install autoconf sudo apt-get install uuid-dev sudo apt-get install libssl-dev sudo apt-get install libcurl4-openssl-dev
注意:如果您的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++
- 下载bosfs-1.0.0.10.tar.gz源码包。
-
编译
tar -xzvf bosfs-1.0.0.10.tar.gz cd bosfs-1.0.0.10 sudo sh build.sh
注意:如果编译的时候显示'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将/usr/local/lib添加到链接路径
- ldconfig
Centos系统安装
由于BOS FS对环境有依赖,所以安装源代码包前需要安装依赖。以百度智能云虚机CentOS 6.5为例:
-
安装依赖
下载libfuse源码包(上面已提供连接, 如果fuse版本低于2.9.4请用上面的安装包) tar -xzvf fuse-2.9.4.tar.gz cd fuse-2.9.4 ./configure sudo make && sudo make install 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
注意:如果您的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++
-
解压并编译
(1). 解压BOS FS源码包
(2). 编译源代码:- 如果选择默认编译:直接执行
build.sh
; - 如果选择自定义编译:先进入cppsdk目录,按自定义参数执行
configure
,make
,make install
;然后再进入bosfs目录,按自定义参数执行configure
,make
,make install
。
最后获取二进制可执行文件bosfs。
(3). 如果编译的时候显示'rpl_malloc' was not declared in this scope 这是因为您的系统malloc与bosfs冲突, 解决办法将编译目录下configure.ac文件的AC_FUNC_MALLOC注释掉
注意:如果您的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
- 如果选择默认编译:直接执行