Well, yes, when a meta package gets updated and the old dependencies arenât needed anymore, they will get removed; nothing apt autoremove wouldnât. Since my mishap with full-upgrade removing network-manager on a 22.04/24.04 hybrid, I only run apt upgrade and usually only the latest kernel and the one installed before that is kept, for each HWE and GA. As the apt(1) man page says:
(emphasis added)
Those kernel removals in your example are probably just the usual cleanup of old kernels; which is configured somewhere in /etc/apt/apt.conf.d/, IIRC. full-upgrade used to be called dist-upgrade and still is in apt-get, because a distro upgrade from one Debian stable to the next is usually when a package can have its dependencies changed in a major way so that it wouldnât install with upgrade because it isnât allowed to remove package which the new version has a Conlflicts: against; or more complex inter-dependencies the APT solver canât otherwise satisfy. For instance, the standard mail transport agent now is postfix as opposed to exim4, but there was a transitional package, IIRC, which would only successfully install with full-upgrade, because it conflicted exim4, which regular upgrade isnât allowed to satisfy, because it would have had to remove exim4.
That network-manager incident was ultimately caused by the transition to netplan as the net config backend and my system, which started from a bare bones server install was matched against the server criteria, even though it pretty much is a desktop, but I may have missed some packages which the auto detection was relying on, or something like that; I may be wrong on some details but thatâs the gist I remember. And my system wasnât exactly standard because, as I said, it was a 22.04/24.04 hybrid, with select packages from 24.04, made possible by APT pinning â yes, I knew what I was doing
; maybe it was simply because it wasnât do-release-upgrade doing it, but plain apt because of that setup.
To be perfectly clear, that was my own fault; I should have read more closely the list of to be removed packages, but since such never happens on a day-to-day basis intra-release, I had gotten careless. It used to be quite common on Debian Sid, when I was still running it, but that comes with the territory, so I was more aware.
That sort of stuff shouldnât happen on a standard Ubuntu system, simply because policy forbids major version upgrades, except for the HWE stack, which I have never seen to do a dependency switcheroo of Conflicts: old-dep && Depends: new-dep.