Move to Linux
Browse guides

Choosing a distro

Package managers

Package managers are the tools Linux uses to install and update software.

The short version

Linux has more than one way to install an app. The main choice is between a package from your distribution and a self-contained format such as Flatpak, Snap, or AppImage.

Distro packages

These are the packages provided by your distribution. They are managed by tools such as APT, DNF, Pacman, and Zypper.

  • Usually the best starting point
  • Fit neatly into the rest of your system
  • Follow your distribution’s normal updates

The exact commands and software sources depend on your distribution. See the guides for Debian, Fedora, Arch, or openSUSE.

sh
sudo apt install package-name

Flatpak

Flatpak apps are designed to work across many distributions. They are kept more separate from the core system and can often provide newer desktop apps.

  • Good for desktop apps that need a newer version
  • Works across different distributions
  • Uses extra storage for shared runtimes
sh
flatpak install flathub org.example.App

See the Flatpak guide for setup and installation.

Snap

Snaps are another cross-distribution format. They are commonly used for desktop apps, command-line tools, and server software.

  • Useful when an app is distributed as a Snap
  • Updates are handled separately from your distro
  • App startup and integration can vary
sh
sudo snap install app-name

See the Snap guide for setup and more commands.

AppImage

An AppImage is a portable app file. You download it, make it executable, and run it without installing it into the system.

  • Convenient for trying an app
  • Does not depend on one distribution’s package manager
  • Updates and desktop integration are usually your responsibility
sh
chmod +x AppName.AppImage
./AppName.AppImage

Which should I use?

Start with your distribution’s own packages. Try Flatpak when you want a newer desktop app or the same app across different distributions. Use Snap or AppImage when the app’s developer provides it that way.

Last updated