【C++】CentOS环境搭建-升级 OpenSSL

news2024/11/16 11:52:04

【C++】CentOS环境搭建-升级 OpenSSL

  • 下载 OpenSSL 源代码
  • 解压源代码
  • 进入源代码目录
  • 配置编译选项
    • 报错Can't locate IPC/Cmd.pm in @INC (@INC contains: /usr/local/openssl-3.3.0/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /usr/local/openssl-3.3.0/external/perl/Text-Template-1.56/lib) at /usr/local/openssl-3.3.0/util/perl/OpenSSL/config.pm line 19.
  • 编译和安装
  • 更新环境变量:
  • 更新环境

检查 OpenSSL 版本:
首先,检查你系统上安装的 OpenSSL 版本。在终端中运行以下命令:

bash
openssl version
如果版本低于 1.1.1,你需要升级 OpenSSL。

升级 OpenSSL:
如果你的 OpenSSL 版本低于 1.1.1,你需要升级它。这通常涉及到安装新版本的 OpenSSL,并且可能需要编译安装,因为 CentOS 的默认软件仓库中可能不包含最新版本。

你可以尝试使用 CentOS 的软件源(如 EPEL 或其他第三方源)查找更新版本的 OpenSSL,或者从 OpenSSL 官方网站下载源代码并编译安装。

编译安装 OpenSSL 的基本步骤可能如下:

bash

下载 OpenSSL 源代码

cd /usr/local/
wget https://www.openssl.org/source/openssl-3.3.0.tar.gz

在这里插入图片描述

解压源代码

tar -xzvf openssl-3.3.0.tar.gz

进入源代码目录

cd openssl-3.3.0

配置编译选项

./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib

报错Can’t locate IPC/Cmd.pm in @INC (@INC contains: /usr/local/openssl-3.3.0/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /usr/local/openssl-3.3.0/external/perl/Text-Template-1.56/lib) at /usr/local/openssl-3.3.0/util/perl/OpenSSL/config.pm line 19.

问题原因:这个错误表明 Perl 脚本在尝试加载 IPC/Cmd.pm 模块时失败了,因为它在 @INC 数组列出的目录中没有找到这个模块。@INC 数组包含了 Perl 解释器搜索模块时所使用的目录列表。

IPC/Cmd.pm 是 Perl 的一个标准库模块,它提供了一些用于执行外部命令的接口。如果这个模块缺失,那么可能是因为 Perl 的安装不完整,或者环境配置有问题。

yum install perl-IPC-Cmd

安装这个包就解决问题了

编译和安装

make
sudo make install

注意:编译安装 OpenSSL 可能会覆盖系统默认的 OpenSSL,这可能会影响依赖旧版本的其他软件。务必谨慎操作,并在必要时备份你的系统。

更新环境变量:

编辑您的 shell 配置文件(~/.bash_profile),并添加以下行:

export LD_LIBRARY_PATH=/usr/local/openssl/lib64:$LD_LIBRARY_PATH
export CPATH=/usr/local/openssl/include:$CPATH
export LIBRARY_PATH=/usr/local/openssl/lib64:$LIBRARY_PATH

更新环境

mv /usr/bin/openssl bak.openssl
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
source ~/.bash_profile

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1700723.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python编程-后端开发之Django5应用请求处理与模板基础

Python编程-后端开发之Django5应用请求处理与模板基础 最近写项目,刚好用到了Django,现在差不多闲下来,个人觉得单体项目来讲django确实舒服,故写此总结 模板语法了解即可,用到了再看,毕竟分离已经是主流操…

幼儿园管理系统-收退费管理原型模版

幼儿园管理系统是专为幼儿园打造,涵盖学校儿童、职工人事、收费财务、后勤管理、办公教务、膳食分析、体检保健、文档管理等各方面内部管理的幼儿园专家系统。 本次分享给大家的是雅居乐教育集团幼儿园园务管理系统中“收退费管理”模块的设计文档。收退费管理是幼儿…

报错:c2665 ”loadimage“没有重载函数可以转换所有参数类型

解决方法: 右键项目选择属性-》高级-》字符集-》使用多字节字符集-》确定

IO多路复用模型原理

在linux没有实现epoll事件驱动机制之前,常规的手段是选择select和poll等IO多路复用的方法来实现并发服务程序。但是在大数据、高并发、集群情况下,select和poll的性能瓶颈就出现了,于是epoll就诞生了 Select select函数监视的文件描述符分三类:writefds、readfds和exceptf…

国内首个智能体生态大会!2024百度万象大会定档5月30日

最近,百度悄悄「上新」了几个AI神器。 百度搜索上线「互动」功能,可以实时问答,查询信息就像聊天一样简单,还可以艾特相关智能体,更细致精确地满足个性化需求,比如去新加坡旅游,可以让新加坡旅…

【源码】2024心悦搜剧源码百万级网盘资源

1、一键转存他人链接:就是将别人的分享链接转为你自己的 2、转存心悦搜剧资源:就是将心悦搜剧平台上的所有资源都转成你自己的 3、每日自动更新:自动转存每天的资源并入库 前端uin-app,后端PHP,兼容微信小程序

必看!企业数字化转型的组织架构与人员配置方案!

数字化浪潮汹涌而来,企业如何在这波大潮中破浪前行?关键在于构建合理的组织架构和配备合适的人员!今天,我们就为大家带来蚓链实践经验总结的方案,让你的企业数字化转型之路更加顺畅! 组织架构: …

【数学建模】碎纸片的拼接复原

2013高教社杯全国大学生数学建模竞赛B题 问题一模型一模型二条件设立思路 问题求解 问题一 已知 d i d_i di​为第 i i i张图片图片的像素矩阵 已知 d i d_i di​都是 n ∗ m n*m n∗m二维矩阵 假设有 N N N张图片 模型一 我们认为对应位置像素匹配为 d i [ j ] [ 1 ] d k…

引入安全生产培训云平台,实现“人人讲安全、个个会应急”

引入安全生产培训云平台,旨在全面提升企业及员工的安全意识与应急处理能力,通过数字化手段实现“人人讲安全、个个会应急”的目标。这一平台的构建和应用,不仅促进了安全知识的普及,还极大提高了培训的效率与效果。以下是该平台几…

【赠书第24期】Java项目开发实战(微视频版)

文章目录 前言 1 项目选择与需求分析 1.1 项目选择 1.2 需求分析 2 系统设计 2.1 系统架构设计 2.2 数据库设计 2.3 接口设计 3 编码实现 3.1 环境搭建 3.2 编码规范 3.3 编码实现 4 测试与部署 4.1 单元测试 4.2 系统测试 4.3 部署与上线 5 总结与展望 6 推…

挖矿宝藏之系统日志

什么是日志? 日志是指系统或应用程序在运行过程中产生的记录文件,这些文件记录了系统或应用程序的运行情况、错误信息、用户操作等。 日志的主要作用 记录信息:日志可以记录系统或应用程序的启动、运行、停止等状态信息,以及用户的…

262 基于matlab的一级倒立摆仿真

基于matlab的一级倒立摆仿真,在对一级倒立摆进行数学建模的基础上,对模型进行线性化,得到其状态空间模型,利用二次型最优控制方法得出控制率。输出角度和位置优化曲线。程序已调通,可直接运行。 262 一级倒立摆仿真 状…

adb环境搭建

1.安装jdk adb正常使用的前提条件:安装jdk,网上很多可以找找,或者翻翻之前记录的。 2.安装adb 2.1.下载Android_sdk 通过网盘下载,网盘链接:https://pan.baidu.com/s/1r4Y_2-nkKs2a2h9mdrueWg,e5wv。下载成…

关系代数、函数依赖、Armstrong公理及软考试题解析

注:本文面向于软考高级—系统架构设计师,具体来说是数据库部分,知识点偏零碎化。想要系统学习数据库原理的,可考虑去看《数据库原理》,清华大学出版社或其他出版社皆可。 概述 概念 关系,就是二维表。特…

2024年上半年软件设计师试题及答案(回忆版)

目录 基础知识选择题案例题1.缺陷识别的数据流图2.球队、球员、比赛记录的数据库题3.用户、老师、学生、课程用例图4.算法题5.程序设计题 基础知识选择题 树的节点,度为4的有4个,度为3的有8个,度为2个有6个,度为1的有10个&#x…

spring boot整合j2cache 配置项目全局键标识 帮助定位是哪个项目产生的缓存

我们利用 j2cache 存进 redis的缓存 key 可以加个全局标识 这样 到时看缓存 方便别人看是哪个项目存进去的 例如 这里 我们存入的 book 我们 keys * 查看 就知道是个book 但不知道具体来自那套系统 我们在 j2cache.properties 中加上 redis.namespace 项目全局键标识 我们…

【方法】ZIP压缩文件的密码如何设置和取消?

ZIP是一种常见的压缩文件格式,今天来分享一下,ZIP压缩文件如何设置密码保护,以及如何取消密码,不清楚的小伙伴一起来看看吧! 设置ZIP文件密码: 想要给ZIP压缩包设置密码,需要用到支持ZIP格式的…

移动云主机ECS搭建Kubernetes集群:详细步骤与指南

目录 云主机 ECS:云计算的强大引擎什么是云主机ECS?为何选择云主机ECS? 使用移动云ECS进行Kubernetes集群搭建1. 环境准备2. 安装步骤2.1 在每一个节点上执行的操作2.1.1 系统准备2.1.2 安装Docker2.1.3 安装Kubernetes的安装组件 2.2 在Mast…

一篇文章讲透排序算法之堆排序

1.前言 在学习这篇文章之前,请大家先学习堆这一数据结构中堆的概念,向下调整算法,向下调整建堆。 有关堆的实现方式请参考:堆的实现 堆排序就是利用堆里面学习过的知识点进行排序,如何进行排序呢? 2.堆…

linux centos nginx配置浏览器访问后端(tomcat日志)

1、配置nginx访问tomcat日志路径 vim /usr/local/nginx/conf/nginx,conflocation ^~ /logs {autoindex on;autoindex_exact_size on;autoindex_localtime on;alias /home/tomcat/apache-tomcat-9.0.89-1/logs;}###配置讲解### 1、location ^~ /logs { … }: location&#xf…