Linux服务器升级GLIBC失败导致shell不可用的问题解决经历

问题发生

试图通过编译安装升级Linux服务器的glibc库版本,install失败以后,shell中的大部分命令(ls,cat,rm,cp,ln,scp,vi,yum等)都执行报错,尝试新的ssh连接时提示拒绝连接。

命令报错类似:

# ls
ls: relocation error: /usr/lib64/libc.so.6: symbol _dl_starting_up, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference

或者

bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

可补救·操作空间

  • 有ssh客户端连接着这台服务器没有断开
  • 原始的低版本glibc库文件还在
  • cd,pwd,export,echo,sln,chmod命令可用,输入ls+两次TAB键可以提示目录下所有文件

开始尝试修复

步骤1

glibc是Linux系统底层库,许多shell命令乃至bash本身都依赖这套动态链接库。
以上问题出在/lib64(/usr/lib64)目录下的软连接损坏,或连接的so库文件版本不统一,或所连接的so库文件本身存在问题。
解决思路就是把以下软连接全部恢复为指向原始版本(低版本)。
前提是先到/lib64目录下,用ls+两次TAB键的方法确认好自己系统下的libc-<x.xx>.so最低版本号(也就是好用的版本)是哪

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值