【openssl从3.1.0升级到3.1.1遇到的问题】

在从OpenSSL3.1.0升级到3.1.1时遇到versionOPENSSL_3.0.9notfound的问题,原因是未更新libssl.so.3和libcrypto.so.3。解决方法是将新版本的库文件复制到/usr/lib64并覆盖,然后进行编译安装,创建指向新版本openssl的软链接,并刷新命令库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

在openssl从3.1.0升级到3.1.1时,遇到一个**version 'OPENSSL_3.0.9' not found**的问题;
在这里插入图片描述

原因

原因是,我上一次修复BUG时,把openssl版本直接从1.1.1t升级到了3.1.0,需要的lib类库也需要从libssl.so.1.1更新到libssl.so.3,这一次同样是3版本,我以为不用更新了,所以出现了上面的错误;

解决办法

进入安装好的/usr/local/openssl311/lib64目录下(openssl311是自定义的,选择自己的安装目录),将libssl.so.3文件和libcrypto.so.3文件复制到/usr/lib64目录下,选择覆盖

升级过程

  • 下载:wget https://www.openssl.org/source/openssl-3.1.1.tar.gz,我下载到了/opt目录下
  • 解压:tar -xzvf openssl-3.1.1.tar.gz
  • 进入解压后目录:cd openssl-3.1.1
  • 配置安装目录:./config --prefix=/usr/local/openssl311
  • 编译安装:make && make install
  • 本地查看是否成功:/usr/local/openssl311/bin/openssl version -a
  • 出现问题,解决后可正常显示新版本,或无问题,继续下一步
  • 软链接:进入/usr/bin目录,查询openssl的软链接,如果指定的是旧版本,使用unlink /usr/bin/openssl命令取消软链接
  • 创建新软链接:ln -s /usr/local/openssl311/bin/openssl /usr/bin/openssl
  • 刷新命令库:ldconfig
  • 在任一目录直接验证:openssl version -a,可查看到新版本
<think>好的,我需要帮助用户将OpenSSL升级3.1.1版本。首先,用户提到了使用yum安装,但可能他们需要特定版本,所以源码编译更合适。记得检查系统版本,CentOS7的话步骤可能不同。用户提供的引用里提到备份现有配置,这点很重要,得提醒用户先备份。然后安装依赖,引用3提到用yum安装依赖包,比如gcc、perl这些。接下来,下载OpenSSL 3.1.1的源码,解压后配置安装路径,可能需要指定--prefix。编译安装后,替换旧版本,这里要注意动态库的更新,用ldconfig。最后验证版本,确保升级成功。可能遇到的问题比如依赖缺失,要检查并安装。还要注意升级后对其他软件的影响,比如Apache或Nginx可能需要重新配置。得把这些步骤分清楚,确保用户能一步步跟着操作。</think>以下是将OpenSSL升级3.1.1版本的详细步骤: ### 一、升级前准备 1. **备份现有配置** 执行`cp -r /usr/bin/openssl /opt/openssl_backup`和`cp -r /usr/lib64/openssl /opt/openssl_lib_backup`,防止升级失败导致系统异常[^2] 2. **检查当前版本** 通过`openssl version`查看现有版本(默认可能是1.0.2k) 3. **安装依赖项** ```bash sudo yum install gcc perl make zlib-devel pam-devel -y ``` 第三方依赖需通过yum安装[^3] ### 二、源码编译安装 1. **下载源码包** ```bash wget https://www.openssl.org/source/openssl-3.1.1.tar.gz tar -zxvf openssl-3.1.1.tar.gz && cd openssl-3.1.1 ``` 2. **配置安装路径** ```bash ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl ``` 3. **编译与安装** ```bash make -j$(nproc) && sudo make install ``` ### 三、系统环境配置 1. **创建软链接** ```bash sudo ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl sudo ln -sf /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/ sudo ln -sf /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/ ``` 2. **更新动态库** ```bash echo "/usr/local/openssl/lib64" | sudo tee /etc/ld.so.conf.d/openssl-3.1.1.conf sudo ldconfig ``` ### 四、验证安装 执行`openssl version`应显示: ``` OpenSSL 3.1.1 30 May 2023 (Library: OpenSSL 3.1.1 30 May 2023) ``` ### 注意事项 1. 若出现`error while loading shared libraries`报错,需检查软链接是否正确 2. 升级后需重启依赖OpenSSL的服务(如nginx、apache) 3. 推荐通过`export PATH=/usr/local/openssl/bin:$PATH`设置环境变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值