我刚刚注意到,焦点建议的存储库已包含在 ubuntu 20.04 上的sources.list 中,尽管如此似乎不推荐。禁用后,命令
apt-show-versions | grep newer
显示了大约 30 个安装版本比存储库中的版本更新的软件包。有没有一种简单的方法可以将它们全部降级到可用版本?
答案1
我写了一个类似的在这里回答
为此,首先删除所有带有focal-proposed
from/etc/apt/sources.list
和 的行/etc/apt/sources.list.d/*
。
其次,我们将告诉 apt 允许降级。这意味着固定focal
,focal-updates
并且focal-security
优先级高于 1000。/etc/apt/preferences.d/focal
使用以下内容创建:
Package: *
Pin: release n=focal
Pin-Priority: 1001
Package: *
Pin: release n=focal-updates
Pin-Priority: 1002
Package: *
Pin: release n=focal-security
Pin-Priority: 1003
如果您不使用focal-updates
或focal-security
跳过这些部分。
第三,运行以下命令:
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt --fix-broken install
sudo apt autoremove
并在这些命令之间不断轮换,直到一切稳定为止。
最后删除/etc/apt/preferences.d/focal
.
或者,您可以直接删除focal-proposed
.这些包最终将迁移到focal-updates
通过测试时,您将再次保持同步。
对于您的小增量,--fix-broken install
可能autoremove
没有必要,但当apt
您阅读前面命令的输出时会告诉您。
对于看到这篇文章的其他人: 不支持降级。任何大幅降级都可能失败。这是一个非常微不足道的案例,但从 到focal
可能bionic
会是一场灾难,并导致系统崩溃。
答案2
稍微短一点。
cat /etc/apt/preferences.d/focal.pref
Package: *
Pin: release n=focal
Pin-Priority: 1001
该记录为属于代号为“focal”的任何发行版的所有软件包版本分配高优先级。
仅当焦点建议不再处于活动状态时,注释才起作用。