![当变更列表中存在硬件特定/使用的更新时,保留的内核包是否会升级?](https://linux22.com/image/988431/%E5%BD%93%E5%8F%98%E6%9B%B4%E5%88%97%E8%A1%A8%E4%B8%AD%E5%AD%98%E5%9C%A8%E7%A1%AC%E4%BB%B6%E7%89%B9%E5%AE%9A%2F%E4%BD%BF%E7%94%A8%E7%9A%84%E6%9B%B4%E6%96%B0%E6%97%B6%EF%BC%8C%E4%BF%9D%E7%95%99%E7%9A%84%E5%86%85%E6%A0%B8%E5%8C%85%E6%98%AF%E5%90%A6%E4%BC%9A%E5%8D%87%E7%BA%A7%EF%BC%9F.png)
我暂停了内核,因此在更新时,直到昨天才将较新的内核版本标记为可安装。这是一个安全更新,所以我知道建议进行此更新,但问题是关于暂停软件包。注意:内核已暂停一段时间了。
什么原因导致软件包失控?如果它正在阻止更新,为什么它会失控?
这次,我把所有东西都加上版本号和通用字样。
linux-generic set on hold.
linux-headers-4.4.0-21 set on hold.
linux-headers-4.4.0-21-generic set on hold.
linux-headers-generic set on hold.
linux-image-4.4.0-21-generic set on hold.
linux-image-extra-4.4.0-21-generic set on hold.
linux-image-generic set on hold.
linux-tools-4.4.0-21 set on hold.
linux-tools-4.4.0-21-generic set on hold.
答案1
如果你需要坚持使用特定的内核包版本,你需要坚持全部这些:
linux-generic
linux-image-generic
linux-headers-generic
linux-image-X.Y.Z-W-generic
linux-image-extra-X.Y.Z-W-generic
linux-headers-X.Y.Z-W-generic
适合的 X、Y、Z 和 W。此处,软件包的实际版本将类似于X.Y.Z-W.V
(4.4.0-21.37
例如)。此处,XYZ 是上游基本内核版本,W 是 ABI 编号,V 是内部版本号(请参阅Ubuntu 维基)。
如果没有保留元包,但保留了真实包:
- 如果 W 被替换,实际软件包名称将更改为新版本。元软件包将升级,安装新内核,因为此操作不涉及现有的
linux-{image,image-extra,headers}-X.Y.Z-W-generic
包。 - 如果 V 升级而 W 未升级,则软件包名称保持不变,因此现有软件包
linux-{image,image-extra,headers}-X.Y.Z-W-generic
会因被搁置而无法升级。因此,元软件包也不会升级。
如果元软件包被保留,而真实软件包没有被保留:
- 如果 W 被碰到,则不会安装新的内核,因为元包的依赖关系更改由于被保留而不会生效。
- 如果 V 被提升而 W 没有被提升,那么将会安装新的内核包,但它们将保留与旧包的 ABI 兼容性。
您持有的是真正的软件包,而不是元软件包。在最后一张图片中,您可以清楚地看到 W 已从 21 增加到 22,因此软件包名称已更改,旧的持有不再重要。