For some people it is not straightforward what each command does when they update their Linux Distribution. This brief blog post provides some information on the different commands being used for updating a distribution using the apt-get command.
apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get full-upgrade
update downloads the package lists from the repositories and "updates" them to get
information on the newest versions of packages and their dependencies (for all repositories and PPAs). It is used to re-synchronize the package index files from their sources from the location(s) specified in /etc/apt/sources.list. An update should always be performed before any upgrade.
apt-get upgrade
upgrade is used to install the newest versions of all packages currently installed on the
system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new versions available are retrieved and upgraded; under nocircumstances are currently installed packages removed, or packages not already
installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version. An update must be performed first so that apt-get knows that new versions of packages are available.
apt-get dist-upgrade
dist-upgrade in addition to performing the function of upgrade, also intelligently
handles changing dependencies with new versions
of packages; apt-get has a "smart" conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones if necessary. So, dist-upgrade command may remove some packages. The /etc/apt/sources.list file contains a list of locations from which to retrieve desired package files. See alsoapt_preferences(5) for a mechanism for overriding
the general settings for individual packages.
apt-get full-upgrade
full-upgrade performs the function of upgrade but may also remove installed packages if
that is required in order to resolve a
package conflict.