Glossary

Snap

Snap is a cross-distribution package format developed by Canonical (Ubuntu's parent company). A snap bundles an application together with its dependencies into a single .snap file, which is mounted as a compressed squashfs filesystem and run inside a confinement sandbox based on AppArmor and seccomp. Snaps auto-update through the snapd daemon and are distributed through the centralised Snap Store.

snap find keyword                   # search store
sudo snap install firefox            # install
sudo snap refresh                     # update all snaps
snap list                             # installed snaps
sudo snap remove firefox

Snaps are self-contained, so they work across many distributions without repackaging. They isolate applications from the host, which improves security. They also include a concept of channels (stable, candidate, beta, edge) for different release streams.

Snap is divisive. Supporters love that it lets software vendors ship a single package that runs everywhere. Critics point to the proprietary server side, slower startup times due to mounting squashfs, and the difficulty of avoiding them on Ubuntu—which installs core utilities like Firefox as snaps by default. Alternatives with similar goals include Flatpak (more community-governed) and AppImage (no daemon, no confinement).

Related terms: Flatpak, AppImage, Ubuntu, Package Manager

Discussed in:

Also defined in: Textbook of Linux