Linux 安装OpenSSL及解决遇到的问题

news2024/12/23 4:28:40

OpenSSL

  • 下载openssl安装包
  • 解压
  • 配置相应检查
  • 编译安装
  • 测试
  • 创建软链接
  • N次测试

下载openssl安装包

wget https://www.openssl.org/source/openssl-3.0.1.tar.gz

执行后如果拉不下来,出现证书过期
在这里插入图片描述
需要加上 --no-check-certificate 不做检查

wget https://www.openssl.org/source/openssl-3.0.1.tar.gz  --no-check-certificate

在这里插入图片描述

解压

tar -zxvf openssl-3.0.1.tar.gz

配置相应检查

./config --prefix=/opt/common/openssl-3.0.1

安装过程中会出现Can’t locate IPC/Cmd.pm in 错误

Can't locate IPC/Cmd.pm in @INC (@INC contains: /root/Downloads/openssl-3.0.1/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 . /root/Downloads/openssl-3.0.1/external/perl/Text-Template-1.56/lib) at /root/Downloads/openssl-3.0.1/util/perl/OpenSSL/config.pm line 18.
BEGIN failed--compilation aborted at /root/Downloads/openssl-3.0.1/util/perl/OpenSSL/config.pm line 18.
Compilation failed in require at /root/Downloads/openssl-3.0.1/Configure line 23.
BEGIN failed--compilation aborted at /root/Downloads/openssl-3.0.1/Configure line 23.

错误解决方案为参考报错解决方案
Linux安装openssl出现Can‘t locate IPC/Cmd.pm in 找不到perl

解决完这个问题之后重新配置就可以了

./config --prefix=/opt/common/openssl-3.0.1/openssl

编译安装

make
make install

测试

去到配置的指定目录下

cd /opt/common/openssl-3.0.1/openssl
./openssl -version

如果出现下面的错误 不需要管
在这里插入图片描述

创建软链接

ln -s /opt/common/openssl-3.0.1/openssl /usr/bin/openssl

然后继续测试

./openssl -version

出现了这个错

error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

使用ldd查看缺少那些库

ldd /opt/common/openssl-3.0.1/openssl

在这里插入图片描述
原因是动态路径找不到,加入动态库的路径

echo  /opt/common/openssl-3.0.1/openssl/lib64 >> /etc/ld.so.conf	
ldconfig /etc/ld.so.conf  #刷新动态路径

N次测试

./openssl -version

安装成功
在这里插入图片描述
装的挺麻烦的,浪费好几个小时,真是不容易。

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

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

相关文章

C语言char类型的存储

目录char是如何存储的char的类型char的取值范围例题char是如何存储的 字符型(char)用于储存字符(character),如英文字母或标点。但是char类型在内存中并不是以字符的形式储存,而是以ASII码的形式储存&…

python对接API二次开发高级实战案例解析:Zabbix API封装类实现获取认证密钥、所有主机组、所有主机、所有监控项和历史数据

Zabbix API是基于Web的API,作为Web前端的一部分提供。它使用JSON-RPC 2.0协议,这意味着两点: 该API包含一组独立的方法;客户端和API之间的请求和响应使用JSON格式进行编码。 传送门:Zabbix API官方文档 导入模块 在za…

单线程Reactor模型

单线程Reactor模型 Reactor模型只是对select\poll\epoll等网络模型的封装,本文讲解基于epoll实现Reactor模型 Reactor模型 单线程Reactor模型较为简单,如图: 服务器接收多个client连接请求后,统一交由Reactor处理,其…

Qt—QPainter基本图形绘制详解

QPainter描述1、QPainter 类在小部件和其他绘制设备上执行低级绘制。2、QPainter 提供了高度优化的功能来完成大多数图形GUI程序所需的工作。它可以画从简单的线条到复杂的形状。它还可以绘制对齐的文本和像素图。QPainter 可以对继承 QPaintDevice 类的任何对象进行操作。3、Q…

【追光者】2022年终总结,又是一个开始,新的挑战。愿你历尽千帆,归来仍是少年。

本文为我原创,未经授权,禁止转载,本文首发于 CSND博客。 这几天,前前后后,断断续续,一边写博客,一边学习,一边回顾我的2022,打磨了好几天,尽管还是有好多想说…

指针进阶之函数指针和函数指针数组

文章目录一、函数指针1.简单介绍2.回忆函数3.函数地址4.函数指针5.案例(1)案例一(2)案例二(3)案例三(4)案例四代码1代码2误区6.补充二、函数指针数组1.定义2.补充3.案例(…

剑指offer----C语言版----第十二天

目录 打印从1到最大的n位数 1.1 题目描述 1.2 Leetcode上的解题思路 1.3 考虑大数的问题 1.3.1 使用字符串模拟数字的加法 1.3.2 使用全排 打印从1到最大的n位数 原题链接:剑指 Offer 17. 打印从1到最大的n位数 - 力扣(LeetCode)1.1 题…

算法刷题打卡第58天:删除排序链表中的重复元素

删除排序链表中的重复元素 难度:简单 给定一个已排序的链表的头 head ,删除所有重复的元素,使每个元素只出现一次。返回已排序的链表 。 示例 1: 输入:head [1,1,2] 输出:[1,2]示例 2: 输入…

Cesiumlab对人工模型、建筑矢量面和BIM模型的处理参数设置 CesiumLab系列教程

CesiumLab中将人工模型(fbx、obj)、建筑矢量面(shp)和BIM模型(clm)的处理都集中在一起,统一使用通用模型处理。 输入文件部分,加载文件在这里不在赘述,输入了文件后&…

陪诊系统搭建,陪诊平台应当具备什么功能?

随着近些年来市场的变化,陪诊服务也在慢慢的受到人们的关注,自从有了陪诊系统之后,帮助了许许多多独立就医不便的人群,给了像是搞不清就诊流程的老年人、家人不方便陪伴的孕妇、残障人士,以及需要陪伴就医的独居人士等…

上海市“专精特新”中小企业和杨浦区“专精特新”中小企业给予5万元和3万元资助

杨浦区“专精特新”中小企业认定一、主管部门杨浦区商务委员会二、政策依据《关于印发<杨浦区“专精特新”中小企业培育工程实施办法>的通知》&#xff08;杨商务委规〔2018〕1号&#xff09;《关于组织推荐2021年度杨浦区“专精特新”中小企业申报(复核)的通知》三、扶持…

【Qt】加载.ui转化的.h头文件显示窗体

【Qt】加载.ui转化的.h头文件显示窗体1、背景2、实例3、验证1、背景 将.ui文件转化为.h头文件参考如下博客&#xff1a; 【Qt】将QtDesigner生成的.ui文件转化为.h头文件 https://jn10010537.blog.csdn.net/article/details/128589666其中生成的ui_widget.h头文件内容如下&am…

TensorFlow之超级参数调优

Keras技术框架提供工具类库&#xff0c;用于对TensorFlow程序相关的超级参数进行调优&#xff0c;为机器学习选择正确的超级参数集合的过程被称之为超级参数调优。 超级参数是指用于治理一个机器学习模型的训练过程及其拓扑结构的变量&#xff0c;这些变量在整个训练过程中保持…

尚医通-项目启动过程

1.先启动Redis&#xff1a; redis-server redis.conf & 2.启动docker&#xff1a; systemctl start docker 3.进入mongo容器&#xff1a; docker exec -it mymongo /bin/bash 4.使用MongoDB客户端进行操作 mongo 5.启动nginx&#xff1a;cmd 输入命令nginx 前期使…

【Kotlin】空安全 ③ ( 手动空安全管理 | 非空断言操作符 !! | 使用 if 语句判空 )

文章目录一、非空断言操作符 !!二、使用 if 语句判空一、非空断言操作符 !! Kotlin 中的 可空类型 变量 , 在运行时 可以选择 不启用 安全调用 操作 , 在调用 可空类型 变量 成员 与 方法 时 , 使用 非空断言操作符 !! , 如果 可空类型 变量为 空 , 则 直接抛出 空指针异常 K…

部署k8s集群

环境准备准备三台虚拟机&#xff0c;建议最小硬件配置&#xff1a;2核CPU、2G内存、20G硬盘 &#xff0c;可以访问外网&#xff0c;&#x1f4a1;ps&#xff1a;以下命令在三台虚拟机上都要执行一遍&#xff0c;直到kubeadm init设置虚拟机hostname sudo hostnamectl set-hostn…

性能优化系列之『混合式开发:小程序内核及优势介绍』

文章の目录一、愿景二、技术优势三、底层内核四、行业背景五、选型建议写在最后一、愿景 触手可及&#xff1a;用户扫一扫或者搜一下即可打开应用用完即走&#xff1a;不用关心是否安装太多应用 二、技术优势 H5 相比 App 开发&#xff0c;开发门槛更低优于 H5&#xff0c;接…

指针进阶篇(1)

目录 &#x1f914; 前言&#x1f914; 一、&#x1f60a;字符指针&#x1f60a; 二、&#x1f61c;指针数组&#x1f61c; 三、&#x1f61d;数组指针&#x1f61d; 3.1数组指针的定义 3.2&数组名VS数组名 3.3数组指针的使用 四、&#x1f31d;数组参数&#xff0c…

LeetCode算法之----回溯

目录 【一】前言 【二】全排列 【三】电话号码的字母组合 【四】括号生成 【五】组合总和 【六】子集 【七】总结 【一】前言 回溯算法采用试错的思想&#xff0c;尝试分步的来解决一个问题。在分步解决问题的过程中&#xff0c;当它通过尝试发现现有的分步答案不能得到有效的…

helm、k8s dasboard、rancher、kubesphere介绍及使用

文章目录1. helm 安装及使用概述1.1 helm 安装1.1.1 添加仓库1.2 helm 常用命令2. dashboard 部署使用2.1 安装helm repo 源2.2 安装dashboard2.3 查看dashboard 运行状态2.4 创建dashboard-admin.yaml文件2.5 创建登录用户2.6 查看admin-user账户的token2.7 登录dashboard2.8 …