http://www.debian-administration.org/articles/69
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“.
The cautious solution is to run sudo apt-get install <list of packages kept back>
. In most cases this will give the kept-back packages what they need to successfully upgrade.
Per Pablo's answer, you can run sudo apt-get –with-new-pkgs upgrade
, and it will install the kept-back packages.
This has the benefit of not marking the kept-back packages as „manually installed,“ which could force more user intervention down the line (see comments).
If Pablo's solution works for you, please upvote it. If not, please comment what went wrong.
A more aggressive solution is to run sudo apt-get dist-upgrade
, which will force the installation of those new dependencies.
But dist-upgrade can be quite dangerous. Unlike upgrade it may remove packages to resolve complex dependency situations. Unlike you, APT isn't always smart enough to know whether these additions and removals could wreak havoc.
So if you find yourself in a place where the „cautious solution“ doesn't work, dist-upgrade may work… but you're probably better off learning a bit more about APT and resolving the dependency issues „by hand“ by installing and removing packages on a case-by-case basis.
Think of it like fixing a car… if you have time and are handy with a wrench, you'll get some peace of mind by reading up and doing the repair yourself. If you're feeling lucky, you can drop your car off with your cousin dist-upgrade and hope she knows her stuff.