Linux之libc.so.6软链接错误导致ls等基础命令无法使用

Linux系统
294
linux
linux 举报
2023-11-09

Linux之libc.so.6软链接错误导致ls等基础命令无法使用

有一台服务器曾经执行了glibc版本升级,升级失败后回退到了glibc2.17版本,升级后产生的glibc2.25版本文件保留在服务器上没有删除。

1、故障状态

  此时输入ls,find,vim等基础命令全部会报错“/lib64/libpthread.so.0: symbol __libc_dl_error_tsd, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference”

查看glibc版本

  执行ldd --version命令发现可以执行,glibc版本还是2.17,实际上测试一些lib库的软链接错误链接到了2.25版本。

4、重建libc.so.6的软链接

  使用ln -s命令创建软链接需要依赖libc.so.6,但是如果libc.so.6存在又无法创建软链接,删除后没有libc.so.6了,ln命令执行又会报错。

幸运的时还有sln这个命令。


[root@s146 lib64]# sln /usr/lib64/libc-2.17.so /lib64/libc.so.6


  当然仅仅这一个软链接是不够的。


[root@s146 lib64]# sln /usr/lib64/ld-2.17.so /usr/lib64/ld-linux-x86-64.so.2

[root@s146 lib64]# sln /usr/lib64/libm-2.17.so /usr/lib64/libm.so.6


这三个软链接更新后,ls等基础命令不再报错。总算是松了一口气。

[root@s146 lib64]# which ls

alias ls=‘ls --color=auto’

/usr/bin/ls

[root@s146 lib64]# ls -h |grep “2.25”

ld-2.25.so

libBrokenLocale-2.25.so

libc-2.25.so

libdl-2.25.so

libm-2.25.a

libm-2.25.so




倒序看帖 只看楼主
热点关注
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
服务停止、启动、重启一体化脚本,万能语言启动脚本
shell参数判断
在后台用进程名运行bash脚本
shell脚本每行后面多了一个^M的原因和解决办法
定时检测服务,检测down掉后重启。系统检测到DMSERVER运行正常
挂载磁盘的时候遇到一个问题,挂载完磁盘之后重启服务器挂载的盘丢失了.
中标麒麟系统Your trial is EXPIRED and no VALID licens
termux 开启ssh并用用户名和密码登陆
组成共享库的目标文件和一般的目标文件有所不同,在编译时要加-fPIC和-share选项,例如:
gcc指定链接库路径后还是找不到库文件
./configure -build,-host,-target设置
shell脚本每行后面多了一个^M的原因和解决办法
shell 中 if [ “x${var}“ == “x“ ] 中 x的作用
查看linux机器是32位还是64位的方法