Ubuntu – Why does the separation of update and upgrade even exist

aptArchitecturepackage-managementupdatesupgrade

I understand that in apt, the command update, updates the list of available packages, but it does not upgrade software that was already installed from these packages.

I also understand that upgrade upgrades any software that I already installed from a package I updated with update as described above.

What was the reason of the Ubuntu/Debian developers to do this splitting of update and upgrade instead work with one command to do both tasks?

This is more of a question on the architectural philosophy of the Ubuntu developers.

Best Answer

An upgrade is not the only time you might need to apt-get update, and I do not want to upgrade each time I simply want to update the package lists.

An apt-get upgrade working well may depend on apt-get update being run not long ago, but then that is true of apt-get remove and apt-get install as well! Should all of these imply apt-get update? Of course not! As a simple matter of resource efficiency and design cleanness, if an operation is common to multiple other operations, it should be factored out.

Conversely, given that apt-get remove and apt-get install may also depend on apt-get update being recently run to successfully finish, does it make sense to apt-get upgrade for each run of apt-get update? No, again, since what I intend to do may well conflict with what apt-get upgrade will do.