作死卸载了 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]#

6816 次点击
所在节点    Linux
57 条回复
612
2017-04-20 11:29:43 +08:00
只剩下本地一个 ssh 连接了,新建连接都连不上了。。。。
EricInBj
2017-04-20 11:31:04 +08:00
同情&关注
knva
2017-04-20 11:31:51 +08:00
如果.还能连上 sftp 的话,下载一个 glibc 替换.也许还有救
dzxx36gyy
2017-04-20 11:31:59 +08:00
活着不好吗……
ldbC5uTBj11yaeh5
2017-04-20 11:32:30 +08:00
nicevar
2017-04-20 11:35:34 +08:00
楼主做得一手好死啊,找个能用的 libc 库,然后用 LD_PRELOAD=/lib/libc.so ls 这样处理
ldbC5uTBj11yaeh5
2017-04-20 11:37:05 +08:00
然后我继续观察 V2EX 小学生如何自作聪明的提出自己的方案,(笑
kokutou
2017-04-20 11:40:19 +08:00
busybox...
这玩意好牛逼。。。
nfroot
2017-04-20 11:45:33 +08:00
楼主也没说是 VPS ,还是杜甫,还是能接触到的物理机器

Windows 用户表示只要你能接触到物理机,就能存文件进去,其他都不是问题吧
holyzhou
2017-04-20 12:16:19 +08:00
远程我估计你是没戏了 这种情况大多还是需要依赖外部启动的方式来解决。讲一下对于物理机的修复方式,非 rpm 包管理的 linux 启动盘,解压相同版本 rpm ,打成 tar 包后,然后解包到挂载后的根目录。 rpm 系的启动盘,直接把这个 rpm 包安装到挂载的根目录下(关键为 rpm 的 root 参数)
612
2017-04-20 12:19:42 +08:00
@jigloo 谢谢,我去试试。
QAQ
xss
2017-04-20 12:22:36 +08:00
做得一手好死....

要么用光盘引导修复
要么想办法弄个 busybox 上去修复喽...
treo
2017-04-20 12:26:08 +08:00
挂载相应系统的 iso 引导后修复就行了, kvm 架构的 vps 都可以挂 iso , vps 服务商没提供选项就发 ticket
liuqhang
2017-04-20 12:32:29 +08:00
就用 5L 的文章里面的方案。挺好的。帮你总结一下。
sgissb1
2017-04-20 12:35:11 +08:00
这就是 windows 和 linux 最大的区别:
Windows File Protection

xp 以上的系统,在拿不到特权(挂入内核)的情况下,基本是动不了受保护的部分文件区域的。而大部分发行版本的 linux 在这块的管理上。。。。松散。

看以后 windows 阵营和 linux 阵营怎么互怼(商业度高的 linux 除外哈)。

哥们要么弄个 glibc 放进去,要么重装 base system/kernel system 部分?(不了解 linux 里面叫什么)
okudayukiko0
2017-04-20 12:46:29 +08:00
用 Linux 安装盘的恢复,安装 glibc 。
liuqhang
2017-04-20 12:50:32 +08:00
1.找一个静态链接的 busybox 然后用 xxd 或 hexdump 查看二进制数据。
2.把上一步的数据拆解成数条“ printf '...' >> file ”这样的语句,这样复制到 shell 里面执行就相当于拷贝文件了。
3.用上一步描述的方式把 busybox 写到 /bin/cp 里面, cp 就复活了。然后 “ cp /bin/cp /bin/ln ”, 这样 ln 也就复活了,同理可以恢复其他命令。
4.用上一步恢复的命令恢复 glibc 。
k9982874
2017-04-20 12:51:10 +08:00
@sgissb1
Linux 设定的用户群是知道自己在干什么的有动手能力的技术人员
Win 定位的是电脑小白
choury
2017-04-20 13:02:01 +08:00
@liuqhang 你确定 glibc 没了还能有 shell 用?
liuqhang
2017-04-20 13:06:10 +08:00
@choury 我是把 5L 发的链接里面的方案总结了一下,这里描述错了,意思是直接复制到仅存的那个 ssh 连接里面执行就好了, printf 是 bash 的内部命令 glibc 没了还可以用。

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

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

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

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

© 2021 V2EX