325 字
2 分钟
apt 更新延后或保留的原因
问题描述
在 Ubuntu 系统中执行 apt update && apt upgrade
时,发现部分包的升级被延后或保留:
The following upgrades have been deferred due to phasing:
grub-common grub-efi-amd64 grub-efi-amd64-bin grub2-common ubuntu-drivers-common
The following packages have been kept back:
grub-efi-amd64-signed
The following packages will be upgraded:
linux-generic linux-headers-generic linux-image-generic
3 upgraded, 7 newly installed, 0 to remove and 6 not upgraded.
Need to get 191 MB of archives.
After this operation, 301 MB of additional disk space will be used.
N: Some packages may have been kept back due to phasing.
原因
这是因为从 APT 2.1 开始引入了“分阶段更新”(phased updates)机制:
- Deferred due to phasing(因分阶段发布而延后) 对于 grub-common、grub-efi-amd64、grub-efi-amd64-bin、grub2-common、ubuntu-drivers-common 这类关键组件,系统会先推送给部分用户(默认约 10%),待达到目标部署比例后再向所有机器发布,因此它们暂不会自动升级。
- Kept back(被保留) grub-efi-amd64-signed 一包因签名或依赖策略发生变化,APT 为避免破坏系统启动过程,选择暂不自动安装。
- 正常升级 linux-generic、linux-headers-generic、linux-image-generic 这几个内核元包不受分阶段或签名策略影响,已正常列入本次升级。
需要做什么
- 可在 APT 配置中关闭或调整分阶段更新的投放比例
- 如无特殊需求,耐心等待下一次 apt update && apt upgrade,这些包就会自动过渡到你的系统
apt 更新延后或保留的原因
https://blog.lpkt.cn/posts/apt-phasing-update/