devutils/ATFQ/book ATFQ git

Part II · Your system

24.2 Native packages vs Snap and Flatpak

alsosnapsnapsflatpakflathubappimagedebrpmsandboxed apps

TL;DR

  • Native packages (deb, rpm, pacman) come from your distro, share its libraries, and are updated with the system.
  • Snap (from Canonical) and Flatpak (mostly from Flathub) ship apps with their own runtime, in a sandbox, whatever the distro version.
  • Snaps update themselves; Flatpaks update with flatpak update or your software center.
snap list
flatpak list --app
flatpak info --show-permissions org.gimp.GIMP

On your machine

alice@laptopexample
$ atfq 24.2
  dpkg      2 packages
  Snap      2 snaps
  Flatpak   3 apps

An example: Alice's laptop, one of the test machines. In your terminal, this block shows your own machine, read live.

Pitfalls

Deep dive 2 questions

Why do they exist?

A distro ships one version of each library for all its apps, so an app that needs a newer one waits for the next release. Snap and Flatpak cut apps loose from the distro: the developer builds once, and the app runs on many distros and versions.

Snap, Flatpak or AppImage?

Snap has one store, run by Canonical, and also packages server tools and even the system itself (Ubuntu Core). Flatpak is for desktop apps, with Flathub as the main source. AppImage is a third way: one file you download and run, with no install and no sandbox by default.

Commands
snap flatpak
Paths
/var/lib/snapd /var/lib/flatpak
See also
24.1 Which package owns a file