当更改列表中存在HW特定/已使用的更新时,是否保持内核包升级?

我在更新时保留了内核,直到昨天才更新内核版本。 这是一个安全更新,所以我知道建议进行此更新,但问题是关于控制包。 注意:内核已暂停一段时间了。

什么可能导致包裹失控? 如果它正在举行更新,为什么它会被取消?


这次我用版本号和通用词来保存所有内容。

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. 

如果您需要坚持特定的内核包版本,则需要保留所有这些:

 linux-generic linux-image-generic linux-headers-generic linux-image-XYZ-W-generic linux-image-extra-XYZ-W-generic linux-headers-XYZ-W-generic 

对于合适的X,Y,Z和W.这里,包的实际版本将类似于XYZ-WV (例如4.4.0-21.37 )。 这里,XYZ是上游基本内核版本,W是ABI号,V是内部版本号(参见Ubuntu Wiki )。

如果没有持有元包,真正的包是:

  • 如果W被碰撞,实际的包名称将更改为新版本。 元数据包将升级,安装新内核,因为此操作不涉及现有的linux-{image,image-extra,headers}-XYZ-W-generic软件包。
  • 如果V碰撞而W没有碰撞,则包名称保持不变,因此现有的linux-{image,image-extra,headers}-XYZ-W-generic阻止升级。 因此,元数据包也不会升级。

如果持有元数据包而实际数据包不是:

  • 如果W受到冲击,则不会安装新内核,因为元数据包的依赖关系变化不会因为被保留而生效。
  • 如果V被碰撞而W没有碰撞,将安装新的内核包,但它们将保留与旧包的ABI兼容性。

你持有真正的包而不是元数据包。 在最后一张图片中,您可以清楚地看到W已从21增加到22,因此包名称已更改,旧版本不再重要。