问题:在容器内使用ossfs挂载OSS对象存储,安装和配置都按照官方教程很顺利,但是挂载的时候出现了问题,libcrpyto1.0.0动态库缺失。
原来是下载错了安装包,官网有Ubuntu 22.04的安装包,所以该问题不存在,下述内容仅提供类似问题的思路。!!!
但是遇到了容器内挂载OSS的另一个问题,需要访问FUSE文件系统的权限,也就是启动容器的时候要配置privilege过着cap-add。
ossfs: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
查了一圈,应该是Ubuntu 22.04使用的OpenSSL是3.0版本的,所以没有这个库。安装低版本的OpenSSL是一种方法,但是怕造成其他依赖问题,所以可以编译低版本的OpenSSL,然后导出生成的libcrypto库。
OpenSSL源码下载地址在这里:https://openssl-library.org/source/old/1.0.2/index.html
mkdir $HOME/opt && cd $HOME/opt
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
tar -zxvf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o
./config && make && make test
mkdir $HOME/opt/lib
mv $HOME/opt/openssl-1.1.1o/libcrypto.so.1.0.2 $HOME/opt/lib/
mv $HOME/opt/openssl-1.1.1o/libssl.so.1.0.2 $HOME/opt/lib/
参考:
标签:opt,ossfs,libcrypto,OSS,openssl,挂载,HOME From: https://www.cnblogs.com/xiaoma2018/p/18459049