Snap, Flatpak and Appimage. Universal Package Formats for Linux

Program formats

There is an old joke in the world of technology that anytime someone tries to create a format that brings together the best of all the others to avoid dispersion, the only thing they do is add a new one to the list. Some of that is there with the efforts to create a package format that can run on all Linux distributions without modification. So far this century we have already been three.

Snap, Flatpak and Appimage. Differences with traditional formats

The main difference between native package formats and standalone package formats is that the former share dependencies with other programs installed on the operating system. In other words, if program Y needs dependency 1 and that dependency was installed by program X that also needs it, that dependency will not be installed again.

Programs packaged in separate formats include all the dependencies they need to function. In other words, dependency 1 will be installed every time a program that needs it is installed.

The second difference is that traditional package formats must be built with the specifications of each distribution.. That is why although Ubuntu is a distribution derived from Debian, the differences are important enough that the repositories of the first cannot be used in the second.

The third difference is that any modification to a dependency on traditional packages can affect the operation of all the others that need it. On the other hand, modifications to a program in an independent format will not affect the rest of the system.

Depending on the particularities of each distribution, it is possible to install the applications in independent formats from a package manager and automate their update with the manager in charge of them.

In Ubuntu, the Software Center allows you to install both programs in traditional formats such as Snap, giving preference to the latter. Although there is a plugin that allows the GNOME Software Center (from which Ubuntu is derived) it does not work with this distribution.

In the case of Ubuntu Studio, it is possible to enable the option to use Snap packages while KDE Neon and Manjaro can work with both formats.

Snap

It is the newest of the independent formats since its development began in 2014.  It is intended not only to be used in desktop Linux distributions but also for the Internet of Things, mobile devices and servers. TOAlthough it is possible to create separate app stores, there is currently only one operated by Canonical, Snapcraft.

Although Snapcraft has an assortment of the most popular open source apps, its strength is the programs developed by private software developers and cloud service providers.

Flatpak

Although Flatpak officially launched in 2015, it is the continuation of another universal format project known as xdg-app. This project was born with the objective of be able to run applications in a secure virtual sandbox, which does not require root privileges or pose a security threat to the system.

Flatpak is focused on desktop distributions also uses the concept of application store being Flatub the best known.

Flathub's strong point is that it usually has the most up-to-date versions of the main open source applications.

app image

AppImage is the oldest of the standalone package formats as it was first released in 2004.

It was the first format to follow the paradigm of "One application-one file". That means that every time we download an Appimage file we are downloading the application and everything it needs to work. If we want to use the application, we just have to give it execution permissions and double click on the icon that identifies it.

Appimage does not use the app store system, but, or a webpage in which we can find a list of all available titles. 

To update the Appimage, we can use This tool.


7 comments, leave yours

Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   Satin said

    I miss that there has been no mention of the extreme increasing slowness of snap when installing apps because it needs a virtual unit for each one.

  2.   satin said

    I miss that there has been no mention of the extreme increasing slowness of snap when installing apps because it needs a virtual unit for each one.

    1.    Diego German Gonzalez said

      Thanks for your comment. I'll keep that in mind.

  3.   Claudio Joffre said

    Personally, I think that the problems of independent software packaging is nothing more than a reflection of a much deeper conflict, which has to do with the degree of compliance with the LSB and FSH standards by the different distributions.
    One of the fundamentals behind packaging is the implementation of standard libraries, keeping both the place and the location of the software, as well as the configuration files. Thus avoiding library conflicts. Something that is common in other operating systems, and that unfortunately, by not complying with the standards, ends up making it difficult to maintain and update the software, let alone the migration of a software from one distribution to another. The bad practice of manual compilations, performed many times from a howto, without analyzing compliance with the standards in its implementation, ends up being a huge headache for system administrators. Especially when someone must take over a production server installed by another previous admin.
    Independent packaging, in one way or another, ends up contributing that philosophy, promoting more than independence, dependence on a particular format or company. Making platform migration an almost impossible task many times. Thinking more in the short term, than in the long term. Situation that can be witnessed by any serious admin who has more than 15 years of experience. And I say that figure on purpose, since in that period it will have seen enough distributions pass, to realize that sooner or later, projects or services will be forced for one reason or another to migrate from platform. Situation that rarely enters the evaluation processes during the implementation of a project. Where the easiest to migrate are precisely the platforms that best comply with the aforementioned standards. Being these independent packages, the ones that are the furthest from these standards.

    1.    Diego German Gonzalez said

      Interesting contribution, it had not occurred to me to think about it

  4.   Raphael Linux User said

    The AppImage file update tool is practically useless. Out of 7 AppImage files that I have tried (Inkscape, Olive, KSnip, MuseScore, OpenShot among others) it has only tried to work with one, ending with a "No verification signature exists" and therefore, not updating it either. In other words, IT IS NOT USED FOR ANYTHING, you can remove the reference. Also, it hasn't been updated for months.

    1.    Diego German Gonzalez said

      Thanks for commenting