6

My AppCenter has an icon indicating several updates in the queue. How can I download and install these updates from Terminal/CLI without opening AppCenter?

2 Answers 2

9

elementaryOS natively supports two different packaging formats, deb packages and Flatpaks. The system's deb packages are managed via the Aptitude package manager while Flatpaks are maintained separately with Flatpak's own command-line program.

Aptitude

Aptitude has multiple command-line interfaces available.

The new apt tool has been in Ubuntu since 14.04. apt(8) describes it thus:

The apt command is meant to be pleasant for end users and does not need to be backward compatible like apt-get(8).

To update your system with apt is as simple as:

sudo apt update
sudo apt full-upgrade

apt-get is functionally very similar to apt, so there is nothing wrong with using it. Prashantc's answer is mostly correct, however will fall short if an updated package requires additional packages. If you are using apt-get, unless you have a specific reason for not upgrading certain packages, you should use:

sudo apt-get update
sudo apt-get dist-upgrade

The classic example, being that sudo apt-get upgrade will fail to update linux-image-generic as this needs to bring in a new dependency (i.e. linux-image-3.16.0-25-generic). dist-upgrade on the other hand handles changing dependencies with new versions of packages.

If you want something a little more interactive, you can use the Ncurses-based aptitude (installed by default), which is a frontend to apt:

sudo aptitude

Press u to update the latest package list, and then g to install updates.

You can find more information about aptitude here.

Flatpak

Flatpak is a packaging format for distributing desktop applications on Linux. Flatpak updates are not handled by Aptitude but instead require using the flatpak command. Flatpak keeps separate installations for each individual user while also maintaining a system-wide installation. Individual user installations are separated from each other and also separate from the system installation. This requires each one to be updated separately.

To update the current user's Flatpaks, use the following command.

flatpak update --user

System-wide Flatpaks are updated similarly.

sudo flatpak update --system

You can find additional information about Flatpak here.

2
  • Sidenote,apt is a more recent version of apt-get, and also is more comfortable to use, see here Sep 21, 2016 at 11:01
  • @NicolaLiguori I state this in my answer.
    – Mike Wild
    Sep 21, 2016 at 15:19
2

As a complement to the main answer - to do it from Slingshot:

scratch-text-editor ~/.local/share/applications/apt-update.desktop

paste this:

[Desktop Entry]
Type=Application
Name=update
Icon=system-software-install
Categories=Utility;
Exec=pantheon-terminal -e 'sudo apt update && sudo apt full-upgrade'

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.