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.
I'm glad you found that useful .. the difference is explained briefly in the manpage for apt-get - in the dist-upgrade section, but it would be nice if it were more explicit.
I guess there are a couple of other ways you could get into that state, if you were using pinning or playing with lots of different repositories - but this seems to be the most common one.
I guess I should write about pinning sometime soon, unless somebody else does it for me ;)
Steve
-- Steve.org.uk
[ Parent ]
deb http://security.debian.org/ stable/updates main
sarge. Now sarge is no longer stable, but oldstable, and even a dist-upgrade will hold the related updates back.dist-upgrade with the -V switch clarifies what happens. Example:
The following packages have been kept&nb sp;back:
openssl [0.9.7e-3sarge4&n bsp;-> 0.9.8c-4etch1]
[ Parent ]
[ Parent ]
True .. although it could take a while if there are a lot of packages which are held back!
Steve
-- Steve.org.uk
[ Parent ]
[ Parent ]
[ Parent ]
I think that's clearly spelt out in the second paragraph where 'dist-upgrade' is shown used on its own.
Steve
-- Steve.org.uk
[ Parent ]
Steve
-- Steve.org.uk
[ Parent ]
[ Parent ]
Steve
-- Steve.org.uk
[ Parent ]
[ Parent ]
[ Parent ]
The following NEW packages will be automatically installed:
gcj-4.1-base
The following NEW packages will be installed:
gcj-4.1-base
The following packages will be upgraded:
libgcj-common
[ Parent ]
[ Parent ]
[ Parent ]
Perhaps you wanted to write:
It generally means that some packages have unsatisfiable dependencies, often common in unstable/sid. Sometimes a problem even in testing/etch.
Sid is more "bleeding edge" than Etch.
[ Parent ]
[ Parent ]
[ Parent ]
[ Parent ]
[ Parent ]
[ Parent ]
[ Parent ]
To fix 'kept back' packages, the solution is not
apt-get dist-upgrade
Instead, according to the "Upgrading Packages" section of the APT HOWTO, the answer is to run:
apt-get install kept-back-package(s)
I had a situation where amarok and amarok-zine were being held back while I regularly use dist-upgrade. The solution found in the "Upgrading Packages" section of the "APT HOWTO" at debian.org resolved the issue.
This method also one to stick with apt-get upgrade, instead of dist-upgrade, when updating their system.
[ Parent ]
[ Parent ]
[ Parent ]
[ Parent ]
[ Parent ]
[ Parent ]
[ Parent ]
[ Parent ]
I'd probably try diagnosing this by seeing what happens if you run:
apt-get install akregator
Or "apt-get install kaddressbook". Probably this is a temporary dependency issue, and the new dependencies aren't available.
[ Parent ]
[ Parent ]
[ Parent ]
[ Parent ]
[ Parent ]
[ View Weblogs ]
[ Parent ]