Flatpak, Snap, AppImage, surely they are names with which you are more than familiar. Universal packages have broken into the Linux world to be able to work on any distribution and thus remove the problem of fragmentation in terms of packages. However, they are not yet the majority, although little by little the number of software that is packaged in these types of packages is growing. Well, if you make use of them, in this article you will be able to see what are the advantages and disadvantages of the Flatpak vs Snap battle.
What is Flatpack?
Flatpak it is a kind of universal package and for application virtualization for GNU/Linux environments. It provides a process-isolated sandbox known as Bubblewrap. In it, users can run applications isolated from the rest of the system, for greater security.
Lennart Pöttering was the programmer who proposed it in 2013, and published an article about it a year later to finally develop the idea and become part of the freedesktop.org project., under the name of xdg-app, which is the same as Flatpak. And its popularity since its launch has been increasing, it is currently supported by more than 20 of the most popular distributions.
What is Snap?
While Flatpak had its origins in the Fedora/Red Hat development community, Snap had it on Canonical, the company that developed this peculiar type of parcel management. A type of universal package that already accepts a large number of distros and apps packaged in it. In this case, the packages run inside AppArmor, although they can run outside of the sandbox.
By the way, we must recognize that there are other packages such as the AppImages, that is becoming more and more important for its simple installation, or rather, no installation. Just download and run the package and voila, as a kind of portable version. In addition, on the official AppImage Hub site you can find a multitude of tools packaged in this binary format. Security-wise, they can be run within the sandbox or within AppArmor, Bubblewrap, or Firejail.
Flatpak vs Snap: Differences, Advantages and Disadvantages
As a comparison, in this table you will be able to see all the parameters you need to know about these two types of packages:
General
Feature | Snap | Flatpak | |
---|---|---|---|
Desktop applications | Si | Si | |
terminal tools | Si | Si | |
Services | SI | No | |
Correct application of themes | No | No | |
Libraries and dependencies | In the image itself or with accessories | Use of runtimes of the main libraries | |
Support | Canonical | Red Hat and others |
Lockdown
Feature | Snap | Flatpak | |
---|---|---|---|
without confinement | Si | No | |
You can use different confinements | No (AppArmor only) | No (Bubblewrap only) |
Installation or execution
Feature | Snap | Flatpak | |
---|---|---|---|
Executable | Do not . need installation | Do not . need installation | |
No root | No. You need root to install. | No. You need root to install. | |
Executable from compressed | Si | No |
Application Distribution
Feature | Snap | Flatpak | |
---|---|---|---|
core repository | Snapcraft | flat hub | |
need repository | No | No | |
individual repositories | Si | Si | |
Multiple versions in parallel | Si | Si |
Updates
Feature | Snap | Flatpak | |
---|---|---|---|
Update Mechanism | Repo | Repo | |
incremental updates | Si | Si | |
auto-updates | No | No |
size on disk
Feature | Snap | Flatpak | |
---|---|---|---|
Compressed disk application | Si | No | |
LibreOffice 6.0.0 | 200 MB | 659 MB |
A couple of important details:
1. Flatpak does support installation of packages without being root (only for your user, of course).
2. Snap does not support multiple repositories. It only works with snapcraft.io
Interesting, but strange that performance or speed when running apps is not mentioned, a point very much in favor of flatpak and where snap is hugely weak.