linux源码编译升级安装openssl3.0.1导致系统启动失败的问题解决

news2025/1/12 14:15:00

前两天在安装curl的时候,提示openssl版本太老了,原有的版本是openssl1.0的版本,需要将其升级到openssl3的版本。
直接使用命令行sudo apt install默认安装的还是openssl1.1.1版本,因此决定使用源码自行安装。
具体的安装过程就不赘述,总之还是./configuremakemake install,三步走。
另外,当时安装之前,如果没记错,应该是还执行了sudo apt remove --purge openssl的命令的。
但问题就出在安装完成后,重启电脑发现进不了系统了。
不慌,源码编译本身就容易走钢丝,把系统搞崩溃那已经是家常便饭,所以对于初学者来说,建议在虚拟机上开始入手。
根据经验判断,通常这种情况,可能的原因有两个。

  1. openssl升级后,把某些别的软件对openssl老版本的依赖关系给破坏了,导致一些关键软件启动不了。
  2. 有可能是升级以后,系统找不到openssl库了。

下面开始修复系统。
系统启动的时候进入recovery mode。进入单系统模式。
进到/usr/local目录下,因为源码安装一般的默认目录就是在/usr/local目录下。果然在该目录下,出现了一个叫做openssl的文件夹。
在这里插入图片描述
打开这个文件夹里面查看
在这里插入图片描述
看到文件夹里面的内容,基本上原因已经清晰了,大概率是因为这个openssl文件夹中的bin,include,lib64这几个核心的文件夹没写入环境变量的,导致的里面的执行文件、库文件、头文件,都找不到导致的。
因此,解决的方法也简单,可以有两个思路

  1. 在编译安装的时候选择目录到写入了环境变量的目录下
  2. 将openssl下的内容,赋值粘贴到/usr/bin,/usr/include,/usr/lib64下。
  3. 将这个文件夹中的bin,include,lib64写入环境变量。
  4. 或者将这三个文件夹软链接到写入了环境变量的目录下。
    相比较而言,我采用了第4种方法。
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so.3 /usr/lib64/libssl.so
ln -s /usr/local/openssl/lib/libcrypto.so.3 /usr/lib64/libcrypto.so

除了软链接外,还需要解决动态库的问题。

echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v

这个时候可以通过

openssl version -a

查看是否输出openssl的版本号为更新后的版本号。如输出正确,则问题解决。
在这里插入图片描述

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

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

相关文章

webpack打包批量替换路径(string-replace-webpack-plugin插件)

string-replace-webpack-plugin 是一个用于在 webpack 打包后的文件中替换字符串的插件。它可以用于将特定字符串替换为其他字符串,例如将敏感信息从源代码中移除或对特定文本进行本地化处理。比如文件的html、css、js中的路径地址想批量更改一下 http://localhost:…

海德堡UV灯电源维修eta Plus Elc PE22-400-210

uv灯电源维修故障包括: 1、电压不稳:检查uv打印机的电压,设置一个稳压箱即可。 2、温度过高:uv打印机温度过高也会影响uv灯,可以更换为水冷式循环降温。 3、水箱里的信号线接触不好:将两边的信号线对调&…

leetcode刷题记录07(2023-04-30)【二叉树展开为链表 | 买卖股票的最佳时机 | 二叉树中的最大路径和(递归) | 最长连续序列(并查集)】

114. 二叉树展开为链表 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。 展开后的单链表应该与二叉树 先序遍历 顺…

ArcGIS批量计算shp面积并导出shp数据总面积(建模法)

在处理shp数据时, 又是我们需要知道许多个shp字段的批量计算,例如计算shp的总面积、面积平均值等,但是单个查看shp文件的属性进行汇总过于繁琐,因此可以借助建模批处理来计算。 首先准备数据:一个含有多个shp的文件夹。…

前后端分离nodejs+vue+ElementUi网上订餐系统69b9

课题主要分为两大模块:即管理员模块和用户模块,主要功能包括个人中心、用户管理、菜品类型管理、菜品信息管理、留言反馈、在线交流、系统管理、订单管理等; 运行软件:vscode 前端nodejsvueElementUi 语言 node.js 框架:Express/k…

Lumerical------按键中断程序执行

Lumerical------中断程序执行 引言正文 引言 在 Lumerical 中,很多时候我们需要通过 sweep 的方式来获取我们想要的结果,然而,有时候当我们运行程序后发现书写的脚本有问题时,我们想要强行终止程序的执行,该怎么办呢&…

代码随想录-刷题第四十二天

0-1背包理论基础 0-1背包问题介绍 0-1背包问题:有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 0-1背包问题可以使用回溯法进…

Collector收集器的高级用法

Collectors收集器的高级用法 场景1:获取关联的班级名称 原先如果需要通过关联字段拿到其他表的某个字段,只能遍历List匹配获取 for (Student student : studentList) {Long clazzId student.getClazzId();// 遍历班级列表,获取学生对应班级…

【ArkTS入门】ArkTS开发初探:语言特点和开发特点

什么是ArkTS? ArkTS是一个为鸿蒙组件而生的框架,语法亲人好用。基于TypeScript,ArkTS拓展了声明式UI、状态管理等的能力,从本质上来讲,是TypeScript的扩展,主要服务于前端。 ArkTS的开发可以满足“一次开…

vue-cli3/webpack打包时去掉console.log调试信息

文章目录 前言一、terser-webpack-plugin是什么?二、使用配置vue-cli项目 前言 开发环境下,console.log调试信息,有助于我们找到错误,但在生产环境,不需要console.log打印调试信息,所以打包时需要将consol…

【React源码 - ReactDom.render发生了什么】

在React开发中,在入口文件我们都会执行ReactDom.render来讲整个应用挂载在主document中,那其中发生了什么,React是如何讲我们写的JSX代码,一步一步更新Fiber进而挂载渲染的呢。本文主要是基于react17.0.2的源码以及自己的理解来简…

thinkphp+vue+mysql企业车辆管理系统m117l

“企业车辆管理系统”是运用php语言和vue框架,以Mysql数据库为基础而发出来的。为保证我国经济的持续性发展,必须要让互联网信息时代在我国日益壮大,蓬勃发展。伴随着信息社会的飞速发展,企业车辆管理系统所面临的问题也一个接一个…

大数据背后的绿色收割:基于Hadoop的农产品价格信息智能分析

大数据背后的绿色收割:基于Hadoop的农产品价格信息智能分析 引言正文1. 数据获取与准备2. 数据清洗与处理3. Hadoop数据分析引擎的运用4. MySQL数据库的集成5. 创新性的可视化6. 结论与展望 结语 引言 随着信息技术的不断发展,农业领域也在数字化的浪潮…

C++ Primer Plus----第十二章--类和动态内存分布

本章内容包括:对类成员使用动态内存分配;隐式和显式复制构造函数;隐式和显式重载赋值运算符;在构造函数中使用new所必须完成的工作;使用静态类成员;将定位new运算符用于对象;使用指向对象的指针…

鸿蒙(HarmonyOS 3.1) DevEco Studio 3.1开发环境汉化

鸿蒙(HarmonyOS 3.1) DevEco Studio 3.1开发环境汉化 一、安装环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、设置过程 打开IDE,在第一个菜单File 中找到Settings...菜单 在Setting...中找到Plugins…

毅速:一文说清3D打印随形水路的优势

3D打印发展如火如荼,对于模具行业来说,3D打印对模具水路的改变将产生哪些影响? 优化水路设计。通过3D打印技术,可以快速制造出复杂的内部结构和任意几何形状的模具,从而摆脱传统方法对水路加工的诸多限制。设计师可以…

准备用vscode代替sourceinsight

vscode版本1.85.1 有的符号,sourceinsight解析不到。 看网上说vscode内置了ripgrep,但ctrlshiftf在文件里查找的时候,速度特别慢,根本不像ripgrep的速度。ripgrep的速度是很快的。 但今天再查询,速度又很快了&#x…

mac node基本操作

1 查看所有版本 npm view node versions输出 2 查看已经安装的版本 n list3 安装指定版本 sudo -E n 16.0.04 切换版本 sudo n 16.0.05 查看版本 node -v

[ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择

文章目录 一、前言二、Amazon SNS 服务(Amazon Simple Notification Service)三、Amazon SQS 服务(Amazon Simple Queue Service)四、SNS 与 SQS 的区别(本文重点)4.1 基于推送和轮询区别4.2 消费者数量对应…

2024年PMP考试新考纲-PMBOK第七版-【模型、方法和工件】真题解析

今天我们继续来看第七版PMBOK的考题,前面已经介绍了新考纲下最近几年价值交付系统、项目管理原则、项目绩效域、裁剪方面的部分真题和详细解析,今天来看PMBOK第七版的第四部分【模型、方法和工件】这个章节相关的真题。 PMBOK第七版中专门把模型、方法和…