How to install updates via command line?

2,547,851

Solution 1

Use this:

sudo apt update        # Fetches the list of available updates
sudo apt upgrade       # Installs some updates; does not remove packages
sudo apt full-upgrade  # Installs updates; may also remove some packages, if needed
sudo apt autoremove    # Removes any old packages that are no longer needed

Documentation about each apt option can be found in the the manpages for apt. These are also available by running man apt in your terminal.

Use of both upgrade and full-upgrade together is usually not needed, but it may help in some cases: see Debian documentation about Upgrades from Debian 9.

Solution 2

Execute all the commands by typing sudo once:

sudo -- sh -c 'apt-get update; apt-get upgrade -y; apt-get full-upgrade -y; apt-get dist-upgrade -y; apt-get autoremove -y; apt-get autoclean -y'

or:

sudo -s -- <<EOF
apt-get update
apt-get upgrade -y
apt-get full-upgrade -y
apt-get dist-upgrade -y
apt-get autoremove -y
apt-get autoclean -y
EOF

or even shorter in a for loop (thanks @dessert!):

sudo bash -c 'for i in update {,full-,dist-}upgrade auto{remove,clean}; do apt-get $i -y; done'

See the package management with APT maintenance commands documentation for more details.

Solution 3

This is normal behavior.

The message you see on login has been appended to the server status 'Message-Of-The-Day', which is only updated each calendar day (or on server boot / startup). Have a look at the contents, using

cat /etc/motd

Still seeing the same updates available, after running

sudo apt-get update && sudo apt-get upgrade

is to be expected. If you then re-run this command you will only be prompted for any further updates if even further (newer) updates have been released.

Solution 4

Once your log into your server, run the command below.

sudo apt-get upgrade

It should do the trick. Maybe you just need to restart your server.

Solution 5

In my case, I had an incorrect or not accessible URL in /etc/apt/sources.list. After removing this URL, I was able to update all packages successfully.

Commands:

sudo vi /etc/apt/sources.list
sudo apt-get update && sudo apt-get upgrade
Share:
2,547,851

Related videos on Youtube

Lakshmi
Author by

Lakshmi

Updated on September 18, 2022

Comments

  • Lakshmi
    Lakshmi over 1 year

    When I log into my web server via SSH I see the information:

    88 packages can be updated.
    80 updates are security updates
    

    I tried apt-get update then apt-get upgrade but each time I log in I still see the message about updates. How do I install them?

  • Lakshmi
    Lakshmi over 11 years
    Thank you for your answer but I did try sudo apt-get upgrade. Restarting the server is out of the question because I have sites on it.
  • Evandro Silva
    Evandro Silva over 11 years
    if you installed an update that directly affects the kernel or it's a driver update or it's a critical security update, you need to restart the server.
  • NorTicUs
    NorTicUs over 11 years
    Maybe you should consider an error 503 for a minute. Do you know what kind of update this is ?
  • mcont
    mcont over 9 years
    How can you give a 503 if the server is offline?
  • hellboy
    hellboy about 9 years
    Should I always restart with sudo reboot after it?
  • 3lomahmed
    3lomahmed over 8 years
    I'm noticing that any file changes in the whole system doesn't show until the next calendar day, is there a way for like "refresh" to start seeing changes right away?
  • david6
    david6 over 8 years
    Do you mean updates for the content of Message-Of-The-Day, or not getting what you want after running sudo apt-get update && sudo apt-get upgrade ?
  • Bogdan Calmac
    Bogdan Calmac almost 8 years
    This is no longer true on 16.04. After "apt-get dist-upgrade" and a reboot I see "0 packages can be upgraded".
  • david6
    david6 almost 8 years
    The '.. or on server reboot ..' statement above does cover that.
  • xApple
    xApple over 7 years
    cat: /etc/motd: No such file or directory
  • david6
    david6 over 7 years
    This behaviour has clearly been changes, but needs more research ..
  • T04435
    T04435 about 6 years
    I needed to add -y for it to work. Ubuntu 17.10
  • Jonathan Hartley
    Jonathan Hartley over 5 years
    The last sentence of this answer makes no sense to me. "...you will only be prompted for any further updates, even if further (newer) updates have been released." Should it perhaps read something like "...you will not be prompted for any further updates, unless even newer ones have been released since you last ran the command."
  • Tigerware
    Tigerware over 5 years
    Currently this gets updated without restarting.
  • jarno
    jarno almost 5 years
    You can combine dist-upgrade and autoremove by apt-get dist-upgrade --auto-remove.
  • jarno
    jarno almost 5 years
    There is no need to run both upgrade and dist-upgrade.
  • Eliah Kagan
    Eliah Kagan almost 5 years
    @jarno dist-upgrade can remove packages. Using upgrade first may avoid this, such as when new package versions satisfy dependencies more easily than old ones. I don't know how often this helps when upgrading packages within a stable release of Ubuntu, but it's recommended in some other contexts. Personally, I rarely use dist-upgrade in Ubuntu, and when I do, I never pass -y. But if one is to run dist-upgrade and pass -y, I think it's reasonable to perform the upgrade action first.
  • Videonauth
    Videonauth almost 5 years
    @jarno while you can chain --autoremove together with the upgrade command of your choice, it is not advisable as it can end you up with an unclean state when one of the packages fails. A better was is to use the autoremove alone on a separate line after the update process is done, if you want to clean out the old config files too you can chain this with --purge.
  • jarno
    jarno almost 5 years
    @Videonauth oh, it depends how apt is implemented. I think it should be implemented so that it does not leave system in unclean state.
  • TheKarateKid
    TheKarateKid almost 4 years
    @hellboy No need to every time. It will usually inform you if a reboot is required.
  • kas
    kas almost 4 years
    Just pointing out that apt full-upgrade performs the same function as apt-get dist-upgrade, if, like me, you're comparing the commands with other answers in this question.
  • Kellen Stuart
    Kellen Stuart over 2 years
    @hellboy It will tell you if a reboot is required. Also it's unclear whether you're asking if rebooting command line is required - the answer is No. It doesn't matter how you restart the machine.