If the upgrade would require another package to be deleted, or a new package to be installed, the package will be “kept back.” As the man page for apt-get upgrade explains:
Packages currently installed with new versions available are retrieved
and upgraded; under no circumstances are currently installed packages
removed, or packages not already installed retrieved and installed.
To get past this, you can do
sudo apt-get --with-new-pkgs upgrade
This allows new packages to be installed. It will let you know what packages would be installed and prompt you before actually doing the install.
Basic report is that
apt-get upgrade will not upgrade packages for which the package manager would like to delete and reinstall the package. This happens in security patches a lot because, often, it was actually libraries precursor to the final distributable compilation which were patched. The “go ahead and delete things” functionality lives in
apt-get dist-upgrade but be sure to run
apt-get update first just in case the upstream guys figured something out since you last tried. Sometimes they miss things and fix them quickly.
apt-get dist-upgrade. From the man page:
dist-upgradein addition to performing the function of
upgrade, also intelligently handles changing dependencies with new versions of packages;
has a “smart” conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones if
dist-upgradecommand may remove some packages. The
/etc/apt/sources.listfile contains a list of locations from which to retrieve
desired package files. See also
apt_preferences(5)for a mechanism for overriding the general settings for individual packages.
While this command is used to upgrade to a new major version of the operating system, it does not do this by default. The file
/etc/apt/sources.list must be changed to the new version and then a
dist-upgrade is used.