What is wrong (or right) with using Flatpak or systemd on a Linux system?

Although I have been using linux for going on 20 years, mainly through the more popular flavours of mint, using the GUI for ease. Many times on this site I read and follow topics that discuss flatpak or systemd being in the most part not a great idea but more and more versions appear to be going down these roads.

What is right or wrong with using either ?

Why choose one over another ?

What do they actually do for better or worse ?

In the repository of mint some apps are offered in either with or without I am never sure which I want or need so suspect I will have a mix on my own system.
Positive or negative ?

I do know they are not the same thing but perhaps a more in depth look would help me and others.

True, They are controversial.

It is not that strong. They are debatable.

Flatpak:
Pros:

  • Easy package install
  • Supposedly avoid dependency issues

Cons:

  • Larger install download and more disk space
    ( but not as large as snaps)
  • Do you trust the people who put the ftatpak together?

Systemd:
Pros:

  • Comes by default with most distros
  • It does work

Cons:

  • 1.5 million lines of code. Alternatives use far less
  • Goes outside being an init system and invades other parts of your Linux

I thought you knew that.
Flatpak is method of distributing packages to users
Systemd is an init system

That is enough . I am sure others will want to add to the debate.

5 Likes

Many Ubuntu users seem to swear at (as opposed to swear by) the use of systemd (Snaps) for a variety of reasons but Flatpak often provides better and more up-to-date solutions than deb packages and are easier to install/configure than Snaps and AppImages particularly when used in conjunction with Flatseal to review and modify permissions (often the offending issue with Snaps).
I use quite a number of Flatpak packages on my Debian 12 system and they never seem to cause any issues.

1 Like

I would add to the Neville’s great list
Flatpak
cons:
• you need to update them separately. The system’s package manager doesn’t know how to update them.

5 Likes

Flatpak has one other advantage … it has a mechanism to de-duplicate copies of libraries shared by multiple paks. That reduces the storage requirement.

3 Likes

Indeed, anything installed outside the package system is your responsibility.
Not sure about snaps?.. are they integrated into the package system?

1 Like

Systemd:

  • A total lack of a specification
    • Features might be added, shuffled around, or removed at will.
    • People cannot develop a competing product.
    • Developers wishing to develop an application or - god forbid - system component against systemd have to basically pray the features they’re using are still there a few versions down the road.
  • 1.5mln loc. You expect that to be bugfree? Hint: it isn’t by a long shot.
  • It causes mysterious issues for people.
  • The mentality of the developers is not helpful.
  • Bloatware.

Flatpak (the exact same arguments go for Snap and AppImage):

  • Static binaries achieve the exact same thing (for execution, that is), without all the overhead.
  • It’s not a simple solution.
  • It does provide sandboxing, which is convenient in some cases.
4 Likes

There are alternative init systems, but they are difficult to develop because they require changes to all service packages… ie any package that requires a daemon has to be modified to suit the init system.
There are also problems with packages that use some of the non-init functions of systemd.

3 Likes

I like to play the Solitaire game, and since I use Gentoo, most of the time, the Solitaire game is only available, by using Flatpak. When the Flatpak Solitaire package is downloaded and installed, it will also download and install the dependencies needed for the Solitaire game. I find it plays and runs quite well!!!

2 Likes

What I meant is that people can’t develop something similar to systemd, that’ll function as a drop-in replacement.

I didn’t mean a different init system altogether.

I’m sorry for the confusion.

Development of init systems has been possible for a very, very long time.

1 Like

OK, I understand.
What is to stop someone doing a complete rewrite of systemd?
I know, 1.5m loc is a lot of work.

1 Like

At least on Ubuntu they’ll update with apt.

2 Likes

I did some searching, and found a couple distros that do integrate Flatpak updates into their system update process. Fedora and Linux Mint.

  • Fedora includes Flatpak support by default and integrates Flatpak updates into its graphical GNOME Software center
  • Linux Mint also integrates Flatpak updates into its Update Manager, meaning Flatpak applications get updated alongside system packages

I have been using deb/snap/flatpak on Ubuntu and I always update from the terminal using three separate update methods, one for each.

4 Likes

What about docker or podman containers.?
I have never thought about how you update containers.
I always regarded them as a sort of frozen working system, isolated from everything.

2 Likes

Perhaps I should have seperated into two questions not one.

Yes I do know package manager use it a lot but was not clear before on the choice of flatpak or not.

Not at all - read

1 Like

In GNOME with Debian sudo apt install flatpak gnome-software-plugin-flatpak

4 Likes

Ok, so with GUI they get updated. Never used GUI software center, I’m used to cli. Thanks for info!

3 Likes

When I first use a particular app, I pull down the latest container version. If that works, I normally stick with that version unless there is a security or bug fix released. Then I download a newer version.

For work we specify the version, so we aren’t surprised by something not working after an update. We update when we say update.

3 Likes

Ubuntu people say that snaps are updated by the store in the background, and the updater manager says that it updates the snaps.
Well, that’s not my experience. I’ve seen the updater manager mention this, and then go to the store and see that there were snaps that weren’t updated. I prefer to update every Saturday, via the command line, and before restarting Ubuntu I update the snaps with “sudo snap refresh”.

2 Likes