Snap and Flatpak
Traditional packages (deb, rpm) are distro-specific. Snap and Flatpak are universal - install on any Linux.
The Problem with Traditional Packages
Developer creates app → packages for:
- Ubuntu (.deb)
- Fedora (.rpm)
- Arch (.pkg.tar)
- And many more...
Each distro has different library versions. Nightmare.
Snap (by Canonical)
Snaps bundle the app with all dependencies. Works on any distro with snapd.
Install Snap Support
Find and Install Snaps
List Installed Snaps
Update Snaps
Remove Snaps
Snap Cons
- Slower startup (sandbox overhead)
- Larger file size (bundles dependencies)
- Auto-updates (can't always control timing)
- Loop devices clutter
dfoutput
Flatpak
Flatpak is similar but community-driven, not tied to Canonical.
Install Flatpak Support
Find and Install Flatpaks
List Installed Flatpaks
Update Flatpaks
Remove Flatpaks
Snap vs Flatpak vs apt
| Feature | apt | Snap | Flatpak |
|---|---|---|---|
| Speed | Fast | Slower | Moderate |
| Size | Small | Large | Large |
| Sandboxed | No | Yes | Yes |
| Auto-update | No | Yes | Optional |
| Distro | Debian/Ubuntu | Any | Any |
| Desktop apps | Some | Many | Many |
| CLI tools | Yes | Yes | Few |
When to Use What
- apt: System packages, CLI tools, server software
- Snap/Flatpak: Desktop apps, especially proprietary ones (Spotify, Discord, Slack)
- Flatpak: If you want more control over updates
What's the main advantage of Snap and Flatpak over traditional packages?
Quick Reference
| Snap Command | Purpose |
|---|---|
snap find name | Search |
snap install name | Install |
snap list | List installed |
snap refresh | Update all |
snap remove name | Remove |
| Flatpak Command | Purpose |
|---|---|
flatpak search name | Search |
flatpak install repo id | Install |
flatpak list | List installed |
flatpak update | Update all |
flatpak uninstall id | Remove |
Key Takeaways
- Snap and Flatpak are universal package formats
- They bundle dependencies (larger but portable)
- Snap: Ubuntu-focused, auto-updates
- Flatpak: Community-driven, Flathub is the main repo
- Use apt for system stuff, Snap/Flatpak for desktop apps
- Both provide sandboxing for security
Next: when packages aren't enough - compiling from source.