当前位置: 首页 > news >正文

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

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.lryc.cn/news/533841.html

相关文章:

  • Qt修仙之路2-1 仿QQ登入 法宝初成
  • DeepSeek-V3 论文解读:大语言模型领域的创新先锋与性能强者
  • 配置#include “nlohmann/json.hpp“,用于处理json文件
  • 索引失效的14种常见场景
  • 解决com.kingbase8.util.KSQLException: This _connection has been closed.
  • openAI官方prompt技巧(二)
  • 【非 root 用户下全局使用静态编译的 FFmpeg】
  • 【嵌入式 Linux 音视频+ AI 实战项目】瑞芯微 Rockchip 系列 RK3588-基于深度学习的人脸门禁+ IPC 智能安防监控系统
  • 前端布局与交互实现技巧
  • idea 找不到或者无法加载主类
  • Flink 调用海豚调度器 SQL 脚本实现1份SQL流批一体化的方案和可运行的代码实例
  • ES6 Map 数据结构是用总结
  • go结构体详解
  • 机器学习-关于线性回归的表示方式和矩阵的基本运算规则
  • kafka 3.5.0 raft协议安装
  • 后台管理系统网页开发
  • 使用一个大语言模型对另一个大语言模型进行“调教”
  • golang使用sqlite3,开启wal模式,并发读写
  • 如何利用maven更优雅的打包
  • 音频进阶学习十二——Z变换一(Z变换、收敛域、性质与定理)
  • cursor指令工具
  • MySQL 主从读写分离实现方案(一)—MariaDB MaxScale实现mysql8读写分离
  • 阿里云 | DeepSeek人工智能大模型安装部署
  • LLAMA-Factory安装教程(解决报错cannot allocate memory in static TLS block的问题)
  • STM32 CUBE Can调试
  • MySQL数据存储- 索引组织表
  • 基于STM32设计的仓库环境监测与预警系统
  • VSCode便捷开发
  • 理解 Maven 的 pom.xml 文件
  • docker数据持久化的意义