强制卸载openssl-libs导致系统异常的修复方法

openssl升级比较麻烦,因为很多软件都会依赖它,一旦强制卸载(尤其是openssl-libs.rpm),就可能导致很多命令不可用,即使想用rpm命令重新安装都不行。

所以,除非万不得已,否则不要轻易去卸载openssl-libs。而且,以下修复方法也不见得对每个场景都有效。

我之所以要强制卸载openssl-libs,也是因为要升级它,升级包安装之后,版本没有变化,所以,一怒之下,把openssl相关的包全都给强制卸载了,然后悲剧就发生了。连重装的机会都没有了,输入rpm命令,直接报如下错误:

bash 复制代码
rpm: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory,

其实,我干这种事情也不是一次两次,因为是实验室环境,所以可以放心大胆的折腾。每次搞挂了,就重装系统。突然有一天想试试能不能修复一下,于是搜索各种案例,最终发现如下方法对我有效。但,前提是,当前终端窗口不关闭。如果终端窗口也关闭了,那估计就没有挽救的机会了,考虑重装吧,😂。

言归正传,进入修复步骤:

1、用whereis libcrypto 命令验证符号链接目标文件是否存在,如果whereis命令不好用,那就换find / -name libcrypto.so 2>/dev/null 命令来查找。

如果能找到,则在/usr/liba64下有该文件:

bash 复制代码
[root@~ lib64]# ll |grep   libcrypto.so
lrwxrwxrwx   1 root root       33 May 16 19:30 libcrypto.so -> /usr/openssl/lib/libcrypto.so.1.1

能找到上面的文件,则说明文件并没有被删掉,可能是动态链接库的信息没有了。

2、验证库是否被加载:

bash 复制代码
ldconfig -p | grep libcrypto.so.1.1

如果输出为空,那就需要重新更新动态链接库缓存。将该路径添加到动态链接库配置中:

bash 复制代码
echo "/usr/openssl/lib" > /etc/ld.so.conf.d/openssl.conf

然后更新动态链接库缓存:

bash 复制代码
ldconfig

再次验证库是否已被加载:

bash 复制代码
ldconfig -p | grep libcrypto.so.1.1

如果有输出结果,那就大功告成了。

相关推荐
凯子坚持 c17 小时前
Redis 数据库的服务器部署与 MCP 智能化交互深度实践指南
服务器·数据库·redis
肉清17 小时前
linux自用命令
linux·服务器·前端
星星泡饭29217 小时前
工业标识自动化——MARKING Configurator 从数据导入到热转移打印的全流程教程
运维·自动化·菲尼克斯
Xの哲學17 小时前
Linux链路聚合深度解析: 从概念到内核实现
linux·服务器·算法·架构·边缘计算
中科米堆17 小时前
自动化大尺寸批量3D检测,自动化三维扫描系统实现钢板支架在线检测-中科米堆CASAIM
运维·3d·自动化·3d全尺寸检测
cetcht888817 小时前
35kV-750kV 变电站集中监控系统(涵盖火灾消防、安全防卫、动环、智能锁控、智能巡视等) 设备配置与布置
大数据·运维·物联网·机器人·能源
wanhengidc17 小时前
具有ARM架构云手机的功能
运维·服务器·arm开发·科技·智能手机·云计算
图乐aj17 小时前
MySQL 运维之日常运维篇 二
运维·mysql
wanhengidc17 小时前
巨 椰 云手机离线多开
运维·服务器·科技·智能手机·云计算
代码游侠17 小时前
应用——管道与文件描述符
linux·服务器·c语言·学习·算法