Ubuntu – Do held kernel packages upgrade when HW specific/used updates are present in the changes list

16.04aptkernelupdate-manager

I held the Kernel so while updating, the newer kernel version weren't marked for installation until yesterday. It is a security update so I know is recommended to do this update but the question is regarding Holding packages. Note: The Kernel has been on hold for some time now.

What could have caused the package to get out of hold? If it was holding the update why did it came out of hold?


This time I held everything with a version number and with the word generic.

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.

Best Answer

If you need to stick to a specific kernel package version, you'll need to hold all of these:

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

for suitable X, Y, Z and W. Here, the actual versions of the packages would be like X.Y.Z-W.V (4.4.0-21.37, for example). Here, X.Y.Z is the upstream base kernel version, W is the ABI number, and V is the build number (see the Ubuntu Wiki).

If meta-packages aren't held and real ones are:

  • if W gets bumped, the actual package names will change to the new version. The meta-packages will be upgraded, installing the new kernel, since this operation doesn't involve the existing linux-{image,image-extra,headers}-X.Y.Z-W-generic packages.
  • if V gets bumped and W doesn't, the package names remain the same, so the existing linux-{image,image-extra,headers}-X.Y.Z-W-generic prevent the upgrade due to being held. Consequently, the meta-packages aren't upgraded either.

If meta-packages are held and real ones aren't:

  • if W gets bumped, no new kernel will be installed, since the metapackages' change in dependencies don't take effect due to being held.
  • if V gets bumped and W doesn't, new kernel packages will be installed, but they will be retain ABI compatibility to the old package.

You are holding the real packages and not the metapackages. In the last image, you can clearly see that W has increased from 21 to 22, and so the package names have changed, and the old holds no longer matter.

Related Question