Gemini version available ♊︎

What are Flatpaks and How Do They Help on a GNU/Linux Distribution Such as Debian? Why Are They Better Than Snaps?

Posted in GNU/Linux, Red Hat at 4:22 pm by Guest Editorial Team

Guest post by Ryan, reprinted with permission from the original

Flatpak picture

Every GNU/Linux distribution has a “native” package manager system.

In Debian-family distributions, this has normally been Debian Packages. (Although, arguably, Snap may eventually replace it in Ubuntu.)

These DEB files, managed by dpkg, are in turn managed overall by the Advanced Packaging Tool, or Apt, which tracks dependent libraries and programs of what the user is trying to install, and which offers to clean up orphaned packages when nothing is left that requires them.

“One thing that these different systems have in common is they’re basically incompatible with each other, even when it’s the same package management system on each distribution.”In Red Hat distributions, these are RPM files, managed by…well, RPM, which in turn is now managed overall with dependency tracking and orphan cleanup by DNF (still called YUM in Red Hat Enterprise Linux, but it’s DNF now in RHEL 8).

One thing that these different systems have in common is they’re basically incompatible with each other, even when it’s the same package management system on each distribution. If you install an Ubuntu package or software repo in Debian, you’ll probably break Debian, and vice versa, and the same holds true with Fedora, OpenSUSE, and Mageia, even though they all use RPM.

Sometimes you can get away with it, or the author has taken into account that he or she needs to set the stuff in a place where it won’t collide with anything from such a distribution, and you have “universal” RPMs or DEBs that you can install locally, but this is also a pain because it’s not guaranteed to work.

Enter Flatpak.

Flatpak, formerly called xdg-app, is a “universal” package system for GNU/Linux distributions, where developers can write a program, build it once, and deploy it to users of multiple, otherwise quite incompatible GNU/Linux distributions, and it works. Why? They’re fairly self-sufficient in “containers”, and while they have dependencies, they can satisfy them by bringing in those other Flatpaks which contain the foundations the program needs.

In fact, when most people (including me) first see the disk space calculation to install a Flatpak app, they freak out because it’s misleading. It looks like they’re gigantic, but they’re really not that bad. First of all, the more of them you install, the more dependencies you’re going to get, and eventually the next programs you get will need less and less that you don’t already have.

Then, there’s the fact that the containers are compressed.

They install very quickly, and I’ve been messing around and have converted several of the applications I use to Flatpak format and I’m finding the system quite fast. There actually is not much in the way of “install” because it just puts them where it puts them and that’s basically it.

Applications default to being installed for all users on the system, but can be installed for a particular user. Although for the sake of efficiency, you probably want system-wide installations.

Every once in a while, you should run flatpak uninstall –unused to remove orphans, but in my case there are none at the moment.

How does this help a desktop user?

Well, it helps in a few ways.

“…Flatpak lets you have your Debian cake and eat it too.”You get software a lot faster than a distribution is going to package it, at least if you use a Debian or Enterprise or Long Term Support distribution, where the packages available in the native format can go stale rather fast.

On a system like Fedora, where applications are packaged rapidly from upstream, or a rolling release like Manjaro or Arch, or even a 6 month release of Ubuntu, this may not be as important, but these systems exact a toll on the user by forcing them to stop and deal with problems along the way, including in the core OS, the desktop environment, etc. All of which is essentially super stable and maintained with security and bug patches in a longer-lived distribution.

In other words, Flatpak lets you have your Debian cake and eat it too.

When I was a Fedora user, I used to spit and curse all the time when they brought in some new kernel that did more harm than good. They always do more harm than good once your computer works well enough that you’d be better parking yourself on a LTS Linux kernel. (These special kernels are maintained for years by various stakeholders and get hundreds of stabilizing releases, and a little new hardware support if it won’t risk rocking the boat too much.) Other parts of the system could be brought in by Fedora that do something terrible.

Once, they brought in a new build of the 32-bit x86 libc that contained “optimizations” that turned out to brick some of my Steam games and I had to wait for them to revert it. When they’re just bringing in new junk all the time and pimping your ride, you just never know what will happen next. It’s barely tested. In fact, you are the tester.

Then, a while later, they brought in a Linux kernel where Intel tried closing a minor security problem in the graphics driver by disabling its power management, thereby causing my Skylake U-based Yoga 900-ISK2 (which was basically a SoC architecture design) to consume twice as much power. All of a sudden, my usual 6-8 hours away from the wall became 2 or 3, and I had to back out that kernel and go to an older kernel _and_ version-lock it.

By the time Intel “fixed” the power mess, by giving up on fixing the security issue (LOL), my computer had over 160 unpatched security vulnerabilities before I could upgrade the kernel again.

“It used to be that Fedora was more hit or miss, and now it’s just some janky semi-rolling crap that IBM hardly even cares about.”

Now I can just strap some Flatpaks onto Debian 11 and let Debian worry about keeping the underlying system nice and stable, and my computer working properly, and if there is a failure in one of my Flatpak apps, at least it doesn’t spill out and ruin the entire OS like a bad OS update could.

It used to be that Fedora was more hit or miss, and now it’s just some janky semi-rolling crap that IBM hardly even cares about.

Flatpak also gets around distribution packaging policies that you don’t agree with.

Debian has their “Free Software Guidelines” and for the most part, this helps us because they’re not spamming proprietary software, but sometimes you want a program like SNES9x, which Debian considers non-Free because it has source available, you can redistribute it with modifications, but you can’t use it for commercial purposes.

In other words, you don’t care. Why would you care if a company can make a product with SNES9x? You just want to load ROM files in it and play Super Nintendo games.

Flatpak has it. Honey Badger don’t care about no commercial use on an SNES emulator.

There’s also a potential security upside with Flatpak applications.

Thanks to sandboxing and a permissions system, they might be safer than non-Flatpak applications, especially if they have to handle untrusted data from the Internet, or run media codecs, which are notoriously insecure.

Web browsers and VLC are in Flatpak format.

Flatpak is the end of dependency hell, system file stomping from third party repos, and many other kinds of problems.

When you add third party repositories to your distribution’s package manager, and that person doesn’t take care to get along with the OS and not overwrite any of its files, or you install multiple such repositories, you can end up in big trouble really fast.

In fact, OpenSUSE used to encourage the user to set up multiple such repositories to get extra software, and then the system was immediately broken at setup with food fights over which version of what package to install, which broke this or that, and then broke the package manager and then the OS was ruined.

Although that was an extreme example. Most distributions are smart enough not to do this. Stupid krauts.

How is the system integration?

Usually pretty good. I noticed that Debian doesn’t install the Adwaita-Qt theme or set the environment variable to make sure Qt applications look close to native on your GNOME desktop, especially if you use dark themes. I love dark themes.

“…you may hit minor bumps here and there, but overall they integrate pretty well with the system.”You can either set up Adwaita-Qt, or you can let Flatpak handle your Qt or KDE apps, like VLC (Qt) and Krita (KDE). Normally, APT would just bring in a ton of stuff from Qt and KDE and then maybe it does a good job tracking and getting rid of it if nothing needs it, and maybe it doesn’t.

I tweak my GNOME settings to work better as a more traditional desktop, and to look more “correct” for an American PC user, and to blow away some of the settings that I’ve always hated, like middle click paste.

While I was messing around with Flatpak Firefox, I noticed it was middle click pasting. Well, this is a problem because I enable autoscroll in about:config, and so every time I’d hit scroll, it would paste random crap into a blog post or something, so I had to go back into about:config and find a setting to disable middle click paste. The Firefox ESR from Debian respects your system settings.

So you may hit minor bumps here and there, but overall they integrate pretty well with the system.

How do Flatpaks compare with Snap from Ubuntu?

I hate Snap, and that won’t change. I think they implemented it poorly.

It requires a system service that takes hundreds of MB of RAM to manage the software images. Flatpak doesn’t.

When I tried using Snap on Ubuntu, there were many Snaps that just didn’t work at all, and one of them was GZDoom, which I have installed on Debian 11 as a Flatpak, and which works fine.

Snaps require AppArmor, which Debian has since version 10 (but not all distributions do!), or else there’s no sandbox at all, Flatpaks have their own sandbox methods. Snaps are bigger and don’t integrate as well with system settings. Flatpak is Free Software on the client _and_ server side, but Snap is totally proprietary on the server side and only Canonical can run a Snap store.

Canonical claims that Snaps are universal “Linux” programs, but it doesn’t really work properly on other distributions, and most of them have rebuked Snap in forceful language and purged it from their distribution completely, including the Ubuntu-based Mint and Fedora.

Microsoft loves Snap. Of course, when they packaged a DEB, they clobbered Debian system files with it, so when they’re too $%#$ing stupid to package an application and they love Snap, you should know to run. Hell, they screw up their own OS all the time with bad updates.

So I hope this encourages some interest in Flatpak.

I think it’s a really neat and exciting software management system that compliments the usability of a very stable and long-lived distribution such as Debian.

Share in other sites/networks: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Reddit
  • email

Decor ᶃ Gemini Space

Below is a Web proxy. We recommend getting a Gemini client/browser.

Black/white/grey bullet button This post is also available in Gemini over at this address (requires a Gemini client/browser to open).

Decor ✐ Cross-references

Black/white/grey bullet button Pages that cross-reference this one, if any exist, are listed below or will be listed below over time.

Decor ▢ Respond and Discuss

Black/white/grey bullet button If you liked this post, consider subscribing to the RSS feed or join us now at the IRC channels.

DecorWhat Else is New

  1. Links 27/11/2021: Nvidia’s DLSS Hype and Why GNU/Linux Matters

    Links for the day

  2. [Meme] Linus Gabriel Sebastian Takes GNU/Linux for a (Tail)'Spin'

    If you’re trying to prove that GNU/Linux is NOT Windows, then “haha! Well done…”

  3. GNU/Linux is for Freedom and It'll Gain Many Users When (or Where) People Understand What Software (or Computing) Freedom Means

    Software that respects people's freedom (and by extension privacy as well) is an alluring proposition; those who choose to try GNU/Linux for the wrong reasons are likely the wrong target audience for advocates

  4. Amid Reports of Microsoft's Competition Crimes in Europe...

    European companies are complaining, but they seem to overlook the principal aspect of an imperialistic system with bottomless pockets (almost 30 trillion dollars in debt already; US national debt soared again last month); Microsoft is shielded by a political system with military (“defence”) as bailout budget to help cushion international expansion for data grab and technical leverage, as we've seen in the case of EPO (this is all political, not technical, and should thus be treated as a political/corruption issue)

  5. Is Linus Trolling the GNU/Linux Community?

    This new video responds to what many sites have been provoked into amplifying

  6. Links 27/11/2021: Tux Paint 0.9.27 and SeaMonkey 1.1.19 in EasyOS

    Links for the day

  7. [Meme] Keeping Our Distance From Microsoft

    The OSI is the dagger, the Linux Foundation is the knife, and many others are the sword by which Microsoft tries to get into the very heart of GNU/Linux and extinguish the Free software movement

  8. Microsoft Edge Encourages Indebted Americans to Guilt-spend Just in Time for Christmas

    Guest post by Ryan, reprinted with permission

  9. IRC Proceedings: Friday, November 26, 2021

    IRC logs for Friday, November 26, 2021

  10. 38+ Years of GNU and 19+ Years of FSF Associate Membership

    “On November 25, 2002,” Wikipedia notes, “the FSF launched the FSF Associate Membership program for individuals.” As the above video points out, it all started almost 40 years ago.

  11. Gemini as a Platform for Gamers

    Contrary to what people often assume (or are led to assume), even without client-side scripting Gemini can accomplish a great deal; early adopters, many of whom are technical, test the limits of the very minimalistic (by design and intention) specification

  12. Improved Workflows: Achievement Unlocked

    Today we've completed a bunch of small projects that can make us more efficient (e.g. more Daily Links per day, more articles); the above video was recorded many hours ago to accompany the outline below

  13. Links 26/11/2021: New Complaint About Microsoft Competition Crimes in Europe, EuroLinux 8.5, GhostBSD 21.11.24, and Kiwi TCMS 10.5 Released

    Links for the day

  14. Links 26/11/2021: F35 Elections, Whonix, OSMC's November Refresh With Kodi 19.3

    Links for the day

  15. IRC Proceedings: Thursday, November 25, 2021

    IRC logs for Thursday, November 25, 2021

  16. IRC Proceedings: Wednesday, November 24, 2021

    IRC logs for Wednesday, November 24, 2021

  17. Links 25/11/2021: PHP 8.1.0 Released and Linux 5.15.5

    Links for the day

  18. IBM as Master of Hypocrisy

    Free software projects and Free software developers have long been humiliated by corporations of Western misogynists, falsely claiming that the Free software community isn’t inclusive enough (these are shameless projection tactics; as a matter of public record, the exact opposite is true) and even the eradication of supposedly offensive language isn’t something IBM takes seriously

  19. Links 25/11/2021: LibreOffice 7.2.3 and Mesa 21.2.6 Released

    Links for the day

  20. [Meme] So Desperate That Edge Cannot Even Exceed 4% That They Block Rival Web Browsers

    Linux/Android/Free Software/GNU (they go by very many names/brands) may continue to grow to the point where Windows is as irrelevant as Blackberry; this means that Microsoft’s grip on the Web too has slipped — to the point where Microsoft frantically uses 'bailout' money to hijack LinkedIn, GitHub, etc. (it also rebrands almost everything as "Azure" or clown to fake a perception of growth)

  21. Windows Vista Service Pack 11 (Vista 11) Has Failed to Curb the Growth of GNU/Linux

    Windows market share continues to decrease in spite of billions of dollars spent bribing the media for fake hype, especially in light of a new Windows Service Pack (SP), Vista SP 11

  22. Links 25/11/2021: Proton 6.3-8 and Linux Mint Compared to Ubuntu

    Links for the day

  23. 3.5 Years Later the 'Master' of Fedora is Still Microsoft and IBM Cannot Be Bothered to Alter Git Branch Names (Refuting or Ignoring Its Very Own Directive About Supposedly Racially-Insensitive Terms)

    Today we demonstrate the hypocrisy of IBM; years after telling us that we should shun the term "master" and repeatedly insisting it had a racist connotation at least 65 Fedora repositories, still controlled by Microsoft, still use "master"

  24. Changing the Arrangement While News is a Bit Slow(er)

    I've made it easier for myself to keep abreast of things like IRC channels and networks (incidentally, a day ago Freenode reopened to anonymous logins) and I've improved monitoring of the Web sites, Gemini capsule etc. (this video is unplanned and improvised)

  25. Links 24/11/2021: Alpine Linux 3.15 and Endless OS 4.0 Released

    Links for the day

  26. [Meme] Jimmy Zemlin Loves Microsoft

    It’s funny, isn’t it? Lying for a living and sucking up to the liars pays off; you get to plunder actual Linux users while leaving Linux morally and financially bankrupt

  27. Links 24/11/2021: PHP Foundation and Flatpak Criticisms

    Links for the day

  28. IRC Proceedings: Tuesday, November 23, 2021

    IRC logs for Tuesday, November 23, 2021

  29. Links 24/11/2021: Rust Crisis and Team UPC Still Faking 'Progress'

    Links for the day

  30. Links 23/11/2021: New GNU Parallel and Memories of David H. Adler (Perl, Raku)

    Links for the day

RSS 64x64RSS Feed: subscribe to the RSS feed for regular updates

Home iconSite Wiki: You can improve this site by helping the extension of the site's content

Home iconSite Home: Background about the site and some key features in the front page

Chat iconIRC Channel: Come and chat with us in real time

Recent Posts