Updating snap, flatpak and appimage through Ubuntu(Gnome) Software and unified cli?

Yes I've seen:

  • Will we be able to install, update and remove snap packages in the Ubuntu Softwares?
  • What are the differences between snaps, appimage, flatpak and others?

This is mainly for limited bandwidth situations. I'd prefer to be able to choose when applications are downloaded. I regularly manually run "apt update && apt upgrade" for this reason.

I believe snap applications update automatically on Ubuntu already, is that correct? So I have never needed to manually run "snap refresh".

Is there a unified interface for updating apt(deb), snap, flatpak, appimage from their respective repositories? Either through the command line or from Ubuntu (Gnome) software? If not, is it possible at least to update flatpak and appimage from the CLI (command-line interface) at all? I am not aware of commands analogous to "apt" and "snap" for these two.

Is it possible to browse repositories for snap, flatpak, and appimage applications via Ubuntu Software, a particular website or is Google the only option?


Solution 1:

The unified interface you're talking about is called PackageKit, and it's actually what powers GNOME Software on all distributions. It's a middle-layer software that sits between the package system of a distribution and front-ends like GNOME Software or KDE Discover.

Flatpak and Snap aren't yet supported by PakageKit. However, you can install plugins for GNOME Software to manage, install, and update Flatpaks and Snaps through GNOME Software (apt install gnome-software-plugin-flatpak gnome-software-plugin-flatpak).

If you disable PackageKit background service, your system will stop updating packages automatically.

Solution 2:

AppImages have, among others, these advantages:

  • Applications packaged as an AppImage can run on many distributions (including Ubuntu, Fedora, openSUSE, CentOS, elementaryOS, Linux Mint, and others)
  • One app = one file = super simple for users: just download one AppImage file, make it executable, and run
  • No unpacking or installation necessary
  • No root needed
  • No system libraries changed
  • Works out of the box, no installation of runtimes needed
  • Optional desktop integration with appimaged
  • Optional binary delta updates, e.g., for continuous builds (only download the binary diff) using AppImageUpdate
  • Can optionally GPG2-sign your AppImages (inside the file)
  • Works on Live ISOs
  • Can use the same AppImages when dual-booting multiple distributions
  • Can be listed in the AppImageHub central directory of available AppImages

With AppImage, it is up to the applicatino author whether he wants to support binary delta updates with AppImageUpdate, or another update mechanism. As a rule of thumb, AppImage always leaves the choice to the person who puts together an AppImage and enforces nothing.

No closed source central store, no central gatekeepers, no contributor CLAs. All open source.