On Sun 26 Mar 2023 at 11:16:21 (+0200), Jesper Dybdal wrote:
> Yesterday, I upgraded Buster => Bullseye.
> 
> This morning, I got a mail from unattended-upgrades, which said:
> 
> > Packages with upgradable origin but kept back:
> >   Debian stable:
> >    guile-2.2-libs w3m
> 
> and
> > Package guile-2.2-libs is kept back because a related package is kept back 
> > or due to local apt_preferences(5).
> > Package w3m is kept back because a related package is kept back or due to 
> > local apt_preferences(5).
> What does this mean?  I have what I believe to be a clean install, I
> have never used apt_preferences, and until now, I had never heard of
> guile or w3m.  And I don't quite understand why I have them installed
> at all.  My sources.list contains only bullseye and
> bullseye-backports.

It's a little odd that, the day after upgrading releases, you
already have backports in your sources list. Is there a specific
reason for that?

Your system seems to have some old packages on it; for example,
heirloom-mailx and ripole are both from stretch. If you need them,
check trhat you still have access to local copies of those packages
and then try removing them to see whether they're causing a logjam.

> apt list says:
> > guile-2.2-libs/stable 2.2.7+1-6 amd64 [upgradable from: 2.2.4+1-2+deb10u1]
> > guile-2.2-libs/now 2.2.4+1-2+deb10u1 amd64 [installed,upgradable
> > to: 2.2.7+1-6]
> > 
> > w3m/stable 0.5.3+git20210102-6 amd64 [upgradable from: 0.5.3-37]
> > w3m/now 0.5.3-37 amd64 [installed,upgradable to: 0.5.3+git20210102-6]

If you read the Release Notes that come with each release, you'll
find instructions on "cleaning" a system before upgrading. A useful
tool to help with that is, for example:

$ aptitude why w3m
i   imagemagick-6-doc Recommends www-browser
i   w3m               Provides   www-browser
$ 

which would mean, on my system in similar circumstances, that I could
remove w3m without ill effects, and then reinstall it later, after
things have unjammed. Similarly:

$ aptitude why guile-2.2-libs 
i   emacs-gtk        Depends    emacs-bin-common (= 1:27.1+1-3.1+deb11u2)
i A emacs-bin-common Recommends mailutils
i A mailutils        Depends    libmailutils7
i A libmailutils7    Depends    guile-2.2-libs
$ 

Here I could remove mailutils, though in this case certain commands
could temporarily fail, eg a cron job that sends an email.

$ apt-get -s purge mailutils
[ … ]
The following packages were automatically installed and are no longer required:
  gsasl-common guile-2.2-libs libgsasl7 libmailutils7 libntlm0 mailutils-common
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  mailutils*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Purg mailutils [1:3.10-3+b1]
$ 

One of those no longer required packages may be what's causing the
problem. They can be reinstalled after you get a clean upgrade.

If things don't turn out as simple as that, then I would have an
in-depth read of   man aptitude   which can test (aptitude -s)
various paths for fixing the problem. It has the patience to
figure out all the dependency/recommendation chains for any
package on the system. (My system has 56 reasons to install
guile-2.2-libs though, as we know, none is entirely based on
dependencies.)
  $ aptitude -v --show-summary=all-packages why guile-2.2-libs | less

Not /every/ package on a system has to come from the same release
version, but you should know which are the exceptions, why they're
installed, and what their dependencies are. So, for example, I have
squeeze's xtoolwait, whose dependencies, libc6 (>= 2.2.5), libx11-6,
and libxext6, are straightforward to satisfy.

One configuration change I always make is:

  $ cat /etc/logrotate.d/apt
  /var/log/apt/term.log {
    rotate -1
    monthly
    compress
    missingok
    notifempty
  }
  /var/log/apt/history.log {
    rotate -1
    monthly
    compress
    missingok
    notifempty
  }
$ 

which keeps a perpetual log of what gets installed on a system, when,
and hints as to why. This helps to answer the questions implied in
your opening paragraphs. (I don't install with aptitude, but that
has a similar configuration parameter.)

Cheers,
David.

Reply via email to