Resolving broken linux-headers in archived bullseye-backports

Working on an old debian 11 (bullseye) machine which got an upgrade on Wednesday. It has linux-image-amd64 and linux-headers-amd64 from bullseye-backports, but the archive only has the dependencies of linux-image-amd64, and is missing the dependencies of linux-headers-amd64.

A summary of apt show for relevant packages:

Package: linux-headers-amd64
Version: 6.1.90-1~bpo11+1
APT-Sources: http://archive.debian.org/debian bullseye-backports/main amd64 Packages
Depends: linux-headers-6.1.0-0.deb11.21-amd64 (= 6.1.90-1~bpo11+1)

Package: linux-image-amd64
Version: 6.1.90-1~bpo11+1
APT-Sources: http://archive.debian.org/debian bullseye-backports/main amd64 Packages
Depends: linux-image-6.1.0-0.deb11.21-amd64 (= 6.1.90-1~bpo11+1)

Package: linux-image-6.1.0-0.deb11.21-amd64
Version: 6.1.90-1~bpo11+1
APT-Sources: http://archive.debian.org/debian bullseye-backports/main amd64 Packages

Package: linux-headers-6.1.0-0.deb11.21-amd64
Version:     
APT-Sources: 

Package: linux-image-6.1.0-0.deb11.22-amd64-unsigned
Version: 6.1.94-1~bpo11+1
APT-Sources: http://archive.debian.org/debian bullseye-backports/main amd64 Packages

Package: linux-headers-6.1.0-0.deb11.22-amd64
Version: 6.1.94-1~bpo11+1
APT-Sources: http://archive.debian.org/debian bullseye-backports/main amd64 Packages

Package linux-headers-*deb11.21* is not in the repository. Only linuxheaders-*deb11.22*. That leads to this output from apt:

The following packages have unmet dependencies:
 linux-headers-amd64 : Depends: linux-headers-6.1.0-0.deb11.21-amd64 (= 6.1.90-1~bpo11+1) but it is not installable

As a consequence, DKMS couldn't run, and the video drivers failed to load on next reboot, failing the desktop environment with:

Sep 11 10:07:33 host systemd-modules-load[324]: Error running install command 'modprobe nvidia-modeset ; modprobe -i nvidia-current-drm ' for module nvidia_drm: retcode 1
Sep 11 10:07:33 host systemd-modules-load[324]: Failed to insert module 'nvidia_drm': Invalid argument
Sep 11 10:07:33 host systemd-modules-load[348]: modprobe: FATAL: Module nvidia-current not found in directory /lib/modules/6.1.0-0.deb11.21-amd64
Sep 11 10:07:33 host systemd-modules-load[345]: modprobe: ERROR: ../libkmod/libkmod-module.c:990 command_do() Error running install command 'modprobe -i nvidia-current ' for module nvidia: retcode 1
Sep 11 10:07:33 host systemd-modules-load[345]: modprobe: ERROR: could not insert 'nvidia': Invalid argument

I understand that bullseye is EOL, but:

  1. I am surprised that the archive was saved in a broken state.
  2. bullseye-backports was moved to archive.debian.org a long time ago and I haven't seen this problem before. Is it possible it is still getting updates and we're just in the middle of a transition? Maybe it's just the infrequent reboots.
  3. This seems a little too broken.

Upgrading to trixie is something I am working on, but I have a lot of sites, with each requiring weeks of testing on major updates. So this can only be done gradually.

Questions:

What is the best way for me to ensure I don't get midnight phone calls about sites "failing to boot" (as it is perceived) on a system that is no longer upstream-supported?

I see a few options:

  1. Explicitly install linux-image-6.1.0-0.deb11.22-amd64-unsigned. Repeat for headers.
  2. Remove bullseye-backports from apt sources to avoid pulling broken packages.
  3. apt-mark hold linux-image-amd64. (Though I foresee regret when I do finally finish the upgrade).
  4. Find another mirror
  5. Wait out any transitions (which I am surprised still happen).
添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论