Dear Maintainer,
I recently upgraded a bookworm to trixie. However, after the reboot, the system
did not bring up any network interfaces apart from lo. (This being a headless
system managed over the network was a minor inconveniency.)
I believe the following is what happened.
The system is configured NOT to install Recommends, i.e. it has
APT::Install-Recommends "false";
The system (initially installed as bookworm 1.5 years ago) is set up to use
ifupdown-ng to bring up its nerwork interfaces.
The apt-get dist-upgrade went smoothly - as always.
However, after boot, the only network interface that was brought up was lo,
leaving the system unreachable (except via BMC).
The obvious expectation was that the interfaces configured in
/etc/network/interfaces.d (sourced by /etc/network/interfaces)
would be brought up and the system reachable.
I believe this happened because of the two conditions above: ifupdown-ng manages
network and apt does not install recommends: there is a mysterious entry in
ifupdown-ng's changelog from 2023:
"Fix upgrade path from stable not installing ifupdown compat"
which - in hindsight - I presume meant that ifupdown-ng-compat package was created
and added as Recommends to ifupdown-ng. You see where this goes: not installing
Recommnds leaves the system without ifupdown-ng-compat and hence without
networking.service, hence nothing tries to bring the interfaces up.
While this is probably a rather uncommon corner case, I still believe this is a "bug"
that needs to be addressed, but how? I agree Recommends is appropriate instead of
Depends, so I guess the only remaining option is a note in Trixie (and maybe also in
Forky) upgrade/release notes chapter 5 (or maybe 4.5?), so at least other admins of
headless systems using ifupdown-ng have a chance of noticing this before rebooting.
Cheers,
Juha
P.S. After installing ifupdown-ng-compat, the networking.service was left in a
disabled state - I have no opinion of whether that's better or worse than enabling
it, but this should also be mentioned in whatever note is written about this: just
installing the package is not sufficient.