deb
based distributions provide apt or apt-get to manage packages interactively and from network repositories. While updating packages update
, upgrade
or dist-upgrade
can be used. But what is the difference between these two commands. In this tutorial, we will look at this issue.
Apt-Get/Apt Update
update
command will simply get the packages information from repositories. These repositories are remote internet sites that provide packages and their metadata. We will get metadata or package information and then compare it with locally installed or downloaded package information and metadata. This will not download any packages.
$ sudo apt update
Apt-Get/Apt Upgrade
The real update operation will be down with upgrade
command. This command will download packages and upgrade accordingly. So upgrade
command will be run after update
command. We should have root privileges in order to completely update operation so we will use sudo
before upgrade
command.
$ sudo apt upgrade
Apt-Get/Apt Dist-Upgrade
dist-upgrade
command is very similar to upgrade
command. This command will upgrade too but during the upgrade, there will be some prompts related to package configuration. In dist-upgrade
this questions will be answered automatically by apt
which will make our upgrade operation more easy and intelligent.
$ sudo apt dist-upgrade
Apt-Get/Apt Full-Upgrade
full-upgrade
is the same as dist-upgrade
so we can use both command interchangeable.
muchas gracias
`upgrade` will not upgrade all packages like the kernel and a few others flagged as a “distribution upgrade”. That is why you sometimes need to run `dist-upgrade`.
upgrade will hold back upgrades that require other packages be removed due to dependency changes. It will only upgrade installed packages and install new packages.
dist-upgrade/full-upgrade will remove packages that were automatically installed (installed as dependants of manually selected packages) as needed to satisfy package upgrade dependency conflicts.
Neither upgrade nor dist-upgrade/full-upgrade will remove automatically installed packages (dependencies) that are no longer needed after the upgrade. autoremove will do just this.