各位救命,刚刚不小心升级 glibc 版本,现在不管使用什么命令都报 Permission Denied,只有 cd 命令可以使用

2018-06-14 14:18:42 +08:00
 AllOfMe

最近在搭建一个内网应用,提示 glibc 版本过低,所以我先通过 rpm 卸载一些应用。
但是后面发现 yum 命令还有其他很多命令都用不了,提示说: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

后面发现这是一个软连接,名字是 ld-2.12.so ,应该是缺失了,所以我进行了 sftp 上传。

后面发现虽然是没有这提示,但是命令改为提示 Permission Denied 了,应该是 ld-2.12.so 的 chmod 没有权限可以访问。。。尝试上传一个 sh 文件覆盖原来 755 的 sh 文件,里面包括 chmod 命令,但是执行了也是提示 Permission Denied

目前服务器上跑着 Java Tomcat(包括 jsp),还有 Oracle 数据服务器,可以进行访问,我想问下有没有什么可以解决的方法。。头疼了。。

9681 次点击
所在节点    Linux
64 条回复
lepig
2018-06-14 17:20:25 +08:00
哎呀 楼主的头像 现在 很应景啊
kimqcn
2018-06-14 17:23:16 +08:00
让你不用 docker
wqsfree
2018-06-14 17:30:00 +08:00
你千万不要想着跑路啊,你千万不要想着坐走私船离开泰国,再转到越南老挝缅甸柬埔寨,你不要让领导见到你啊,让领导见到你我分分钟弄死你啊。(笑话)
dmx
2018-06-14 17:37:17 +08:00
我也遇到过这个问题,我是把某个版本的 so 换成了另一个版本,结果啥都不行了。印象中是使用命令的时候可以通过参数指定使用的 so 路径,这样给弄活的
dmx
2018-06-14 17:47:13 +08:00
噢,有个环境变量 LD_LIBRARY_PATH
xiaoheijw
2018-06-14 17:49:05 +08:00
ld-2.12.so 软链接的是旧版本的 glibc 库?如果是的话,把软链接删了,指定新的 glibc 库,lib64 跟 lib 有备份的话,可以尝试 ldd 看下和新版本的区别.
artandlol
2018-06-14 17:53:29 +08:00
链接: https://pan.baidu.com/s/1eMmp1a5-EgwEy21e-_2avQ 密码:3l62

用 rpm 包吧
artandlol
2018-06-14 17:55:46 +08:00
LD_PRELOAD=/lib64/libc-2.14.1.so; ln -s /lib64/libc-2.14.1.so /lib64/libc.so.6


cat >>/etc/sysconfig/i18n <<EOF
LC_ALL=C
export LC_ALL
EOF
. /etc/sysconfig/i18n
AllOfMe
2018-06-14 18:04:49 +08:00
@dmx 好的,谢谢,我去试一下
AllOfMe
2018-06-14 18:05:02 +08:00
@artandlol 谢谢谢谢!
AllOfMe
2018-06-14 18:05:35 +08:00
@xiaoheijw 好的,谢谢!
xiaoheijw
2018-06-14 18:17:05 +08:00
@artandlol 你怎么知道他升级的是 2.14 版本?
xiaoheijw
2018-06-14 18:18:54 +08:00
@AllOfMe 你是 2.12 升级成那个版本了?
AllOfMe
2018-06-14 18:34:18 +08:00
@xiaoheijw 我是从 glibc2.12 版本升级的,卸载了之后就是没能再进行了。。我是有备份 /lib 和 /lib64 的,但是是被打包成 zip 文件,这样还有救吗?请教
AllOfMe
2018-06-14 18:34:31 +08:00
@AllOfMe
@xiaoheijw
请教,感激不尽!
BadMan
2018-06-14 18:40:10 +08:00
跑路吧,机票我已经帮你订好了
xiaoheijw
2018-06-14 18:45:12 +08:00
@AllOfMe 线上业务多吗?就算现在解决了,也是临时救火,glibc 的影响太大了,建议迁移业务,重装吧.给个思路,回滚到旧版本的 glibc,你先看下 lib64 下所有的软链接指向,然后把备份的库还原回去试试,当然先备份现在的库.或者有同样 linux 版本的机器,也是 glibc2.12 的话,你可以比较两者的软链接差异.还有库的差异. ld-2.12.so 是 2.12 版本,还有看看有没有 busybox 工具,可以救急用.
zpf124
2018-06-14 18:50:14 +08:00
看来得跑路了, 你现在需要众筹车票了...
qiyuey
2018-06-14 18:52:06 +08:00
又见到了。。。看楼上的知乎吧
sevncz
2018-06-14 19:01:59 +08:00
升级过一次 glibc,还好没出问题。。。后怕。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/463079

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX