When reading the installation instructions for an application, terms such as Flatpak, Snap and AppImage often occur.
Maybe you’ve used them on Linux before – but you don’t really know if that’s the case. Flatpak, Snap and AppImage are universal packaging systems.
In a previous article about Linux Jargon Buster you have read about the Linux package manager. So I won’t bother you packing anymore. I will focus on what Flatpak is and how it tries to solve the problem as a universal packaging system.
What is a flat pack?
Flatpak is a package management program that allows you to distribute, install and manage software without having to worry about dependencies, runtime or Linux distributions. Since you can easily install software regardless of the Linux distribution (both Debian and Arch), Flatpak is called a universal package.
If you are interested, Alexander Larsson is responsible for the founding of Flatpak, and Flatpak’s history goes back to the summer of 2007. On his blog you can read more about his work and the history of Flatpack.
Impressive what it is and how it originated, but why did it originate and how does it work?
What problem does the Flatpak solve?
With so many Linux distributions, managing and installing software is one of the most important aspects of managing a Linux system.
If you are an experienced Linux user, you can certainly find the best way to do this. But for beginners or users who don’t want to learn how to manage packages, here are some of the problems with using traditional package formats (deb/rpm) :
- The need to solve dependency problems (dependencies refer to the other packages on which the program depends).
- Find the libraries needed to run the software
- Adaptation to new package managers when changing the Linux distribution
- This is not the safest way to install/manage the software.
In other words, traditional package management systems have some potential problems you may encounter when running your system’s software. And not everyone has time to solve problems!
Then something like a flat pack comes into play.
Flatpak is an open source utility that helps you distribute, manage and install packages without having to worry about the Linux distribution you use or the dependencies/libraries the program needs to run.
Now that you have an idea of what Flatpak is, let’s go deeper into what it is, how it works and what the context is.
How does the Flatpak work?
Photographic credits : Flat packaging documentation
Flatpak applications work in an isolated environment (often called a sandbox). This sandbox contains everything you need to run this specific program.
In principle, the sandbox contains the libraries that are executed and delivered as a complete package that meets the requirements for the execution of the program. Further technical details can be found in their official documentation.
In addition, because Flatpak applications are isolated, they cannot make any changes to your system without the express permission of the host (you). In this way Flatpak offers increased safety for your system by isolating applications.
Where can you get Flatpak requests?
Note: in order to use flatpak packages, your Linux distributions must have flatpak support. Some distributions, such as Fedora, Solus, etc., come standard with flat pack support, while distributions such as Ubuntu require you to manually install flat pack support.
Although the Flatpak technology makes it possible not to be dependent on a centralized source of software, you will find the possibility to use Flathub (created by the Flatpak team) for the distribution and management of the software.
There may be other flat-suit depots, but I don’t know of any for personal use.
Flat pack: Advantages and disadvantages of
No wonder Flatpak is something impressive – it has a whole range of advantages and disadvantages. I’ll name a few here:
Advantages of using Flatpak
- Flatpak applications can run on any Linux distribution.
- They offer instant compatibility, which means you don’t have to worry about the application malfunctioning if you upgrade your Linux distribution to a version not officially supported by the application.
- We’re not addicted.
- In some cases you will find the latest and largest version of Flatpak.
- The distribution of Flatpak applications does not depend on a centralized server, i.e. you are not tied to the same provider.
- Improved system protection for sandbox applications
- Enables easy integration with your existing software center on your Linux distribution.
Disadvantages of using flat pack
- It doesn’t have server support yet. For the time being it is only available for desktop Linux.
- Flatpak applications take up more disk space than normal for deb/rpm files. And in the end, you have to find ways to free up storage space.
- The fact that it works in an isolated environment does not mean that you can ignore certain functions of certain programs. For example, flat pack applications may not support your custom GTK theme.
I hope you now have a good idea of what a flat pack is. If you would like to know more about the installation and use of Flatpak, I recommend that you read our Flatpak guide to get started.
If you enjoyed reading this article, take some time to share it on social networks!
Do you like what you read? Please share it with others.