What’s the difference between software update and upgrade

aptpackage-managementsoftware-updatesyum

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?

Best Answer

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
       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
       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
       packages.
Related Question