有人知道是否有办法禁用或跳过 Ubuntu 22.04 上的分阶段更新,以便软件包安装候选版本立即更新为软件包的最新版本?
我已尝试在此处禁用建议 -https://discourse.ubuntu.com/t/phased-updates-in-apt-in-21-04/20345
但是当我使用命令 apt-cache policy 检查时,所需软件包的候选版本始终保持在旧版本。
答案1
分阶段更新是系统的一个保护层。禁用此保护层的人应该具备解决问题和提交错误的技能、经验和意愿。您自愿成为一名测试员。
只有知道自己在做什么的人才能这样做。
如果你真的想要绕过分阶段,然后在命令中插入正确的 apt 选项:
apt -o APT::Get::Always-Include-Phased-Updates=true upgrade
或者
apt -o APT::Get::Always-Include-Phased-Updates=true install <package_name>
- 在使用此选项之前,最好先运行
apt-cache policy <packagename>
以验证您有问题的包是否真的分阶段。它并不是解决所有与 apt 相关问题的魔法咒语。
但是如果你有一整间实验室的机器,而且每台机器的运行时间都不一样,那么会不会很乱呢?
答案是不要禁用相位调整。相反,让所有机器相位调整一起通过设置一个通用的机器 ID 字符串。
以下是一个示例 apt 配置文件,用于为 apt 设置 Machine-ID 字符串。我们将其称为/etc/apt/apt.conf.d/20phased-updates
。无论您选择什么,此 apt 特定字符串对于您想要一起分阶段的所有机器都应该相同。实验室中的每台机器都会获得此文件。
// To have all your machines phase the same, set the same string in this field
// If commented out, apt will use /etc/machine-id to seed the random number generator
APT::Machine-ID "aaaabbbbccccddddeeeeffff";
或者,如果您确实想要最新和最好的自动安装,并且随后一起安装……
// To have all your machines phase the same, set the same string in this field
// If commented out, apt will use /etc/machine-id to seed the random number generator
APT::Machine-ID "aaaabbbbccccddddeeeeffff";
// Always include phased updates
// After your initial build, you would comment this out.
// If left in place you will *always* include phased updates instead of phasing all machines together.
APT::Get::Always-Include-Phased-Updates "1";