Ubuntu中安装OpenSSL

news/2024/10/2 12:20:32
一、前期准备
1.1 压缩包下载

在安装openssl之前,我们需要下载对应的压缩包
https://www.openssl.org/source/openssl-3.0.1.tar.gz

此压缩包可以选择win上下载后解压再复制到本地虚拟机中,也可以选择直接在本地虚拟机中使用wget命令进行下载。当然,在使用wget命令时,我们需要先安装wget。

可以通过以下命令在Linux中下载openssl的压缩包
如果要安装指定版本,请下载指定的版本,下载路径也进行修改

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

下载之后需要解压,最终得到名称为openssl-3.0.1的文件夹

tar -zxvf openssl-3.0.1.tar.gz
1.2 gcc, make等的安装

由于编译需要使用gcc和make命令,因此需先安装gcc与make

sudo apt-get install g++ make#需要先卸载Ubuntu自带openssl版本
sudo apt remove openssl -y
二、安装配置

在解压完压缩包和安装gcc,make之后,需要进入openssl对应的文件夹,才能进行后续操作

cd openssl-3.0.1
./config

执行完成后,会得到以下信息

之后继续在当前目录下执行make -j32和make install命令,得到如下结果。这里的-j32指的是用32线程编译,速度相较传统make更快一些

make -j32
make install

接着查看版本:
openssl version
#显示指定版本就按照成功

可能会报错

openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No

原因

没有把安装的ssl中libssl.so.3链接到/usr/lib和/usr/lib64中导致找不到

解决方案

查看是否安装有openssl,低版本ssl需要重新安装

whereis openssl

查询是否已有找不到的依赖

find / -name libssl.so.3
find / -name libcrypto.so.3

链接

# 提示前面的路径是自己执行make -j32安装openssl的文件路径,记得替换一下,后面路径是系统的路径,不用修改!
ln -s /home/huang/Desktop/openssl-3.0.1/libssl.so.3 /usr/lib/libssl.so.3
ln -s /home/huang/Desktop/openssl-3.0.1/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /home/huang/Desktop/openssl-3.0.1/libssl.so.3 /usr/lib/libcrypto.so.3
ln -s /home/huang/Desktop/openssl-3.0.1/libssl.so.3 /usr/lib64/libcrypto.so.3

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

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

相关文章

建发弘爱 X 袋鼠云:加速提升精细化、数字化医疗健康服务能力

厦门建发弘爱医疗集团有限公司(简称“建发弘爱”)创立于2022年,是厦门建发医疗健康投资有限公司的全资子公司,专业从事医疗健康领域的医疗服务。 建发弘爱通过医疗、健康及产业服务三大板块,为百姓提供医疗和健康全生命周期解决方案。以医疗机构为核心,管理及运营弘爱医院…

删除单向链表中数据最小的结点

删除单向链表中数据最小的结点(1)算法的基本设计思想 要找到链表中数据最小的结点,可以使用4指针法。具体步骤如下:定义4个指针,分别命名为MinNodeprev、MinNode、CurrentNodePrev、CurrentNode,MinNodeprev、CurrentNodePrev指向链表的头结点,MinNode、CurrentNode指向…

Java-线程-线程池

0.背景参考资料:Java线程池实现原理及其在美团业务中的实践在 Java 早期,每次创建线程时,都要涉及到线程的创建、销毁以及资源管理,这对于系统的性能和资源利用率是一种浪费。 因此,Java 提供了线程池的概念,以提高线程的管理效率和性能。资源管理优化:传统的线程创建和…

8.2版本Web端移动开发调试强制跳转新移动框架

解决方案: Common.config文件中增加配置项 <add key="MobileLoginType" value="1" /> 如下图其他注意事项: 没有配置MobileLoginType属性 或 MobileLoginType = "" 或 MobileLoginType = 2 都会执行重定向 MobileLoginType = 3 系…

Error: Cannot find module ‘D:\SoftSetupLoaction\nodejs\node_global\node_modules\npm\bin\npm-cli.js‘

Error: Cannot find module ‘D:\SoftSetupLoaction\nodejs\node_global\node_modules\npm\bin\npm-cli.js‘ 出现原因: 重新安装可装了nodejs和npm 网上查了很多方法,都建议重装,但是都没有效果(因为我就是重装之后出现的问题) 按照错误提示node_global找不到npm-cli.js,个人…

初探pinctrl子系统和GPIO子系统

前言: 在前面的led驱动程序和按键驱动程序中,无论是最传统的方法,还是总线设备驱动模型,还是基于设备树的总线设备驱动模型,都是直接操作寄存器的方法。驱动开发的本质确实是操作寄存器,但是一个芯片有几百个引脚,只是操作少数的几个引脚还好,如果是大量的引脚,比如LC…

PVE新增硬盘并扩容给 local分区

PVE安装在120G的固态硬盘,现在加了一块1T的机械硬盘作为虚拟机系统用,需要把磁盘扩容给 local分区 1、ssh连上pve,使用 lsblk 查看硬盘驱动器路径,我这里新加的硬盘是 sda,硬盘还未进行分区 2、fdisk /dev/sda,对硬盘进行分区操作,注意你自己的硬盘名称,千万小心不要搞…

《最新出炉》系列入门篇-Python+Playwright自动化测试-45-鼠标操作-下篇

1.简介 鼠标为我们使用电脑提供了很多方便,我们看到的东西就可以将鼠标移动过去进行点击就可以打开或者访问内容,当页面内容过长时,我们也可以使用鼠标滚轮来实现对整个页面内容的查看,其实playwright也有鼠标操作的方法。上一篇文章中已经讲解过鼠标的部分操作了,今天宏哥…