升级出现严重错误:libc.so.6:未找到版本“GLIBC_2.17”

升级出现严重错误:libc.so.6:未找到版本“GLIBC_2.17”

文件系统以只读方式安装,因此我启动到恢复模式来运行fsck,并收到以下消息:

mountall: /lib/i386-linux-gnu/libc.so.6: version 'GLIBC_2.17' not found (required by /lib/i386-linux-gnu/libudev.so.1)

...所以我在想,它无法完全下载软件包。好吧,我会更新 dpkg...除非网络未启用。

...因此我启用网络并收到一条消息:

failed to open lockfile...

当然,因为它是一个只读文件系统。

我该如何摆脱这个困境呢?

如果重要的话,这是在 ESXi 实例上。

答案1

我假设你没有备份。首先进行备份。使用克隆兹拉并树立形象。如果你试图修复事物,你可能会造成更大的损害。

继续操作之前请确保有足够的磁盘空间

现在要修复您的安装,您有几个选择:

  • 启动 Ubuntu Live CD 并 chroot 到安装的根文件夹,然后安装正确的 glibc dpkg
  • 在当前版本上升级安装 Ubuntu。

或者您可以创建一个新的虚拟机。安装 Ubuntu,然后从旧虚拟机迁移应用程序和配置。使用实时 CD 访问损坏的虚拟机。记录所有内容并配置备份。

答案2

感谢@bain,我通过下载 Live CD iso 并将其安装到我的 VM 中,以“试用”模式启动我的机器,然后执行以下操作,走上了正确的轨道:

  • 首先,我打开一个终端窗口ctrl-alt-t
  • 使用以下方式将我的登录名更改为超级用户sudo su -
  • 使用以下方式安装 LVM 管理工具apt-get install lvm2
  • 使用 启动逻辑卷管理器vgchange -a y dev。这创建了两个对我的 LVM 卷的引用/dev/mapper,名称分别为dev-rootdev-swap_1。显然我对 更感兴趣/dev/mapper/dev-root
  • 我跑了fsck /dev/mapper/dev-root,然后拿回了一个干净的 FS(?我没想到这一点)
  • 我创建了一个挂载点mkdir /sda5(这可能比必要的更令人困惑,但我知道我想要的数据在sda5
  • 我安装了 FSmount /dev/mapper/dev-root /sda5
  • 然后我就可以遍历我的 FS 并获取我想要的东西。
  • 然后我将其吹掉并重建。

相关内容