apt update vs apt upgrade

If you ever work with Debian Linux or one of the many Linux distributions that were derived from it, such as Ubuntu, you’ve probably seen or used the APT package manager. APT is how packages are installed, updated, and removed on such systems.

When using the command line, the apt update and apt upgrade commands can be used to update package repos and upgrade packages, respectively. In this guide, we’ll be looking at the difference between the two commands and how they can both be used to upgrade installed packages on a Debian based system.

You may also see apt-get update and apt-get upgrade commands used. We’ve written a full article explaining the difference between apt and apt-get, but suffice it to say that these commands perform basically the same functions as the corresponding apt commands.

In this tutorial you will learn:

  • What distros use apt update and apt upgrade?
  • What is the difference between apt update and apt upgrade?

apt update and apt upgrade commands being used to upgrade packages

apt update and apt upgrade commands being used to upgrade packages

Software Requirements and Linux Command Line Conventions
Category Requirements, Conventions or Software Version Used
System Debian Linux and most derivatives
Software N/A
Other Privileged access to your Linux system as root or via the sudo command.
Conventions # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
$ – requires given linux commands to be executed as a regular non-privileged user

What distros use apt update and apt upgrade?

Debian and Ubuntu are probably the most notable Linux distros that use APT (Advanced Package Tool) software which contains the apt update and apt upgrade commands, among others, that you are used to seeing. There are a lot of other distros that are based on Debian, and most of those also use APT.

Note that some Debian derivatives may put their own spin on the APT package manager, so it’s not always guaranteed that apt commands will function the same on all distros. You would have to check the man pages with man apt on other distros to be sure. In this article, we’re talking about apt in the context of its implementation on Debian and Ubuntu.

Other distributions with different package managers like DNF, YUM, Pacman, etc. will not be able to use the apt commands at all. Those package managers have their own functions and syntax, which may be very different from apt.

What is the difference between apt update and apt upgrade?

apt update downloads package information from all configured sources (i.e. the sources configured inside /etc/apt/sources.list). This is how your system knows which packages are available for upgrade, and where to retrieve that software.

apt upgrade can then act on this information and upgrade all installed packages to their latest versions. This command will only upgrade packages that are already installed; it won’t install new packages unless they are required for resolving dependencies. apt upgrade also won’t remove any packages. If a package must be removed to complete an upgrade, the command will simply skip that upgrade and leave your current packages intact.

So why are these two commands separate?

Since the commands go hand in hand, many users wonder why they are even separate in the first place. It’s extremely common to run the commands in quick succession, or even execute them on the same line, like so:

$ sudo apt update && sudo apt upgrade

The reason for separating the commands is because apt upgrade will attempt to upgrade every installed package on the system, which isn’t always desirable. For example, what if you only want to upgrade to the latest version of Apache?

$ sudo apt update
$ sudo apt install apache2

Using the commands above, you can upgrade only the apache2 package and avoid upgrading the rest of the system. You could also use these commands to install Apache on a system which doesn’t currently have it. In such a case, running apt update before the apt install command is still recommended so you end up with the latest version.

Now that you know the difference, it’s also helpful to remember the commands apt full-upgrade and apt autoremove.

apt full-upgrade works very similarly to apt upgrade, except it also has the ability to remove packages from the system, if it’s necessary in order to complete an upgrade. It’s usually safe to use this command, but when in doubt, you can try an apt upgrade command first to see which, if any, packages get held back. All of these apt commands ask for confirmation before making any changes to your system.

apt autoremove can be used to remove lingering packages from your system that were only installed as dependencies for other packages. It’s common to have a few of these packages hanging around after a sizeable upgrade. They’re no longer needed, so there’s usually not much sense keeping them. APT still needs you to issue this command, as it doesn’t want to remove anything without your consent. Removing these old packages will free up some disk space and keep your system running clean.

It’s most common to run it right after upgrading.

$ sudo apt update && sudo apt upgrade && sudo apt autoremove

Or, to breeze through the confirmation dialogs and further streamline the process, you can use the -y option.

$ sudo apt update && sudo apt -y upgrade && sudo apt -y autoremove

Closing Thoughts

In this guide, we learned about the difference between the apt update and apt upgrade commands on Debian based systems. Both commands go hand in hand, and are required for keeping software up to date. We also learned about apt full-upgrade and apt autoremove, two more APT commands that help keep our system up to date and clean.