snap, flatpak & AppImage — Universal Linux Packages
Install software on any Linux distro using snap, flatpak, and AppImage — cross-distribution package formats that work everywhere.
March 20, 20255 min read
linuxsnapflatpakappimagepackages
Why Universal Packages?
Traditional packages (apt, dnf, pacman) are distro-specific. Universal formats bundle their own dependencies and work on any distro.
Comparison
| Feature | snap | flatpak | AppImage |
|---|---|---|---|
| By | Canonical | Red Hat | Community |
| Sandboxed | ✅ Yes | ✅ Yes | ⚠️ Optional |
| Auto-update | ✅ Yes | ✅ Yes | ❌ No |
| Installation | System-wide | System/user | No install needed |
| Store | Snapcraft | Flathub | AppImageHub |
snap
sudo snap install code --classic # Install VS Code
sudo snap install discord
snap list # Installed snaps
sudo snap remove code # Remove
snap find "video editor" # Search
sudo snap refresh # Update all snapsflatpak
# Install flatpak (if not already)
sudo apt install flatpak
# Add Flathub repository
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# Install and run apps
flatpak install flathub com.spotify.Client
flatpak run com.spotify.Client
flatpak list # Installed flatpaks
flatpak uninstall com.spotify.Client
flatpak update # Update allAppImage
AppImages are single-file executables — no installation needed. Just download, make executable, and run.
# Download an AppImage
wget https://example.com/app.AppImage
# Make it executable
chmod +x app.AppImage
# Run it
./app.AppImage
# To "uninstall" — just delete it
rm app.AppImagePrefer Flatpak for desktop apps (better sandboxing). Use snap for server tools and CLI apps. Use AppImage when you need a portable self-contained binary.
Quick Check
Which universal package format requires NO installation — just download and run?
Exercise
Search for vlc using snap, then check if flatpak is installed on your system.