AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1017561
Accepted
Vedran B
Vedran B
Asked: 2020-05-18 17:50:38 +0800 CST2020-05-18 17:50:38 +0800 CST 2020-05-18 17:50:38 +0800 CST

在 VPS、centOS 6 上删除 glibc x86_64

  • 772

你能帮我解决这个问题吗?

我“意外地” rpm -e glibc.x86_64 库并使我的 VPS 无法使用,因为所有命令都会引发以下错误之一:

[root@panel lib64]# yum
bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory
[root@panel lib64]# ls 
bash: /bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

如果以下任何一项可以提供帮助:

1)我仍然连接到外壳

2) 我无法启动恢复,因为它是远程 VPS

3) 仍然安装了 i686 glibc

4) 我的主目录中有 x86_64 版本的 .rpm 文件。

5) 有/lib/ld-linux.so.2,我能以某种方式指向系统使用那个吗?

6) 我有一个 /opt/glibc-2.14/lib/ld-linux-x86-64.so.2 ,我可以执行带有前缀的命令,但关键的命令,如 rpm2cpio 或 wget 会引发共享对象错误。

我可以使用静态命令或将其他一些库放在路径中或任何其他方式来解决这个问题吗?

谢谢大家。

linux centos vps glibc libraries
  • 3 3 个回答
  • 425 Views

3 个回答

  • Voted
  1. sflitman
    2020-05-18T18:26:59+08:002020-05-18T18:26:59+08:00

    我认为您可以使用现有的 i686(32 位)工具链构建 glibc.x86_64 的源代码。下载源代码并解压,然后按照安装说明进行操作。当您运行配置时,它将仅检测 32 位,并应从那里恢复您。

    我还发现在centOS上你可以执行

    yum update kernel
    # reboot 
    yum update
    

    (来自https://geeksterminal.com/how-to-install-glib-glibc/1392/)

    SSF

    • 0
  2. Kanaza
    2020-05-18T19:53:21+08:002020-05-18T19:53:21+08:00

    我建议通过 wget 下载glibc x86_64.rpm包,然后使用rpm命令安装它。

    • 0
  3. Best Answer
    John Mahowald
    2020-05-20T21:17:59+08:002020-05-20T21:17:59+08:00

    删除链接器后,无法执行其他程序。您真正拥有的只是正在运行的 bash shell。没有wget,没有cp。

    这可以有两种方式。此实例所做的常规备份还原和重建,现在开始此过程。或者在从中提取数据并重新启用 glibc 方面非常有创意的英雄事迹。

    需要复制至少与 EL6 的 glibc 版本 2.12 一样新的二进制文件。只使用 bash。理论上,只使用内置函数是可能的。在其他一些主机上,使用 rpm2cpio 解压,使用 /dev/tcp/ 将它们下载到损坏的主机。在实践中,这是丑陋的,难以发挥作用。需要使用未加密的协议,并手动输入请求。

    相反,将 VM 磁盘映像附加(快照)到另一个工作的 EL6 VM 并在那里对其进行操作。将它安装在某个地方,例如 /mnt。使用 yum 恢复 glibc,但将其安装在损坏的根目录中:

     yum --installroot=/mnt install glibc
    

    在挂载时备份任何重要数据。再次将其切换到损坏的实例,然后启动。


    现在进行尸检。

    修复损坏的实例可以很好地恢复您的数据,但可能无法实现。备份仍然是必须始终有效的恢复。确保重建和恢复是可能的。

    您必须使用rpm -e --nodeps才能进入这种情况。永远不要那样做。存在依赖关系是因为包需要彼此。glibc 的 rpm 包描述 ( rpm -qi glibc) 提到了它的重要性,尽管说了很多话之后是公平的:

    这个特定的包包含最重要的共享库集:标准 C 库和标准数学库。没有这两个库,Linux 系统将无法运行。

    如果您无法使用 yum 解决 rpm 事务,请停止。质疑包数据库的完整性。质疑使某人认为--nodeps曾经是一个好主意的 yum repos 的理智。

    • 0

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve