Snap

Snap in Linux is a package format and also an application packaging ecosystem developed by Canonical (the company that develops Ubuntu).

Snap is a package format that contains an application + all its dependent libraries, so that the application can run independently on many Linux distributions.

Quick comparison:

Package type Example Main features
DEB .deb (Ubuntu) Classic package, system library dependencies
RPM .rpm (Fedora...) Like DEB but for Red Hat distro
Snap No specific extension Fully packaged, isolated, self-updating
Flatpak .flatpakref Similar to Snap, but developed by the community

Key points of Snap:

✅ Advantages:

  • Fully packaged: No external library dependencies → stable on many distros.

  • Automatic update: Snapd will automatically refresh the application (can be disabled).

  • Isolation (sandbox): Snap runs in a separate environment → more secure.

  • Easy to distribute: Developers build once, can be used on many Linux.

❌ Disadvantages:

  • Slower when opening the application for the first time
  • Takes up more space
  • Does not communicate well with the system (eg: ibus, some file managers)
  • Not friendly with GTK themes, icons...
  • Depends on the snapd service running in the background

If you are using Ubuntu (or Ubuntu-based like Pop!_OS, Zorin...), Snap is usually built-in. But some other distros (like Arch, Fedora) do not recommend using Snap, but prefer Flatpak or AppImage.