未满足的依赖关系。Libc6 软件包系统已损坏

未满足的依赖关系。Libc6 软件包系统已损坏

每当我尝试升级或安装新软件包时,我都会收到以下信息

ibc6-dbg: Depends: libc6 (= 2.31-0ubuntu9.2) but 2.31-0ubuntu9.1 is installed \
libc6-dev: Depends: libc6 (= 2.31-0ubuntu9.2) but 2.31-0ubuntu9.1 is installed \
           Depends: libc-dev-bin (= 2.31-0ubuntu9.2) but 2.31-0ubuntu9.2 is installed
libc6-i386: Depends: libc6 (= 2.31-0ubuntu9.2) but 2.31-0ubuntu9.1 is installed


我试过apt --fix-broken install
强制sudo apt-get -f install安装。
两次都收到相同的错误消息。

我对 Linux 还不熟悉,很想学习如何修复这些问题,而无需清除操作系统并重新安装

答案1

我在新安装的 Ubuntu 20.04.2 桌面 64 位上遇到了类似的问题,不同之处在于安装了 libc6 ...9.3,但我的软件包(g++ build-essential 等)无法安装,因为无法安装 libc6-dev,因为它需要 libc6 ...9.2,而这个版本比安装的版本要旧

 libc6-dev : Depends: libc6 (= 2.31-0ubuntu9.2) but 2.31-0ubuntu9.3 is to be installed

所以我才降级 libc6(以及 libc-bin,因为我觉得它们非常相关)升级到版本 2.31-0ubuntu9.2 如下:

sudo apt install libc6=2.31-0ubuntu9.2 libc-bin=2.31-0ubuntu9.2

现在我的软件包可以安装了 :) 所以它似乎可以工作了,让我们看看是否没有太多问题 - 但我猜不是因为这是 libc 中的一个微小的变化(另一方面 libc 非常重要)

但我不知道未来会发生什么:

  • 在未来的更新中是否会将此包固定为旧版本?
  • 有谁知道如何解除此版本的困扰吗?
  • 即使我能以某种方式从这个版本中解除它,那么 ubuntu 将来还会出现这个问题吗?
  • 有人知道这是否是 Ubuntu 打包存储库中的错误吗?我再说一遍:这是在全新的 Ubuntu 20.04 桌面上

其他可以寻找灵感的地方:

答案2

我想补充一下托梅格,降级为资质帮助我保留我的包裹取决于libc6已安装。使用以下命令降级:

sudo apt install libc6=2.31-0ubuntu9.

易于也会卸载我的所有软件包,具体取决于libc6

The following packages will be DOWNGRADED:
  libc6
0 upgraded, 0 newly installed, 1 downgraded, 206 to remove and 0 not upgraded.

正如我所描述的这里这确实有帮助,因为资质为我提供了不同的选择:

 sudo aptitude install libc6=2.31-0ubuntu9.2

我不得不拒绝前两个选项(2x n),然后第三个选项是单独降级(y)而不卸载其他软件包。

答案3

这些说明对我有帮助。你知道你需要修复软件包依赖关系,因此libc6

  1. 查找可用版本libc6

    apt show -a libc6
    
  2. 从运行上述命令后看到的列表中安装一个版本(您需要的版本)。例如,如果您想要版本2.31-0ubuntu9.7,请运行:

    sudo apt install libc6="2.31-0ubuntu9.7"  
    
  3. 现在运行:

    sudo apt install build-essential
    

答案4

除了重新安装特定版本的libc,您可能还需要查看apt中的源文件/etc/apt/sources.list,看看apt源是否与您的 Ubuntu 操作系统版本匹配。如果版本不匹配,您需要将sources.list代码名称替换为正确的 Ubuntu 代码名称,更新apt源,然后重新安装libcgcc

相关内容