Someone says "update" is for small changes and "upgrade" is for big changes. I am very much confused about software update and upgrade. And when I should use update vs. when I should use upgrade.

Could someone explain the difference between these terms in the package managers?


Ubuntu / Debian etc. using apt-get:

You should first run update, then upgrade. Neither of them automatically runs the other.

  • apt-get update updates the list of available packages and their versions, but it does not install or upgrade any packages.
  • apt-get upgrade actually installs newer versions of the packages you have. After updating the lists, the package manager knows about available updates for the software you have installed. This is why you first want to update.

- Source.

However with Red Hat / CentOS using yum the update command will ask you if you want to apply the updates it finds.

$ sudo yum update

grabs a list of all available updates and asks you if you would like to apply them. Like this:

 kf5-sonnet-core                            x86_64                   5.33.0-1.el7                                    epel                   150 k
 kf5-sonnet-ui                              x86_64                   5.33.0-1.el7                                    epel                   141 k

Transaction Summary
Upgrade  52 Packages

Total size: 15 M
Is this ok [y/d/N]: 

When your friend refers to update as "small changes" and upgrade as "big changes" he actually means the difference between upgrade and dist-upgrade.

From the apt-get manual:

       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 no
       circumstances 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.

       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. The dist-upgrade
       command may therefore remove some packages. The
       /etc/apt/sources.list file 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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.