Linux系统命令无法使用(glib库相关问题)

embedded/2025/2/9 5:08:08/

1.背景描述

        Yum强制安装了一些软件,安装软件成功无报错,完成后不久突然发现系统出问题了,所有的命令无法使用了,如ls、mv、cat等基本命令报错。

relocation error:

/lib64/libpthread.so.0: symbol_libc_dl_error_tsd version GLIBC_PRIVATE not defined......

        重启系统之后,系统让循环输入用户名,不让输入密码,无法登陆了,远程也不让连接报错

2.原因分析

        依赖库出问题了,导致产生上述两个问题

3.解决过程

        (1)重启进入单用户模式

        (2)将只读(ro)修改为rw init=/sysroot/bin/sh  【ro后的‘\’为换行无需在意】

        (3)获取root权限

        (4)查看cat /var/log/messages 发现日志提示sendmail该命令执行时依赖库/lib64/libc.so.6 中不支持GLIBC_2.3.4版本 等等

        (5)查看libc.so.6 中支持的GLIBC版本 ,发现基本上都包含

strings /usr/lib64/libc.so.6|grep -E “^GLIBC*”

        (6) 检查/lib64/目录下libc.so.6 链接的源文件,发现该文件链接的源文件为 “glibc-2.27.so”

同时发现该目录下存在另一个低版本的 “glibc-2.17.so”

        --该目录下的 “glibm”文件链接的源文件是glibm-2.17.so

        --该目录下的 “glibdl”文件链接的源文件是glibm-2.17.so

        通过上面情况判断安装时更新了该库,后找同批服务器查看只有glibc-2.17.so的依赖库。

所以我直接删除glibc-2.27.so相关的文件,他的链接自动关联到了glibc-2.17.so

        (7)到此无法登陆系统的问题解决了

        后重启服务器,发现可以输入用户名和密码了,~~~成功登陆了系统,基本命令也能正常使用了。。。。

4.应用无法启动

        恢复应用时java命令报错

[root@localhost lib64]# java

Error: dl failure on line 893

Error: failed /data/jdk8u252-b09/jre/lib/amd64/server/libjvm.so, because /lib64/libm.so.6: 

symbol __strtof128_nan, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference

5.原因分析

         意思是javahome中的libjvm库调用 /lib64/libm.so.6,但是该库在libc.so.6 中没有被定义。

6.解决方式

        因为源文件还在所以将链接全部删除重新创建

rm -rf /lib64/libc.so.6

rm -rf /lib64/libm.so.6

rm -rf /lib64/libdl.so.6

LD_PRELOAD="/lib64/libm-2.17.so" ln -s /lib64/libm-2.17.so /lib64/libm.so.6

 LD_PRELOAD="/lib64/libc-2.17.so" ln -s /lib64/libc-2-2.17.so /lib64/libc.so.6

 LD_PRELOAD="/lib64/libdl-2.17.so" ln -s /lib64/libdl-2.17.so /lib64/libdl.so.6


http://www.ppmy.cn/embedded/160718.html

相关文章

redis01 - redis基础

Redis基础 文章目录 Redis基础一:Redis简介二:Redis七原则三:redis基本类型1:字符串类型1.1 概述1.2 三个常用命令1.3 其他常用命令1.4 应用 2:hash类2.1 简介2.2 命令2.3 应用 3:list类型3.1 概述3.2 四个…

GO、GSEA富集分析一网打进

富集分析是生物信息分析中快速了解目标基因或目标区域功能倾向性的最重要方法之一。其中代表性的计算方式有两种: 一是基于筛选的差异基因,采用超几何检验判断上调或下调基因在哪些GO或KEGG或其它定义的通路富集。假设背景基因数目为m,背景基…

WPS计算机二级•幻灯片的音视频表格与图形

听说这是目录哦 PPT表格的基本操作🧵选择合适的PPT数据图表🪀在PPT中插入图表并编辑图表数据📦插入视频和音频🎬插入剪辑视频和更改视频封面🔭PPT背景音乐设置🎻PPT如何使用图标📸妙用图片让PPT…

Deno vs Node.js:性能对比深度解析

1. 引言 Deno 和 Node.js 都是基于 V8 引擎的 JavaScript 运行时环境,然而它们在架构、模块管理、安全性和性能方面存在显著差异。Deno 由 Node.js 的原始作者 Ryan Dahl 开发,旨在解决 Node.js 设计上的一些问题,比如包管理、安全模型和 Ty…

PyTorch Geometric(PyG)机器学习实战

PyTorch Geometric(PyG)机器学习实战 在图神经网络(GNN)的研究和应用中,PyTorch Geometric(PyG)作为一个基于PyTorch的库,提供了高效的图数据处理和模型构建功能。 本文将通过一个节…

【R语言】写入数据

一、写入R语言系统格式的数据 R语言自带.RData和.rds两种数据格式。 通过使用save()函数和saveRDS()函数将R语言数据处理结果保存为此类数据。 # 将iris数据集保存为RData文件 save(listc("iris"), file"iris.RData") # 将iris数据集保存为rds文件 save…

python-leetcode-被围绕的区域

130. 被围绕的区域 - 力扣(LeetCode) class Solution:def solve(self, board: List[List[str]]) -> None:"""Do not return anything, modify board in-place instead."""if not board or not board[0]:returnrows, co…

【自学笔记】Python的基础知识点总览-持续更新

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Python基础知识总览1. Python简介2. 安装与环境配置3. 基本语法3.1 变量与数据类型3.2 控制结构3.3 函数与模块3.4 文件操作 4. 面向对象编程(OOP&#…