I am using Ubuntu 19.04. When I need to install some new package I usually do it by running sudo apt install
from the command line. To keep things updated I use "Software Updater" (update-manager), sometimes it pops up to remind me and sometimes I run it myself to make sure everything is up to date.
However, recently I have installed some packages using snap install
instead of apt, and now I am not sure if I should run something more than "Software Manager" to make sure everything is updated.
Does "Software Updater" only update software installed using apt, or also software installed using snap?
Do I need to run something else in addition to "Software Updater", and if so, what?
Also: is it a bad idea to mix the "apt" and "snap" ways of installing things?
Software Updater only updates installed apt packages. Installed snap packages are automatically updated separately in the background. You can also update snap packages from the terminal with the following command:
The
sudo snap refresh
command updates the specified snaps, or all snaps in the system if none are specified. The results ofsudo snap refresh
will list the snaps that were refreshed by that command.Since snap packages are standalone packages that are bundled with everything necessary to install each snap package, it is possible to install a snap package alongside an apt package of the same application and use either or both of them, as well as being possible to mix and match apt and snap packages freely. This is a great convenience when you need to install the latest version of an application. In fact some snap packages such as the node snap (Node.js) are available in multiple versions and you can even install multiple versions of the same software and select which version to use each time you run the software.
If there are multiple versions of the same application installed it can get confusing if they both have the same icon in the Dash, however you can also run any snap package from the terminal with this command:
If there is a snap package named
snap-package-name
installed the above command with run it, but it will not run the apt package of the same application.