尽管我尽了最大努力,但我的系统上仍然有两个软件包拒绝升级:
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 个月的版本再次更新。