Technical

Proxmox Kernel Not Updating: Check Apt Pinning and the Meta-Package

Proxmox Kernel Not Updating: Check Apt Pinning and the Meta-Package

Proxmox kernel not updating is almost always apt pinning or a missing meta-package. Run apt-cache policy pve-kernel-6.2 and look at the candidate version. If it shows (none), something is holding it back.

Focused view of a modern data server rack with blinking lights in a blue-lit environment.

Check for apt pinning

Proxmox ships with a few pins by default, but a bad pin can block kernel upgrades. Look in /etc/apt/preferences.d/ and /etc/apt/preferences. A pin like this will do it:

Package: pve-kernel-*
Pin: version 5.15*
Pin-Priority: 1001

That forces the old kernel to stay. Remove the file or adjust the priority, then run apt update and try again.

Is the meta-package installed?

Proxmox uses meta-packages like pve-kernel-6.2 to pull in the latest kernel. If you installed a specific kernel like pve-kernel-6.2.16-3-pve, you won’t get updates. Check with dpkg -l | grep pve-kernel. Install the meta-package:

apt install pve-kernel-6.2

That pulls in the newest kernel and keeps you updated going forward.

A patterned array of industrial shipping containers stacked in a storage terminal.

Bootloader issues

Sometimes the kernel installs but the bootloader doesn’t pick it up. Run proxmox-boot-tool status to see if systemd-boot is in use. If it is, refresh it:

proxmox-boot-tool refresh

Then reboot and check uname -r. If it still shows the old kernel, look at /etc/kernel/proxmox-boot-uuids to make sure the right ESP is listed.

What I’d do

Start with apt-cache policy pve-kernel-6.2. If the candidate is (none), it’s pinning. If it’s there but apt upgrade won’t install it, check for held packages with apt-mark showhold. And if you’re on ZFS, make sure the pool is healthy before rebooting—a kernel update is a good time to check ZFS pool status.

Leave a comment

Comments are reviewed before they appear. Your email is never published.