target OS is debian or linux mint
Pro apt:
- storage efficient
- may be optimized for stuff like x86_64 v3 or v4
- runs as many users and easily from terminal
- needed for some low level stuff like system packages
Contra apt:
- a ton of stuff comes from outside the main Ubuntu repo. Debian doesnt have that difference afaik but still many packages may be more abandoned
- 3rd party packaging 99% of the time, i.e. “unverified”. I had a lot of strange bugs especially with Ubuntu packages
- the apps ars not isolated at all
Pro Flatpak
- a ton of verified apps, nearly unavailable on other repos (that still doesnt make unverified apps insecure!)
- all apps have a sandbox that can be graphically hardened to be more secure, if the defaults are too broad
- by defaults the sandbox is pretty good
- many many apps that run everywhere
Contra Flatpak
- not suited for some apps like terminal apps or system stuff
- some apps are less maintained and use EOL runtimes etc
- some more storage space needed
- need user namespaces, nearly all distros have them enabled
- a bit slower startup time but okay
- a bit more RAM usage
I like flatpak as it helps me keep bloat down. I always find that native packages eventually pollute the system. Flatpaks do somewhat as well but I can manually delete the app storage if necessary
I like flatpak as it helps me keep bloat down
Impossible. Like flatpak itself with 5 applications was using more storage than my entire distro with the same apps as appimages on top.
I can’t say I have the same experience. Flatpaks keep everything tidy and most GUI stores offer the option to delete app data on uninstall
How big is your distro right now?
I am at 4.2 GIB with my distro (artix) + 30 appimages + home. Though stuff like
~/.local/steam
is on a different partition.I’ll have to look but I have 6-7 VMs so 4.2Gb is child’s play. My SSD is 256Gb so I have plenty of room
I know storage doesn’t matter these days, but another different thing is suggesting flatpak “because it keeps bloat down”.
Storage isn’t everything. Having separate isolated storage locations keeps the cluster down and prevents conflicts. Plus if I need to change something it is easy to find.
True, especially the dotfiles. Having them separated in individual per-app directories is awesome
Things installed by apt almost always work as expected and are easily run from the cli.
Flatpaks are sometimes more up to date.
flatpaks are designed for gui apps, and due to packaging dependencies, they are extra heavy in disk space. flatpaks are also most often installed on the user, not systemwide, so no root permissions needed to install.
apt installs systemwide exclusively, but can have a much smaller download size if the dependencies are already installed. Apps sharing dependencies means much less disk space. cli is supported.
they are extra heavy in disk space
While they use more disk space than most native packages, this point is often exaggerated. Flatpak uses deduplication and shared runtimes if multiple apps use the same runtime.
While they use more disk space than most native packages, this point is often exaggerated. Flatpak uses deduplication and shared runtimes if multiple apps use the same runtime.
4.79 GiB
with deduplication.Worth mentioning that my entire distro with those applications included, and about 30 appimages is
4.2 GIB
total, and that includes the home btw.Appimages don’t use any deduplication at all and usually package everything in the app.
Sometimes they don’t do that though and expect your system to have certain packages, but that can and does cause reliability and portability issues.
E: portability not probability lol
but that can and does cause reliability and probability issues.
Flatpak and snaps have been the most broken on this. Just recently I was talking about issues that I had with yuzu on that. And more recently steam as I wanted to test something…
Also I remember you, you were the guy that didn’t reply when you gave a number that I found very odd (Basically impossible lol):
https://lemmy.ml/post/16669819/11551689
Were you guy that downvoted the comment btw?
Appimages don’t use any deduplication at all and usually package everything in the app.
Yes, doesn’t mean anything if flatpak uses way more storage…
I don’t reply to most comments. You should see my inbox, I have hundreds of undealt with notifications. I only even spotted this reply because I was correcting an autocorrect mistake on my previous one.
My numbers were correct and I explained why.
And your experience is pretty far from mine, I had to give up on appimages because they are problematic by design.
And like I said, Flatpak hasn’t been bad on storage for me. It uses deduplication and unlike you I didn’t go out of my way to cherrypick a small handful of applications that just so happened to use three different runtimes in order to bash it.
Use appimages if that’s what you want, but they’re not really an answer to Flatpaks, due to the huge systematic problems they have.
My numbers were correct and I explained why.
Do you mind telling me the application list so I can check that myself?
because they are problematic by design. I didn’t go out of my way to cherrypick a small handful of applications that just so happened to use three different runtimes
Kinda odd, I didn’t even know it was using 3 different runtimes until very recently, I just installed the biggest applications that I had as appimages to make the comparison, and yuzu because I use that one very often lol.
EDIT: Don’t you think that on itself isn’t problematic by design?
in order to bash it.
How should I have phrased my comment so that I wasn’t bashing flatpak?
due to the huge systematic problems they have.
Such as?
One thing that hasn’t been mentioned yet is interopability, that is, flatpak interacting with the rest of your system.
I’m not that familair with flatpak, but in my brief experience with the steam flatpak, I had trouble getting it to recognize my controllers. Steam installed through pacman (Arch’s package manager) had no such issues, on the other hand. My hunch is that this has to with flatpaks being more isolated from the rest of your system.
Im pretty sure that’s just some kind of permission issue, but it can be nice to not have to troubleshoot acces rights and the like. But this is obviously a double edged sword: more isolation may also mean more security, just at the cost of ease of interaction with other components.
The steam flatpak can’t install udev rules. It works if you install a packacke such as
steam-devices
on your host system. See https://github.com/flathub/com.valvesoftware.Steam/wiki#my-controller-isnt-being-detectedThe good news is that flatpak and XDG portals are progressing
Yeah, both have pros and cons. I have Steam installed through pacman and flatpak also. For me I have the Flatpak version because it contains its own version of glibc. This mostly doesn’t matter, except I play Squad and it’s doing something with it’s anti-cheat that isn’t supported in the most recent versions of glibc, so I use the Flatpak version for Squad only.
Flatpak is essentially a more controlled environment. It will contain everything it needs to work, which is good for ensuring it works but bad because you’ll have duplicates. It mostly doesn’t matter which you use, but occasionally it does.
This issue with glibc should have been sorted out. But yeah, if you use arch you may have some issues from time to time cause some projects broke their ABIs sometimes, but I prefer to use the one with pacman cause I only have to update my entire system with one command, also theming is an issue with flatpak that I know there is solutions out there but AFAIK are always adhoc solutions for each app.
Also, IIRC steam folder is always in a weird place using flatpak.
What’s up with all the negativity around flatpaks? I use Arch (btw) and I try to install as much as I can using flatpak. I think they are great. They are compatible, usually up to date, easy to install, easy to remove and it won’t break your system. The sandbox can be edited to include more paths etc.
If I developed a Linux app I would absolutely package it as a flatpak. If a package is in pacman, however, I see no reason to use the flatpak version instead.
Flatpaks won’t get their libs updated all at once by just updating a library. This can be very bad in cases like bugs in openssl. Instead of just updating one library and all other software benefiting from the fix, with flatpaks, you need to deal with updating everything manually and waiting for the vendor to actually create an update package.
I’m not 100% sure about this. Flatpak has some mechanisms that would allow to manage dependencies in a common fashion.
Common libraries like OpenSSL are usually bundled in runtimes. So if my application uses e.g.
org.gnome.Platform
, I don’t have to update my application if there is a fix in a library of that runtime, I just need to update the runtime.The runtime is also shared by all applications that use this runtime.
In addition to other people’s comments, flatpaks are usually more up to date than their apt counterpart (expecially those from the debian stable repositories).
I run debian and I deliberately installed some software from flatpak (eg. Ardour and Guitarix) because the deb package is a whole version behind.Lots, LOTS, TL;DR - flatpaks are sandboxed and work on every* distro out there, while apt packages are not and only work on debian and it’s derivatives. I’d say on mint or debian, prefer using flatpaks over apt packages as you’re usually gonna get newer versions of software.
Flatpak’s benefits mostly exist for the developer. Apt is more tightly integrated with the distro, which is generally advantageous, but also means more work for packaging. Flatpak’s benefit is that it’s a compatibility layer for lots of different distros. In a perfect world, every distro would have a large library of packages in the official repo, but that’s a lot of work for devs, and flatpak lets them avoid that sprawling support.
Flatpaks require more storage space as all dependencies are combined in a flatpak. For me rather 2nd choice.
FYI: Flatpaks can share some dependencies and duplicate files.
They still use way more storage.
My entire distro + home + 30 appimages (which includes the equivalent flatpak applications as appimage) is
4.2 GiB
It isn’t bad if you have a bunch of flatapaks as they share dependencies. For install the first install might be huge but the second app that also uses the same framework will be much smaller
apt is good for most things.
Flatpak is good for applications where you want the people who write the software to be creating the releases and for closed source apps that you want to isolate a bit from your system.
For example, on a new system you might install everything using apt except for Zoom. Zoom isn’t in the Debian repos, it’s closed source and proprietary. But you can get the official Zoom application using flathub. Zoom will also be fairly isolated from the rest of your system so it has less access to your files and can be removed more cleanly later on if needed.
I’m using MX, debian based, apt package, I have 0 flatpak/snap. They are up to date on about everything, like the latest Firefox I got this morning in a simple .deb that nala (apt frontend) installed without problems.
I never ever installed a snap/flat in my Linux years.
Honestly you should (flatpak that is)
Flatpaks are nice and provide isolation so installed apps do not add bloat to the core system.
I’m not very knowledgeable about this sorta thing. I’m just gonna say that modding games with the Flatpak version of Steam is way easier.
I thought id give flatpak firefox a shot and the profiles are broken. I might be able to fix it by making some symlinks but it left a bad taste in my mouth. I was unable to get it to recognize my userChrome.css
Security. Use apt
apt runs as root
Yep, and that’s not a problem
bwrap
wants to have a word with youSorry I tried to download bwrap but I got a virus because flatpak doesn’t verify anything that it downloads with cryptography