this post was submitted on 30 Jun 2023
101 points (97.2% liked)

Linux

45551 readers
1802 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
 

I know snap is fairly unpopular in the Linux community, and I've seen mixed responses regarding Flatpak. I wanted to know, what's the general opinion of people in this community regarding this 2 package managers?

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 32 points 1 year ago* (last edited 1 year ago) (2 children)

To quickly introduce myself, I'm the main author of Paperwork. I've packaged Paperwork in various ways, and many people have packaged it in various distributions as well.

I'm fine with Flatpak. In my opinion, it has its use cases. I find complementary to other existing methods (distribution packages, AppImage, ...)

However I'm not fine with Snap. I haven't used it much, but my understanding is that it focuses on Canonical servers. You can change its configuration to use other servers, but it defaults to Canonical servers (and we all know most users will never change default settings). To me, this is a slipping slope towards proprietary services/software.

Moreover, I'm really annoyed by Canonical pushing Snap by default in Ubuntu (Firefox, Chrome, etc are packaged only using Snap now; the APT packages install the Snap packages). It doesn't bring anything to the users. Those packages could have been as well-packaged using APT (see the repositories *-updates in Debian for instance).

[–] pglpm 6 points 1 year ago (1 children)

PS: nice software your Paperwork. I hope in the future you'll add support for djvu format – most of my documents are in that format (it saves a lot of memory for scanned documents, compared to pdf).

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

That's something I would like to do someday. Unfortunately, last time I checked, libraries for reading DjVu files exist and are OK, but not for writing them. Last time I checked, most programs I found that write DjVu files actually don't use the DjVuLibre library. They actually run the DjVuLibre commands.

[–] pglpm 3 points 1 year ago

Great that it's in the todo-list anyway. I usually use the Any2DjVu server for converting and OCR-ing documents in pdf format. The djvu file is typically 20% size of the original pdf, and the OCR is usually better too. I'll check on your project regularly for updates :)

load more comments (1 replies)
[–] ghariksforge 26 points 1 year ago* (last edited 1 year ago)

Flatpak made my life much easier. It solves so many problems that the Linux ecosystem had. "Package once, use everywhere" is great.

Snap could have been similarly good, but I think Canonical made some mistakes.

I don't hate Snap. I think a bit of friendly competition is good for both Snap and Flatpak.

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

Thanks to Flatpak, I can have basically careless OS updates with Fedora Silverblue, so I'm very happy with them. I also appreciate the fact that every distro that can run Flatpak automatically has a wide range of software available to it.

I'm sure Snaps have similar advantages, but I haven't worked with them much. I don't really like that you can only publish Snaps through Canonical though, so in that sense I hope Flatpak wins.

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

First of all, I think an idea of package management separated from a system environment is generally good for desktop usage. And don't like and the idea to place all existing application software in distro repositories. But implementations are far from ideal. So I list those bellow from worse to better.

  1. AppImage. It highly relies on the environment doesn't have native sandboxing, and promotes bad practices like building apps with old libraries.

  2. Snap. Snap is mostly fine but relies only on AppArmor for confinement, has performance issues for a long time without significant progress. It promotes a proprietary app store. Relies on Ubuntu infrastructure. Good: snap store support signed packages and more friendly to developers.

  3. Flatpak. App start time is near to native. It has stronger sanboxing but with many holes for compatibility. It true distro-independent as well as popular runtimes are also distro-independent. Bad: Flathub doesn't support signed applications. Sandboxing and permissions rely on hacks and tricks which are far from good design. Development is slow but it is true for the mentioned above as well.

With that, I am more open to new alternatives, especially if started from a system point of view rather than from a position of distro-independent package managers like Google did with Android. For example, sandboxing can rely on users separation and work on various operating systems not only with Linux kernel.

[–] molochthagod 12 points 1 year ago

I always prefer native packages over containerized. But I'm glad they exist, because every now and then a native package won't work. I don't agree with most people that say Linux needs to be streamlined: less distros, less packaging systems, etc. Personally, I like when I have options. I prefer flatpak over snaps and appimages, but ideally I'd like to have all of them available just in case. When comparing snaps to flatpaks, in my personal experience, flatpaks just integrate better. But they're not THAT much better than snaps, so I could see myself using either, it's just that so far I haven't run into a situation where I'd need to use a snap. There is one downside to flatpaks though, and it's their names. As DT pointed out in his video, it can be pretty annoying to run them through terminal. But I hate the fact that Mint removed snap and Ubuntu removed flatpaks. I don't think we're achieving anything with this "war of formats". Let people use both and decide for themselves.

[–] Sir_Simon_Spamalot 10 points 1 year ago

Snap sucks. Flatpak is awesome!

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

It's bloated... but thanks to it, my grandmother can now use linux. :^)

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

I've come around to liking Flatpak.

  • I don't have to deal with dependency hell I sometimes get with third party packages (AUR/PPA)
  • I don't have to worry about make dependencies
  • I don't have to deal with clutter in my home directory, they are mostly encapsulated in ~/.var and easy to clean, discover even asks me. Especially if I try the app for 10 minutes and device it wasn't for me. Espexially for apps that don't follow XDG base directory specifications (which is too many, but that's another post)
  • I get some (imperfect) sandboxing and control over what an app can access, especially with proprietary things like Discord …

Anything I need to get into a desktop environment should come from the distribution's repositories and package manager. For user applications, Flatpak is great.

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

As an out-of-band software delivery method and supply chain that

  • breaks single source of truth
  • defeats/breaks simple enterprise-style (HOST-RESOURCES-MIB::hrSWInstalledName) inventory
  • enforces/uses alternate dependencies

It has ab-sol-ute-ly no value to me, and only security risk after security risk.

Apologies to those who've spent time on them, but I'm happy to not see them as their value within the scope of my workday fell off a cliff in about 1996 - maybe before they even existed - with the advent of something better.

Again, sorry. I'm only speaking as someone who used to manage OS security on Unix and has spent 20 years in the leviathan-enterprise space as rehab. Your mileage with glitter may vary.

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

For the most part, I'd rather have native packages. I'm not deeply philosophically opposed to secondary packaging systems, and only mildly opposed to "ship the whole dependency tree in an archive" software distribution methods (lookin' at you NextStep/OS X style bundles), and see their potential especially on platforms with no/bad native package managers or to bring in specific software that would pose a compatibility problem for the host system... but they never seem to work nearly as well as native packages, and the two big players on Linux have problems.

As far as I'm concerned, they're just taking the old last-ditch practice of "I have this piece of recalcitrant software that is incompatible with the rest of my system, so I'll throw it in /opt with its entire dependency tree," replacing opt with a bunch of bind mounts, and doing so with varying degrees of additional tooling.

The sandboxing is a nice idea, but it seems like in practice the models on both snap and flatpack are simultaneously restrictive in ways that make them annoying-to-unusable for many tasks, and too sloppy to provide reliable security guarantees.

They make debugging problems harder because you can't check functionality from another program because they likely don't share libs. ldd is a lot easier than spelunking around with eg. flatpak list --app --columns=application,runtime until you find a "peer" to test.

If I need a one-off piece of software that is a compatibility nuisance on my host distro (but not so much of a nuisance it needs to go in a container or VM, which is a pretty narrow window), I'll usually reach for an AppImage because unlike the other two, they're actually fairly standalone and don't involve a big invasive runtime/tooling system.

The Immutable-core OSes that depend on them are kind of the same way at the moment. Fundamentally a pretty neat idea, but so far I find them super frustrating in practice. Nix is ...different... to work with, but is likely a more elegant scheme to solve the same class of problems.

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

I'm trying to use native package as much as possible, then tar.gz package, .appimage, compiling from source on that order. I only use flatpak as last resort.

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

If an app shouldn't affect the rest of my system i don't mind it as a flatpak. I like that I can use the bleeding edge of an app without system breaking dependencies. I also appreciate the sandbox that flatpaks seem to be contained in. If something is meant to be a part of my system then it needs to be native.

My experience with snaps have not been pleasant, patricularly on arm devices.

[–] Kovu 6 points 1 year ago (1 children)

I like Flatpak in general and it might be the future(tm) but I hate how huge the packages are

load more comments (1 replies)
[–] ChilledFlames 5 points 1 year ago

Don't really like Snap since it uses my system ram whenever I boot up my os.

As for Flatpak, its been a great experience for me so far.

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

I like the user experience of two clicks to install and run, it's feels very smooth.

I had some bugs with the CLI when developing Flatpak applications, but I guess that will be resolved when it gets more refined. I also welcome a central "linux appstore" and more sandboxing features, so my view on Flatpak is that I like it more than most other solutions.

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

Snaps still don't seem to have network storage permissions when I tried ubuntu a week ago, so they suck for me. I put just about everything on my NFS.

A lot of the flatpaks for programs I actually use are third party and not maintained by the actual developer, have missing or enweirdened features because of the sandboxing, and are a removed to run from command line. So I try to avoid those too.

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

I'm on Kinoite so I love flatpaks obviously. I will never integrate another application into my system again after going immutable. For everything else I setup a toolbox.

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

I use Flatpaks and they're pretty great specifically for gui applications that don't need any kind of deep integration with the system. For terminal applications or for applications that do need system integration, they're not quite ready yet.

I've never tried snaps, but I hear almost exclusively bad things about them, so I'm not really interested in trying them either.

[–] Zeus 5 points 1 year ago* (last edited 1 year ago) (1 children)

pretty unpopular opinion i believe, but i loathe them. they feel like installing apps from the windows store, but worse. i use them on steam deck and my laptop, but they often fail to launch with no feedback[^1], won't accept drag&dropped files, store their dotfiles in weird places, take up much more disc space (and therefore take literally almost 10x as long to download), won't inherit the theme (i think because plasma stores the gtk theme in a non-standard place), etc. they feel like they've been designed to flout what os developers have built up over many decades and are just a struggle to use.

[^1]: on steam deck particularly (so i know it's not a configuration i've screwed up) no flatpaks will launch unless i launch them twice. even after that, there's a long delay (~1 minute) and then two instances launch. i know this sounds like i should just wait until the first one launches, but that doesn't work

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

The Flatpak theming issue is really annoying, yeah. There’s a rather limited pool of GTK themes to choose from in Flathub, but as long as you’re running one of those themes in your DE (assuming GNOME or other GTK-based), themes will inherit. Can’t speak to KDE as I haven’t used Plasma as primary.

Other than that, Flatpak has been great. I use it reasonably heavily on a laptop that’s slower than a Steam Deck (Ryzen 5 3500u, 8GB DDR4, 1TB Samsung 970 Evo Plus) and haven’t run into performance issues on multiple distros — EndeavourOS, Pop!_OS, LMDE, Fedora, an early version of Vanilla OS, and most recently Debian 12. On my desktop I don’t feel a performance difference between Flatpak and native.

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

The steam deck uses KDE, so the most popular Linux desktop device is going to be showcasing what flatpak is(n't) capable of.

This is largely a problem thanks to the GNOME developers though, refusing to play nicely with anyone else and acting like their way is THE way.

load more comments (1 replies)
[–] BitingChaos 5 points 1 year ago

I don't like Snap due to performance issues and I HATE how it was forced down our throats with Ubuntu.

If something was truely "superior" then people would simply start using it. Ubuntu told us it was better and then started killing parts of its own distribution to force Snap on people.

[–] Pdm216 4 points 1 year ago

What is bad about snap, it's that if you are on Ubuntu you can't choose the format of the application you want to install. If you install the package from the repo it will install the snap.

But if you like Linux it's because it give you the choice (and the responsibility which come with it).

Flatpak is just an option. You still have the choice to use it or not.

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

My first experience with snap was rather frustrating.

The application kept failing to read the config file I provided without telling me why. After reading up it turns out snap can only read from the users home directory (and mounts, I think).

Fine, frustrating but I vaguely understand it. So I move my config to the home directory. Still the same issue with no explanation.

Finally it turns out it can't read dot files or dot directories even inside the home directory.

Again, that's understandable but it was an incredibly frustrating, unintuitive experience. Vastly different than the Linux experience I was accustomed to.

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

my mirst contact with snap was while trying to instal lubuntu to some old laptop, and was confused why Firefox too minutes to start.

If you want me to use something - better make it better than original thing. This was terrible experience, I needed some time to disable it and find a way to installed real package.

And don't hide it from me. And let me choose.

So I don't like it, I don't care about technical advantages, if there are any, I will not use it because someone forced it upon me. o can not support such behavior.

Flatpaks are too big. And most packages I wanted have serious bugs. And I never found how to change font size in those apps.

AppImage is great, I use it for gimp, inkscape, libreoffice and some other software packages I rarely use. but they don't have official repository, so I will not take binaries from some random people on the net. nor use google as my package manager.

[–] qaz 4 points 1 year ago* (last edited 1 year ago)

Flatpak for apps, Nix for other packages. Snap is inferior and only used because it's been pushed by Canonical.

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

Flatpak's the only one I've had good experiences with. Tangentially related, but I especially dislike AppImages. I'm not a fan of how bulky installing various flatpaks ends up being and use native packages or the AUR usually, but beyond that they're really convenient for non-critical applications that otherwise would mesh poorly with my distro or aren't available there. Friend of mine tells me it's also a nice system to package Windows applications/games with a preconfigured Wine version.

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

I love flatpaks, they add a BSD like separation between my GUI applications and the rest of my OS, letting me update them safer. I've run into issues, but once flatpaks really mature and cross-app integrations are added over time so things "just work", it will be a real staple on the Linux desktop.

Fuck Snaps unless you're on a server.

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

Seriously, I really wonder if the opinion about Snap/Flatpak is really that strong outside of the echo chambers of the Linux online communities.

Concerning Snap, I saw people upgrade from Ubuntu 18.04 to 22.04 w/o even noticing it. (AFAIK that was after Canonical invested some time in the performance problems.) Of course, I can also understand Ubuntu users which where unhappy about performance degradations with Snap packages.

I run openSUSE MicroOS/Aeon on my entertainment system with Flatpaks, and for my use case, flatpaks / immutable Linux distributions are brilliant: Automatic updates on reboot and I didn't have to bother with anything after the first time setup.

On my work desktops I run Debian and I am quite happy for some applications packaged as Flatpak, which would be hard to get in updated versions otherwise. At the same time, development environments in Flatpak are - at this moment - more trouble to me than it is worth it (integrating with toolchains/build systems and the operating system).

In general, my opinion is that Snaps/Flatpak provide a great solution distributing software in the Linux ecosystem and I would prefer, if distributions focus more on their core operating system instead of the redundant work of packaging the same software again and again and again. Of course, Snaps/Flatpaks will always have some drawbacks compared to a package integrated into your system (a little bit more disk space and perhaps a little bit more memory). OTOH a lot of problems we see now will hopefully be solved in the short/long run (theme integration, sandboxing, integration in the rest of the system).

The best thing that could possibly happen is, that the maintainers of several distributions which do redundant work team up on the flatpak packages and make them really awesome.

Looking really forward how things will develop in the next few years, and I especially look forward how openSUSE Aeon will develop. Linux is getting interesting again. ;-)

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

Every snap i've ever downloaded has been ridiculously slow

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

snaps I actively dislike since they're more heavily tied to specific servers and how Ubuntu is replacing perfectly good native packages with them.

Flatpaks and appimages are both ok, but I usually just package anything I need myself ( I use Gentoo and like its ebuild format) rather than go looking for them.

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

I'm not super familiar with the details of either (as I've gotten so used to the AUR having everything I might want), but I can say with some confidence that snap was rolled out in a way that doesn't do it any favors.

I have an old laptop that I occasionally boot into to do some stuff, but not super often. After an update, it appeared as though Firefox had forgotten everything; I wasn't logged in, default start page, all settings reset, etc. I was super confused and mildly annoyed, but I set everything back up anyways. Then a bit later I ran Firefox again and it opened to what it was before the update??? Then I realized there were two installs, one apt and the other snap, and the latter was installed without my permission (or knowledge, maybe apt said in one of its 10k lines it spits out that 'btw here's a snap package' that I was somehow supposed to notice).

I find containerized packages really nice for things that are very dependant on how the system is setup but are unlikely to get updated if that system changes (either by me not updating it or it just going unmaintained). Firefox is not that though.

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

I like having options, but I wished they were better. Snap has been nothing but trouble for me, I had Authy break on me for weeks until I found that it couldn't handle a symlink in my home directory. Flatpaks just take forever to install and update, and it sucks that there's weird sharp edges around flatpaks permissions that cause some apps to break. App Image have been pretty okay, especially when you have that integrator tool, just would be nice if they could update themselves.

IDK. I kinda miss PPAs being the norm.

[–] shotgun_crab 3 points 1 year ago* (last edited 1 year ago)

I'm fine with Flatpak (and also AppImages if a Flatpak isn't available). As for Snaps, I don't like some of Canonical's decisions like apt installing the Firefox Snap instead of a deb package, and I think the user experience when using Flatpaks is better overall.

This doesn't mean Flatpaks are perfect for me yet, they just work better than their alternatives.

[–] LucidDaemon 3 points 1 year ago

I've started using Flatpak a few months ago to see how it works. I haven't done any empirical comparisons but it seems to work well.

I avoid Snap because Conical.

I've tried app image but its too hard to manage and I haven't found a way to install it like a native app.

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

I tend to use native packages. However, I find Flatpak very useful to avoid large list of dependencies, specially when Wine is involved.

[–] FairLight 3 points 1 year ago

I prefer flatpaks over snap, of course. I like using native packages, but I can definitely see the advantage in terms of dependencies, isolation and immutable systems, and they will probably be the future.

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

I'm by no means a power user or expert. However, my anecdotal, non-critical usage of both formats is just fine! Both install, update, and function as I'd expect. I know there is quirks and political drama in some cases, but as a simple end user... They're both ok!

[–] heliumlake 3 points 1 year ago

Only snap app I have is Nextcloud on my Ubuntu-based VPS. It “just worked” as opposed to the manual install and automatically updates. Several years with minimal downtime (only for regular system upgrades and moving from one LTS release to the next), so it’s been very reliable actually. I use Flatpak for certain applications on my desktop since I don’t run Ubuntu on my personal computers. I haven’t had any bad practical experiences with either, but definitely understand those weary of Snap.

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

I use Flatpak and AppImages mostly. I am using Debian, but sometimes an app is just to old for me, and than I use a flatpak. For testing and temp. use I use AppImages. If more people around me would use Linux I could use AppImages as mobile apps to carry around.

[–] fhein 2 points 1 year ago

I have an old laptop, where I installed Ubuntu on a tiny SSD (formerly a hidden recovery partition in Windows). It was only 10GB so eventually it filled up, and when looking around I discovered that 2GB were being used to save multiple old versions of snaps. Further, it turned out that there weren't any options for changing this behaviour, and one would regularly have to manually delete unnecessary backups. And to do that, there weren't any simple command like "snap cleanup", but rather a pretty complex chain of commands that searched for older versions and deleted them. IIRC it was snaps for gtk and gnome that took a couple of hundred MB each, and each with 3 different versions stored.

This was a few years ago, so it's possible that some things have changed.. And having the option to roll back packages can of course occasionally be useful in case of failure, but what turned me off was that his was being done against my will, and the feeling of Canonical trying to remove control from me in an attempt to idiot-proof my computer. I like using Linux because it gives me control, and that it doesn't remove or hide "advanced" features to try to prevent people from breaking their own computer. I don't mind if app stores or snaps exist as an option, but I get defensive when it feels like things I don't like are being forced on me.

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

The idea is fine for a last ditch, nothing else is working, attempt at getting something to work. Or, I suppose, if you want o use them like a lightweight VM for server type things. But I'm a desktop user and much, much prefer and use native packages. Adding another layer is dirty.

[–] horix 2 points 1 year ago

I like flatpak more than snap usually, for better performance, theme integration, hackability, and permission management. But recently I tried to install flatpak apps on an old HDD machine, and found out that the app startup time is so unbearably slow that I had to give up. Snap (contrary to what I heard) is just fine. Maybe because snap moves the mount time to boot time?

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

Not a fan of Snap. In some ways it seems antithetical to the whole idea of Linux and FOSS.

Do I use it? Yes, for one specific reason: Foobar2000. There is a Linux version on Snap, and there is no other music player I've found on Linux which is as full featured and functional.

Damn I wish I could get it without Snap.

[–] loganmarchione 2 points 1 year ago* (last edited 1 year ago)

I like Flatpaks for running proprietary software (Slack, Discord, Spotify) because I can use Flatseal to lock down permissions for each app.

I also agree with someone else that said Flatpaks don't really integrate well when they need deep system integration.

I really like that Flathub now has a verified section (as opposed to some random person packaging the application).

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

I use both on gentoo for some obscure or proprietary stuff that is not packaged in portage, like filebot, authy desktop, discord, steam and foobar2000 (including wine in 1 bundle to avoid dependencies and switching all portage packages to 32bit abi). It works well and opens me up to loads of stuff. It's freedom in some way.

Snap or flatpak makes no difference to me, they're just different backends for kde discover

load more comments
view more: next ›