无法升级 libgcc-s1 或 libstdc++6...为什么?

无法升级 libgcc-s1 或 libstdc++6...为什么?

尽管我尽了最大努力,但我的系统上仍然有两个软件包拒绝升级:

enie...:~$ sudo apt list --upgradable
Listing... Done
libgcc-s1/jammy 13.1.0-2ubuntu2~22.04 amd64 [upgradable from: 12.1.0-2ubuntu1~22.04]
libstdc++6/jammy 13.1.0-2ubuntu2~22.04 amd64 [upgradable from: 12.1.0-2ubuntu1~22.04]

我向 aptitude 询问了它对此情况的了解:

enie...:~$ sudo aptitude why-not libgcc-s1
i   libcanberra-gtk-module:i386 Depends libc6:i386 (>= 2.4)                 
i A libc6:i386                  Depends libgcc-s1:i386                      
i A libgcc-s1:i386              Breaks  libgcc-s1 (!= 12.1.0-2ubuntu1~22.04)

... 和

enie...:~$ sudo aptitude why-not libstdc++6
i   libxml2:i386    Depends libicu70:i386 (>= 70.1-1~)           
i A libicu70:i386   Depends libstdc++6:i386 (>= 5.2)             
i A libstdc++6:i386 Breaks  libstdc++6 (!= 12.1.0-2ubuntu1~22.04)

我不知道为什么这些包裹被扣留了。有人知道吗?

这阻止我安装 gcc-13,这让我:'-(

答案1

导致您出现问题的直接原因是使用了太多非 Ubuntu 源。您的非 Ubuntu 源 A 提供的软件包与非 Ubuntu 源 B 提供的软件包不兼容。

导致您出现问题的根本原因,也就是您需要这么多非 Ubuntu 源的原因,是您使用的 Ubuntu 版本不符合您的需求。您创建了一个弗兰肯德比通过将较新的非 Ubuntu 软件固定到较旧的 LTS 版本上。你现在了解到,你的怪物创造物太害怕火,无法服从你的命令。

LTS 版本并非设计为不断更新到较新的应用程序版本和依赖项。LTS 版本适用于希望在整整五年内保持一致工作流程(最少更改)的企业用户。

相反,请尝试 Ubuntu 23.04 或其他 6 个月的 Ubuntu 版本。这些版本确实会快照新的、更新的版本和依赖项。它们为您提供稳定的六个月平台,然后整个平台将随着下一个 6 个月的版本再次更新。

相关内容