Manual Update?
When encountering this problem, the first reaction is to manually install the latest version of the kernel:
apt install linux-image-5.15.0-102-generic
After the installation is complete, the new version is used, but this does not seem to solve the problem from the root: if the kernel is updated to 5.15.0-103 next time, wouldn’t I have to do it manually again?
A Glimmer of Hope
While searching for a solution on Google, I accidentally saw this askubuntu Q&A and my eyes lit up. The top answer said that if the Linux kernel-related meta packages are not installed correctly, the upgrade will fail. Although he was solving the HWE kernel upgrade problem, this reminded me: could it be that the reason my machine’s kernel is not upgrading is also because the meta package is not installed?
With this question in mind, I went to check the official Ubuntu-provided kernel-related meta packages. As you can see, it seems we should install the linux-generic package. During the installation process, I found that this meta package would bring in dependencies that are not needed on a virtual machine, such as thermald and usbmuxd.
Further research on another machine running the official Cloud Image revealed the package that should be used: linux-virtual!
root@proxy:~# dpkg --get-selections | grep linux
binutils-x86-64-linux-gnu install
console-setup-linux install
libselinux1:amd64 install
linux-base install
linux-headers-5.15.0-101 install
linux-headers-5.15.0-101-generic install
linux-headers-5.15.0-102 install
linux-headers-5.15.0-102-generic install
linux-headers-generic install
linux-headers-virtual install
linux-image-5.15.0-101-generic install
linux-image-5.15.0-102-generic install
linux-image-virtual install
linux-modules-5.15.0-101-generic install
linux-modules-5.15.0-102-generic install
linux-virtual install
util-linux install
Finally, on these virtual machines that would not automatically upgrade the kernel, running apt install linux-virtual automatically upgraded the kernel to the latest version, and the problem was solved.
Summary
-
If the kernel-related meta packages are not installed correctly for some reason (such as broken dependencies, accidental uninstallation, etc.), automatic updates can be restored by manually reinstalling them.
-
When running Ubuntu Server virtual machines in a KVM environment, it is more recommended to use the official Cloud Images directly, rather than installing from a Live CD yourself. Virtual machines installed with a Live CD will install the
linux-genericpackage by default, which may bring in some unnecessary dependencies.