Some upgrades show packages being kept back

Posted by Steve on Sun 2 Jan 2005 at 14:54

Sometimes when you go to upgrade your machine with apt-get you will see that a package is being "kept back".

Normally to upgrade a machine you would run:

apt-get update
apt-get upgrade

This should upgrade all the installed packages upon your machine (well at least all those packages which you have installed that have a newer version available), but it doesn't always do that.

If the dependencies have changed on one of the packages you have installed so that a new package must be installed to perform the upgrade then that will be listed as "kept-back".

For example my apt-get upgrade today showed this:

root@sun:~# apt-get upgrade
Building Dependency Tree... Done
The following packages have been kept back:
  bind9-host dnsutils imagemagick libmagick6
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.

There we can see four packages haven't been upgraded, even though newer packages are available. This is because two new packages were introduced, and these upgrades depend upon it.

To fix this you must run :

apt-get dist-upgrade

This will upgrade the packages that have newer versions available, and install any new dependencies which are required to do that.

root@sun:~# apt-get dist-upgrade 
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
The following NEW packages will be installed:
  libdns16 libdps1
The following packages will be upgraded:
  bind9-host dnsutils imagemagick libmagick6
4 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 3697kB of archives.
After unpacking 1860kB of additional disk space will be used.
Do you want to continue? [Y/n] 

Here we can see the two new packages which are required to satisfy the dependencies of the upgrades, libdns16 and libdps1.


This article can be found online at the Debian Administration website at the following bookmarkable URL (along with associated comments):

This article is copyright 2005 Steve - please ask for permission to republish or translate.