this post was submitted on 29 Jul 2023
89 points (90.1% liked)

Linux

48149 readers
756 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Appimages, snaps and flatpaks, which one do you prefer and why?

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 33 points 1 year ago (1 children)

None. I prefer native packages. AUR usually has me covered and hasn't broken my system...ever, really. Yet, anyways. (Well, it might have broken my Manjaro install, but it is Manjaro, so i probably sneezed wrong)

....but, if I had to pick one? Flatpaks. Outta the three, they've given me the least trouble and just work right out the gate. Still prefer native packages tho

[–] [email protected] 30 points 1 year ago

As far as I know, Flatpaks have the best foundation currently, there are a number of issues, but they are fixable and not entirely by design. And with Fedora Silverblue/Kinoite and OpenSUSE MicroOS you can really see how native debs/rpms/whatever isn't really that good of an idea for the average user and Flatpak is a solution to that.

Appimages at a glance seems like a perfect solution for apps that for some reason or another needs to be kept outdated. But there is (was?) an issue of it not really bundling everything it needs, it looks and behaves as it is portable, but as far as I'm aware, it really isn't.

And then there's Snap. Yeah, that one is just weird, it honestly just doesn't feel like a proper solution to any of the problems it tries to fix.

[–] [email protected] 26 points 1 year ago

Flatpak -- It's not without it's own issues, of course, but it does the job. I'm not fan of how snaps are designed, and I don't think canonical is trustworthy enough to run a packaging format. Appimages are really just not good for widespread adoption. They do what they are designed to do well, but I don't think it's wide to use them as a main package format.

[–] [email protected] 26 points 1 year ago (1 children)

Flatpak is my preference since it supports multiple remotes (repos) and sandboxing. With flatseal tweaking the sandbox is also easy.

Snaps work great on Ubuntu and support cli tools as well as system components. But their sandboxing doesn't work on many distros and the one and only repo is controlled by one company. If I'm not on Ubuntu, I don't see any reason to choose it over flatpak.

Appimages are great for putting on a USB stick or keeping a specific version of software. But I want to install software from a trusted repository, which Appimages support at best as an afterthought.

load more comments (1 replies)
[–] [email protected] 21 points 1 year ago (1 children)

Snaps is too well controlled by Canonical and does have it's limits.

Flatpaks can be very secure, and works in most distros. It is one of my favorites.

AppImages are real easy, and is designed to work on most distros. The only problem is that many apps aren't current. So I don't recommend it unless an app provides it on their own sites. AppImages are often made by somebody else.

load more comments (1 replies)
[–] [email protected] 20 points 1 year ago (1 children)

Flatpaks. On Mint, the GUI update tool updates both Flatpaks and natively installed packages. It's fantastic.

load more comments (1 replies)
[–] [email protected] 19 points 1 year ago (1 children)

I prefer flatpacks. There's nothing wrong per se about snaps, it's just that they are kinda slow, and Canonical is untrustworthy.

Appimages are to be avoided, imo. They are no better than downloading random crap like on Windows.

load more comments (1 replies)
[–] [email protected] 18 points 1 year ago

Flatpak for sure, appimages are okay in certain circumstances and snaps are trash.

[–] [email protected] 16 points 1 year ago

Flatpak and Appimages. Flatpaks are the best solution IMO, just better than snaps in about every setting except servers. Appimages are great simply because of their easy portability, just being a single executable. I like having GUI apps in Flatpaks because it separates the updates for those applications from my package manager.

[–] [email protected] 15 points 1 year ago

pacman or from source 😎 (i am superiour because i make it harder for myself)

[–] [email protected] 13 points 1 year ago

Real talk? I genuinely don't care. I have actual work that needs to get done. I'm going to use whatever I can to make that faster/easier. Of all the decisions I need to make in a day, this is a pretty inconsequential one.

[–] [email protected] 13 points 1 year ago (4 children)

None of the above. Native debs/rpms/whatever for desktops, docker images for servers.

[–] [email protected] 6 points 1 year ago (12 children)

but what about the apps that are not in the official repository?

for example tuba the mastodon client

load more comments (12 replies)
load more comments (3 replies)
[–] [email protected] 13 points 1 year ago (2 children)

Flatpaks are quickly becoming my favorite. I've rarely had issues with App Images, but they are clunky and messy. Flatpaks are where it's at IMO.

Snaps are pewpy.

load more comments (2 replies)
[–] [email protected] 12 points 1 year ago (2 children)

Flatpacks give me the least trouble so I guess those. All though appimages seem alright too. Snaps however seem to never want to install. I like the idea of easy one click installs for every distro but I think we are a few years away from that.

load more comments (2 replies)
[–] [email protected] 11 points 1 year ago (2 children)

Flatpak is the best one imo. Never used appimages, and snap is pure trash (close source, slow, made by canonical). Overall, native packages are imo the way to go, but flatpak is also fairly good.

load more comments (2 replies)
[–] [email protected] 10 points 1 year ago* (last edited 1 year ago) (2 children)

Flatpaks because their updating works (compared to my experience with Appimages) and the Apps starting instantly (compared to my limited experience with snaps). But sadly, a lot of production software doesn't want to support either of this package formats? I haven't seen support from Davinci Resolve or Mari, as an example.

load more comments (2 replies)
[–] [email protected] 10 points 1 year ago

Although I mostly use native software, I find AppImages useful for testing beta software, since they're one file and easy to try out.

For example: I've been using it with the Krita 5.2 beta and I have also used it before for Godot betas.

I use Flatpak when the native package doesn't work properly or isn't updated at the rate I'd like, although there are cases where I will use it for other reasons, like sandboxing when I don't want an app to have access to everything.

I have never used snaps.

[–] [email protected] 10 points 1 year ago (7 children)

none of them. I don't like the idea of putting security updates in the hands of the developers of each individual application I use.

Oh your app only works with an old broken insecure version of the library? Fuck you then, you can't just decide to install and use the insecure version.

load more comments (7 replies)
[–] [email protected] 9 points 1 year ago (1 children)

I prefer Flatpaks by a wide margin. This presentation by openSUSE's Richard Brown is a great watch for those looking for a thorough comparison.

[–] [email protected] 9 points 1 year ago (1 children)

Same here. I don't really like Appimages because (AFAIK, unless there's some tool I don't know about) you have to just check each one individually for updates which feels old fashioned, like Windows.

Snap is just a worse version of Flatpak as far as I can tell, so I don't bother with it.

load more comments (1 replies)
[–] [email protected] 9 points 1 year ago

AppImage is a nice idea, and avoids some of the performance overheads from containerised systems, but lacks a reasonable self update mechanism, lacks code signing and the desktop integration (having icons show up in the start menu) is poorly implemented.

Snap is essentially a Canonical-proprietary apt replacement with some very serious drawbacks around performance and desktop integration (themes).

Flatpak has some drawbacks but it largely achieves it's design goals, and actually provides some advantages over installing things via the system package manager.

[–] [email protected] 9 points 1 year ago

IME Appimages often don’t work cause they don’t actually bundle everything they need (not sure if this is a fault of application developers, or some limitation). When they do work I actually prefer them to Flatpaks, which are honestly too complex IMO.

Snap kinda sucks

[–] [email protected] 9 points 1 year ago
[–] [email protected] 8 points 1 year ago (1 children)

Appimage, but only if I can't get the program to compile from source first.

load more comments (1 replies)
[–] [email protected] 7 points 1 year ago

Flatpaks for graphical apps and guix for CLI programs and libraries.

[–] [email protected] 7 points 1 year ago

Out of the three, I prefer Flatpaks. Mainly because they have a nice centralized-capable model for performing updates (but not locked centralized like Snaps are), and I can't say I've personally run into a distro where Flatpaks didn't work.

I haven't taken a look at them from a developer standpoint, but from what I hear the development experience isn't bad? If that isn't the case though, I'd love to hear more about why.

[–] [email protected] 7 points 1 year ago (1 children)

I've used Flatpak, it feels somewhat sluggish;
I had once upon a time used Snap (unwittingly), never again;
Appimages... with a lack of options, they seem to run well, although the two I've used seem to take away quite the chunk of memory.

But if it's a reasonable choice, I'll always go with natively distributed or locally compiled binaries. They may be janky sometimes, but in my opinion they beat the "just ship the entire computer br0" philosophy that clearly comes from the Windows ecosystem.

[–] [email protected] 8 points 1 year ago* (last edited 1 year ago)

How does that philosophy come from Windows? Windows was all about tying your application directly to the host OS via the old .net framework and COM. You had to wait for the OS to update before your app could, or the OS could randomly update and break your app

Containers as a technology are almost entirely a Linux thing as well, Windows ships with a full Linux kernel to support it now.

[–] [email protected] 7 points 1 year ago

If I'm not using the package manager, I use mostly Flatpak. I will use a random AppImage here and there.

I prefer those two because I can pick when I update them, and I've not had a lot of issues so far. I don't like Snap because it reminds me too much of Windows Update. I know it can all be adjusted to my taste, but I already have an option that works out of the box.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago)

For personal use, Flatpak when there's no native option, in most cases. They always seem to work and with Flatseal, you can more finely control permissions and local filesystem access of them.

For servers, if it's a single-purpose VM (like I do with my PiHole/AdGuard servers), I'll also go native. Otherwise, Docker for compatibility and ease of management.

[–] [email protected] 6 points 1 year ago
[–] [email protected] 6 points 1 year ago

Appimages are good for downloading off sketchy websites, Snaps are good for server CLI apps, Flatpaks are good for GUIs

But honestly they all solve the main issue pretty well

[–] [email protected] 5 points 1 year ago (1 children)
load more comments (1 replies)
[–] [email protected] 5 points 1 year ago (1 children)

Appimages could've been great if they had a store front like Flatpak, so while I do not always prefer Flatpak (because of how big the first download is) I use it the most.

[–] [email protected] 5 points 1 year ago (1 children)

there is a store for them called appimage pool which is written in flutter and its also an appimage itself. https://appimage.github.io/AppImagePool/

[–] [email protected] 5 points 1 year ago

Wow, thank you for this.

[–] [email protected] 5 points 1 year ago

I prefer AppImages on my Debian desktops as they normally simply work out of the box (download, start) and I had (many years ago) trouble with snap and flatpak.

[–] [email protected] 5 points 1 year ago

Definitly Flatpaks. Although snaps have improved since I last used them. But of all I still prefer the good old shell based Package manager.

[–] [email protected] 5 points 1 year ago (4 children)

I prefer the AUR, but if I have to use one of the three it's gotta be an AppImage these days.

I used to swear by flatpak, but because I'm on nvidia it just turns into a stupidly bloated mess since it never removes older driver versions. They're certainly not "bad" though, and I use them on my SteamDeck for sure.

load more comments (4 replies)
[–] [email protected] 4 points 1 year ago

Flatpaks work for me pretty well.

[–] [email protected] 4 points 1 year ago

Neither. I exclusively use Nix packages. If I had to pick, AppImage because I can easily extract it to package for Nix :P

load more comments
view more: next ›