最近服务器迁移到了腾讯云-香港机房,由于CentOS 官方已于2022年01月01日停止维护支持CentOS 8,CentOS7也即将于2024年6月30日停止更新,所以选用的是CentOS8的替代版本OpenCloudOS 8 ,在构建索引时遇到以下报错。

indexer: /lib64/libcrypto.so.10: version libcrypto.so.10' not found (required by /usr/lib64/mysql/libmysqlclient.so.18) </p> <p> indexer: /lib64/libssl.so.10: versionlibssl.so.10' not found (required by /usr/lib64/mysql/libmysqlclient.so.18s

经过查找网络资料,最终通过以下方案解决,现把解决过程记录下来: 起因 OpenCloudOS 8默认openssl版本为1.1(可通过openssl version可以查看版本为1.1),执行一些程序提示libcrypto.so.10库不匹配。

分析 OpenSSL是Linux的基础库,升级会带来不少问题,比如:weg, curl提示找不到libcrypt.so.10和libssl.so.10库

通过资料分析: 这个问题就是因为升级OpenSSL导致的,新版本的SSL把1.1版本的库替换了老的1.0库,导致老的程序不兼容。因此需要让老程序也可以继续工作,不至于全部升级一遍。

解决办法: 从本机或者其他机器上找到libcrypt.so.1.0和libssl.so.1.0文件,复制到问题机器的/lib64目录,在创建1.0版本的符号链接。

在具有正常1.0版本的同版本机器:

scp libcrypto.so.1.0.2k <目标机器>:/usr/lib64/

scp libssl.so.1.0.2k <目标机器>:/usr/lib64/

在问题机器上恢复链接

ln -s /usr/lib64/libcrypto.so.1.0.2k /usr/lib64/libcrypto.so.10

ln -s /usr/lib64/libssl.so.1.0.2k /usr/lib64/libssl.so.10

通过ldd /usr/bin/curl 可以看到程序链接的位置,在通过符号链接来解决。

版权声明:本站部分文章为原创,部分内容来自网络转载,如有任何问题,可联系本站本站管理员邮箱!

本文链接:http://www.btdiv.com/article/libssl/