Just out of curiosity, I've being wondering why should a debian or ubuntu user have to run sudo apt-get update or sudo yum update (in the case of other distros) most times before installing a new software. E.g:

sudo apt-get update

sudo apt-get install -y mongodb-org
  • 5
    It is in case you have changed the repository list: apt update gets the latest software availability tables.
    – AFH
    Apr 22, 2018 at 18:36

3 Answers 3


This is somehow the concept of :

Look before you leap and can be said as update before install.

Now note that In linux world update and upgrade are two different terms. To get a short and sweet knowledge refer to these posts at AskUbuntu, Unix StackEx and It's FOSS.

Now the difference between the two can be figured out by man apt-get :

    Used to re-synchronize the package index files from their sources.
    The indexes of available packages are fetched from the location(s)
    specified in /etc/apt/sources.list(5).
    An update should always be performed before an upgrade or dist-upgrade.

    Used to install the newest versions of all packages currently installed on the
    system from the sources enumerated in /etc/apt/sources.list(5).
    Packages currently installed with new versions available are retrieved and
    upgraded; under no circumstances are currently installed packages removed,
    nor are packages that are 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 
    An update must be performed first so that apt-get knows that new versions
    of packages are available.

I suggest you read again the last lines of both commands that explicitly answers your question that is

You get the latest version of a package to install

Also, See this image below ( Created by me ) to get a better view on it.

apt-get update vs upgrade

Feel free to add-in more details.

sudo apt-get update

updates the list of applications your computer knows of. If you have not ran this command in a while and try to install new software, it will not install because your computer doesn't know it exists.


Not necessarily if you ran that command shortly enough before.

It just updates repository metadata to make sure the subsequent command doesn't fail because of out-of-date metadata.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .