Linux Jargon Buster: What is Flatpak? Everything Important You Need to Know About This Universal Packaging System

What are Flatpak packages? Why is it called a universal packaging system, what problem does it solve and how does it work? Learn about Flatpak.
Warp Terminal

While reading the installation instructions of an application, you’ll often come across terms like “Flatpak”, “Snap”, and “AppImage”.

You might have already used some of them on Linux — but might not really know they are. Flatpak, Snap and AppImage they are ‘universal packaging systems’.

In an earlier article in the Linux Jargon Buster, you have learned about the package manager in Linux. So I won’t bother you with packaging anymore. I’ll highlight what is Flatpak and how it tries to solve problem as a universal packaging system.

What is Flatpak?

Flatpak is a package management utility that lets you distribute, install and manage software without needing to worry about dependencies, runtime, or the Linux distribution. Since you can install software without any issues irrespective on the Linux distribution (be it a Debian-based distro or an Arch-based distro), Flatpak is called universal package.

In case you’re curious, Alexander Larsson is the one responsible to create Flatpak and the history to Flatpak dates back to the summer of 2007. You can read more about his work and Flatpak’s history on his blog post.

It’s impressive to know what it is and how it came in to existence, but why was it created and how does it work?

What problem Flatpak solves?

What Is Flatpak

With so many Linux distributions out there, managing & installing software is one of the most important aspects of managing a Linux system.

If you are an experienced Linux user, you can surely figure out the best way to do it. But, for beginners or for users who don’t want a learning curve to manage packages, these are some issues when using the traditional package formats (deb/rpm):

  • Need to resolve dependencies issues (dependencies refers to other packages that a program depends on to work)
  • Find required libraries to make the software work
  • Adapt to new package managers when switching Linux distributions
  • Not the most secure way of installing/managing software

In other words, with traditional package management systems there are some potential issues that you might encounter in order to make the software work for your system. And, not everyone has the time to troubleshoot!

That’s when something like Flatpak comes into play.

Flatpak is an open-source utility that helps you distribute, manage/install packages without thinking about the Linux distribution you’re using or the dependencies/libraries that the program requires to run.

Now that you know what it is all about let’s dive in deeper to know what Flatpak is, how it works, and some background on it.

How does Flatpak work?

Flatpak Working
Image Credits: Flatpak Documentation

Flatpak apps run in an isolated environment (often referred as a sandbox). This sandbox contains everything that’s needed to run that specific program.

Basically, the sandbox includes the runtime and bundled libraries to fulfill the requirements of a program to run. You can learn more about the technical details in their official documentation.

Also, just because Flatpak apps are isolated, it cannot make any changes to your system without explicit permission from the host (you). So, Flatpak offers enhanced security to your system by keeping the applications isolated.

Where do you get Flatpak apps?

Flathub Screenshot
Flathub

Please keep in mind that in order to use Flatpak packages, your Linux distributions must have Flatpak support. Some distributions like Fedora, Solus etc come with Flatpak support by default whereas you need to manually install Flatpak support in distributions like Ubuntu.

Even though Flatpak technology allows you to not rely on a centralized source for getting software, you will find using Flathub (built by Flatpak team) to distribute and manage software.

There could be other existing Flatpak repositories but none that I’m aware for my personal use-case.

Flatpak: Pros and Cons

No wonder that Flatpak is something impressive — it comes with its fair share of advantages and disadvantages. Here, I’ll list some of them:

Advantages of using Flatpak

  • Flatpak apps can run on any Linux distribution
  • They offer forward-compatibility, meaning — you don’t need to worry about the apps not working if you upgrade your Linux distro to a bleeding-edge version that’s not officially supported by the application.
  • You don’t need to rely on dependencies.
  • In some cases, you will find the latest and greatest version of a program for Flatpak.
  • Flatpak app distribution does not depend on a centralized server, meaning — you don’t get locked-in to one vendor.
  • Enhanced security for your system using sandboxed applications
  • Offers easy integration with an existing software center on your Linux distribution

Disadvantages of using Flatpak

  • It does not have server support yet. It’s only available for desktop Linux as of now.
  • Flatpak apps consume more disk space than you’d usually have when using deb/rpm files. And, you’d need to find ways to free up disk space eventually.
  • Just because it runs on an isolated environment, you may miss a couple of functionalities for some programs. For instance, Flatpak apps may not support your custom GTK theme.
Flatpak Apps Look Out of Place? Here’s How to Apply GTK Themes on Flatpak Applications
Flatpak applications don’t play along well with system themes because of their sandbox nature. With a little effort, you can make them work with system themes.

What next?

I hope that now you have a good idea on what Flatpak is all about. If you want to explore more about installing and using Flatpak, I recommend reading our Flatpak guide to get started.

Using Flatpak on Ubuntu and Other Linux Distributions [Complete Guide]
Flatpak is a universal packaging format from Fedora. Enabling Flatpak will give you access to the easy installation of many Linux applications. Here’s how to use Flatpak in Ubuntu and other Linux distributions.

Learning about AppImage, another popular portable Linux packaging format is also a good idea.

How To Use AppImage in Linux [Complete Guide]
Brief: This AppImage tutorial shows you how to use AppImage to install software and how to remove the applications it installed. There are ways to install the software in Ubuntu or any other Linux distribution. Downloading .deb or .rpm files and double click on them to install software is one

If you enjoyed reading this article, please take a moment to share it across social media platforms!

About the author
Ankush Das

Ankush Das

A passionate technophile who also happens to be a Computer Science graduate. You will usually see cats dancing to the beautiful tunes sung by him.

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

itsfoss happy penguin

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.