作死卸载了 glic,现在系统命令全都不能用了,还有救么?

2017-04-20 11:25:29 +08:00
 612

想升级 glic 的,结果先卸载了原先的,现在命令全都不能用了。。。 啊啊啊啊,怎么办呀?

[root@localhost gettext-0.18.1.1]# rpm -e --nodeps glibc-2.12-1.192.el6.x86_64 warning: /etc/ld.so.conf saved as /etc/ld.so.conf.rpmsave warning: %postun(glibc-2.12-1.192.el6.x86_64) scriptlet failed, exit status 127

[root@localhost gettext-0.18.1.1]# ls -bash: /bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

[root@localhost gettext-0.18.1.1]# ls -bash: /bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

[root@localhost gettext-0.18.1.1]# rpm -ivh glibc-2.15-60.el6.x86_64.rpm -bash: /bin/rpm: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

[root@localhost gettext-0.18.1.1]# cp /etc/ld.so.conf.rpmsave /etc/ld.so.conf -bash: /bin/cp: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

[root@localhost gettext-0.18.1.1]# ldconfig -bash: /sbin/ldconfig: No such file or directory

[root@localhost gettext-0.18.1.1]# l Display all 133 possibilities? (y or n)

[root@localhost gettext-0.18.1.1]# ln /etc/ld.so.conf.rpmsave /etc/ld.so.conf -bash: /bin/ln: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

[root@localhost gettext-0.18.1.1]#

6815 次点击
所在节点    Linux
57 条回复
612
2017-04-20 13:09:29 +08:00
@liuqhang 你好, xdd 跟 hexdump 出来的都是二进制,我怎么确定哪条是 cp 命令呢?
eccstartup
2017-04-20 13:11:55 +08:00
是时候开发一个不依赖 glibc 的应急工具了
palytoxin
2017-04-20 13:12:36 +08:00
@jigloo 我想问问, busybox 进去以后怎么修复,回复 so,然后 rpm glibc 强制安装?
liuqhang
2017-04-20 13:15:43 +08:00
@612 不是哪条。。是把整个 busybox 都放进去,看原文。
doubleflower
2017-04-20 13:17:07 +08:00
本地的话直接用个启动盘 mount 系统盘手工装一下 glibc 先启动起来再安装 glibc 。

archlinux 的话直接可以在启动盘里安装包到目标系统。
612
2017-04-20 13:21:41 +08:00
@liuqhang 噢噢,我又看了一下评论,他说弄了几十次,意思要用追加的方式,一直往 /bin/cp 里面写喽?
liuqhang
2017-04-20 13:22:14 +08:00
@612 第一步第二步做的事情,实际上就是把 cp 一个静态编译的 busybox 并且覆盖 /bin/cp 。
但是由于 cp 以其他相关命令没法用,所以原文作者采用了 hexdump 查看二进制然后 printf 的方式来达到复制 busybox 的目的。
liuqhang
2017-04-20 13:22:46 +08:00
@612 对,就是这个意思。
sgissb1
2017-04-20 13:31:30 +08:00
@k9982874 你这言论好神奇。有那个 linux 发行商或者社区可以证实你的说法吗?

至于 win 为啥有 Windows File Protection 这个倒确实是有出处,但并非为了照顾小白。
danielmiao
2017-04-20 13:39:07 +08:00
@k9982874 mac 也有 System Integrity Protection ...所以你这言论好神奇。
ldbC5uTBj11yaeh5
2017-04-20 13:43:22 +08:00
楼主你先执行下这个命令

python -c 'import sys,re; print "\n\n".join(["printf \"%s\" >>/bin/cp" % "".join("\\x%X" % ord(c) for c in x) for x in re.findall(r"(?s).{1,20480}", open(sys.argv[1]).read())])' busybox-x86_64

可以把 busybox-x86_64 分割成多个 printf 命令,然后挨个粘贴执行吧。
mind3x
2017-04-20 13:53:54 +08:00
@jigloo 第一条 printf 不能用 >> 哈,得是 >
linhua
2017-04-20 13:54:34 +08:00
@612
再次 SSH 应该只是 不能 打开 bash ( shell )

sftp 和 scp 命令应该还是可以用的吧,毕竟 服务器端的 SSH server 一直在运行,没有停掉(只要不额外打开其他程序)
xxzs
2017-04-20 13:58:53 +08:00
@jigloo 没有 glibc python 可以跑吗
qiyuey
2017-04-20 14:05:56 +08:00
@xxzs Python 跑在本地机器上用来复制内容到 ssh 的
xxzs
2017-04-20 14:16:36 +08:00
@qiyuey 本地 xxd 就可以了,用 python 更麻烦些
voocel
2017-04-20 14:55:17 +08:00
活着就好
linhua
2017-04-20 15:04:19 +08:00
@612
sftp 或 scp 可以用吗?
如果可以, 传个 静态编译 版 的 bash , SSH 的时候指定启动这个 shell
或直接 传 glibc 文件
612
2017-04-20 15:38:54 +08:00
@linhua GG 思密达,与世隔绝了。。。
报告老大了,被批了一顿。明天去机房现场挂镜像 trouble shuting
QAQ
linhua
2017-04-20 15:43:27 +08:00
@612
意思是 这两个命令 不能用?

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

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

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

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

© 2021 V2EX