this post was submitted on 29 Jul 2023
36 points (97.4% liked)

Linux

45460 readers
1891 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
[–] Kalcifer 12 points 11 months ago* (last edited 11 months 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 wise to use them as a main package format.

[–] chickenwing 12 points 11 months 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 11 months 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] 9 points 11 months ago (2 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.

[–] joel_feila 5 points 11 months ago

Well to be fair you can also download random flatpacks or debs or what from a website

load more comments (1 replies)
[–] mafbar 8 points 11 months ago (1 children)

For me it's Flatpaks at the moment. Adhering to FOSS means that I try to avoid Snap. AppImages are pretty good, since it's just an executable (and I think there's an AppImage updater as well?), but Flatpak is preferred for me since I like the idea of having containerised systems because it's easily manageable under this sort of central manager, i.e. Flatpak. I typically just install everything using Flatpak and update through that.

load more comments (1 replies)
[–] [email protected] 6 points 11 months ago* (last edited 11 months ago) (1 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 (1 replies)
[–] [email protected] 6 points 11 months 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.

[–] sohrabbehdani 5 points 11 months 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] 3 points 11 months ago

Wow, thank you for this.

[–] CypherPsycho 5 points 11 months ago (1 children)
load more comments (1 replies)
[–] merthyr1831 5 points 11 months ago (2 children)

Appimages are nice, self-contained apps and I do like that they're super simple to install and run. Downside is that they're often a bit bigger in size and not all apps can be packaged as appimages. Oh and the guy who runs many appimage repos is a dick.

Snaps have good security, OS-integration (on Ubuntu at least) and can run CLI apps well. Downsides are that Canonical controls the technology and repositories, which end users may enjoy because higher curation of apps, but the system is less open and reliant on Ubuntu for its existence.

Flatpak imo is the best compromise. It's an open standard which works well across various distros without hassle. Downsides are that it's not super integrated into your OS very well and it's larger than a native app. For one, I have a couple flatpak apps that don't respect my system's themes yet.

That being said, these are issues being worked on by flatpak, and being worked on openly! I prefer to go with Flatpaks where I can, but AUR and Pacman when those aren't available. If I only need an app to do one thing and then can discard it (ie. flashing a USB with balena etcher) appimages are nice because they don't leave an impact on the host system.

load more comments (2 replies)
[–] [email protected] 5 points 11 months ago (7 children)

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

load more comments (7 replies)
[–] [email protected] 4 points 11 months ago (2 children)

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.

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

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

load more comments (2 replies)
[–] [email protected] 4 points 11 months 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

[–] RegalPotoo 3 points 11 months 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] 3 points 11 months ago

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.

[–] [email protected] 3 points 11 months ago

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.

[–] om1k 3 points 11 months ago

I try to install through the package manager, if not available I go with flatpak most of the times.

[–] [email protected] 3 points 11 months 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.

[–] TrickDacy 3 points 11 months ago* (last edited 11 months ago)

I'm not really incredibly up on the pros and cons outside of user experience, but as a user just trying to use an app, for me flatpak has always seemed the most user friendly. I can install and update them on Pop_OS using the included app store tool, as well as install them from outside the tool. To my memory, snap always requires CLI and hasn't felt smooth, and appimages have felt sketchy AF to me. And like someone else said, updating them isn't smooth or automatic at all.

[–] [email protected] 3 points 11 months 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] 3 points 11 months ago

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

[–] [email protected] 3 points 11 months 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.

[–] warmaster 3 points 11 months ago (1 children)

Snaps, hell no. I wouldn't touch anything Canonical TBH.

Appimages are very chaotic.

Fkatpaks leave a bunch of trash after uninstalling.

I use Flatpaks, while they are not perfect, they are improving.

[–] [email protected] 3 points 11 months ago* (last edited 11 months ago) (2 children)

Fkatpaks leave a bunch of trash after uninstalling.

From my experience, most of the things I'd like to delete after uninstalling are in ~/.var/app/(App ID)/.

load more comments (2 replies)
[–] [email protected] 3 points 11 months 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] 3 points 11 months ago

The arch repos are enough for me except two softwares so I downloaded them as appimages. Appimages are enough for my small needs.

[–] [email protected] 2 points 11 months ago

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

[–] Tippon 2 points 11 months ago (1 children)

I'm still trying them out, but if they work as advertised, then AppImages. That's mostly because I use my desktop and laptop pretty much equally, so being able to copy and AppImage from one to the other and keep going would be really handy.

On a similar note, if a computer dies, being able to just copy and paste them to a new computer, or run them from a portable drive would be great.

[–] sohrabbehdani 3 points 11 months ago (2 children)

yes appimages are good but my problem with them is that when there is a new version i should download them again and again....

[–] [email protected] 1 points 11 months ago

Have you met appimageupdater?

load more comments (1 replies)
[–] [email protected] 2 points 11 months 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] 2 points 11 months ago* (last edited 11 months 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] 2 points 11 months ago (1 children)

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

[–] [email protected] 2 points 11 months ago

Appimages don't get updated which I find is a missing feature

[–] [email protected] 2 points 11 months ago

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.

[–] [email protected] 2 points 11 months ago

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

[–] [email protected] 2 points 11 months ago

None of them

[–] [email protected] 2 points 11 months ago

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

[–] [email protected] 1 points 11 months 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] 1 points 11 months ago (1 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.

[–] [email protected] 1 points 11 months ago* (last edited 11 months ago) (1 children)

Snap isn't really closed source, it's common misconception, the closed source is only backend (canonical servers), the snap core itself, which is installed on Ubuntu, is fully open source

Edit: snap definitely sucks tho

load more comments (1 replies)
load more comments
view more: next ›