Packages, or Applications, on Linux can be installed a number of ways. This demonstrates the true freedom and power of the Linux Operating System, and while it may be confusing to newcomers, you’ll quickly learn that you can get software just as easy as you can on Windows or macOS. However instead of only one software center, you can enjoy many others to get the packages or applications that you need.

Package Maintainers on your Distribution

.deb packages / APT repository / Synaptic

AppImages

Flatpaks

.zip or tar.gz compressed files

Snap Store

building from source code (advanced)

 

Package Maintainers on your Distribution

Each ‘distro’ of Linux has its own package manager that will probably get you any and all software that you need on your system. These are generally GUI (Graphical User Interface) so it’s all just point and click much like on Microsoft Windows or Apple’s macOS. In Pop!_OS for example, there is the Pop Shop that allows you to search for and download/install just about anything, as well as handle updates.

.deb packages / APT repository / Synaptic

Debian packages (.deb) are largely what you’ll be using on the more common Debian based Linux Operating Systems such as Pop!_OS, Zorin, Ubuntu, Linux Mint, etc. There are a number of ways to search for and install these. First, you can simply use your system’s package manager as outlined above, or you can use the command line interface (CLI or terminal) to fetch apps (very fast) or you can use a GUI version of the APT (Advanced Package Tool) repository called Synaptic for point and click search/install of software packages.

AppImages

These are very easy to download and use, not all apps will have an AppImage version, but those that do you simply download it, make it executable and double click it to launch. AppImages contain all of their own code/dependencies so they generally work very well with minimal fuss. One downside is that they do not appear in the Applications menu on all Linux systems, but this can be easily solved with an app called AppImageLauncher from Github. This launcher will integrate your AppImages into your Linux system’s Applications menu.

Flatpaks

A very popular and easy to use app store is Flathub.org where you can fetch Flatpaks. This is yet another type of application you will almost certainly use, this is a very large repository of software. Flatpak by default is in effect sandboxed, meaning each individual flatpak app you install does not reach out and talk to other apps on your system, for a more secure environment. These often can also be installed via your system’s default package manager in many cases. (Example, on Pop!_OS, you can search for an app in the Pop Shop, if there are both Flatpak and APT versions, you can choose which one you want to install) Generally if an app is available as a .deb / APT, I will choose that over Flatpaks, however this varies considerably case by case. Either version usually will work just fine for you. For Flatpak improvement, try these easy tweaks: https://itsfoss.com/flatpak-tips-tweaks/

.zip or tar.gz compressed files

These can be quite confusing for those new to the Linux environment. A smaller handful of software is available for download as a compressed file (either .zip or tar.gz in Linux) and can include any number of types of software inside ranging from AppImage to a .deb package, or even raw source code.

Snap Store

Best avoided, this is now the default package manager on Ubuntu Linux. Some of the upstream software in Snap packages are not open source, for this reason I choose not to use Snaps at all. Instead I stick with Debian packages via APT, AppImages and Flatpaks for the most part.

Building from Source Code

This is an advanced method to install and customize software that is best avoided for newcomers to Linux. With the options available above, few if any will wish to compile from source code, but again this showcases the power of Linux and its related software. You can customize just about anything on your system exactly the way you like it, right down to the raw source code.

Everything we have covered on this page is strictly for Debian based Linux machines, if you are using RHEL or Arch or other types of Linux, you will have some variations from what is on this page, but very similar concept. Most beginners will want to stick with Debian based Linux initially, however know that other Linux ecosystems exist and thrive out there. It’s seemingly endless, the choices that are available.


Watch how to install common packages (apps or programs) onto your Linux system: