So what is the general consensus on package management these days on Debian based distributions? I may be old school by relying only on APT (DEB) for my Linux machines, and never really got into Snap, Flatpak, and what not. Is APT still most used? Or is there a significant movement towards Snap or something else. What I hated when I looked at Snap the last time is that distributions come with different concurrent architectures on package management, which from a point of view of organizing you system just doesn't make sense. A difference between package management (APT/Flat/Snap) on the one hand and service management (Docker, k8, ...) on the other hand I understand.
Linux
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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
For end users, it seems like everybody is mostly content with all the options available except Snap.
Snaps are generally slow, use more bandwidth on updates, and tend to be inconveniently restrictive for security purposes. It just makes way more sense to use apt for anything that isn't gaming-related.
I like Flatpak and despise Snap (on a personal computer, it's tolerable on a server) enough to sudo apt remove and purge snapd from a new installation. The startup time is slow and I hate having snaps as mountpoints. It doesn't help that Firefox is by default a Snap on Ubuntu - it feels as if you're starting it on a mechanical HD with a Core2Duo processor and you can really appreciate how stupid having such a core app as a browser is as Snap when you add the PPA and install it as a deb package. Don't even get me started on the asinine "we update when we want to" that makes you restart your browser at most inopportune times. I hate Snap so much it's unreal.
I feel exactly the same and stopped using Ubuntu entirely once they started using apt to install snaps. Have you recently purged Ubuntu of snaps? Last time I tried it was an absolute nightmare to upgrade.
We remove snap as a first thing on new server installs, and other than the few dormant folders left behind we have 0 issues. Once that stops working we’ll move to Debian I wanna switch now but need something like this to get the rest of the team onboard.
I don't upgrade Ubuntu, just unmount home, tar the configs for reference and install the new one. I've lost more time in the past to hunting gremlins on an upgrade than doing a clean install and applying my configs.
Actually snap desktop may be alright. I tried Ubuntu core os and the performance isn't so bad
I've heard the PPA for Firefox is a Snap now as well, FYI.
Don't believe everything you hear. It's still available as a .deb: https://launchpad.net/~mozillateam/+archive/ubuntu/ppa
Well, thanks for correcting me. Always better to have accurate information.
I use traditional packages and Flatpaks... with "user apps" being preferred as Flatpak. This is potentially safer as the OS itself can't be affected by installing or removing these applications, and also can mitigate dependency hell as apps that require different versions of the same dependency can coexist peacefully, with each one using its own bundled version of that dependency.
I also have a couple of appimages that aren't available as a Flatpack, and I'll simply find an alternative to anything that is only distributed as a Snap due to the performance issues, mount clutter, and proprietary nature of the Snap distribution back-end.
This I understand, from a user space perspective the Flatpaks seems like a good thing; isolated from the OS. For a server only environment it seems to be less of an issue, provided that the sys admin knows what he/she is doing.
On a server you’re usually better off boxing stuff up in containers than using an app-in-a-zip like flatpack. Or maybe I’m just old fashioned..
If the sysadmin knows what he/she/it is doing they know different apps sometimes have conflicting library dependencies.
Isolation is more important on a server. Docker is highly successful in that space.
I'll be honest, I kinda hate snaps on Ubuntu. They work well enough, but things like updates are never automatic and generally just a pain in the ass. I'm at the point where I really want to experiment with bedrock Linux to have ubuntu's kernel for built in ZFS and have debian repos for less shit decisions.
On my steam deck, I've become fond of flatpaks and similar experiences because they help preserve the software across updates ensuring I don't have to constantly reinstall things but that's a niche issue given the nature of how steam manages the os on a steam deck
Depends on the software you're using and how it's being packaged by the vendor. Flatpak works pretty well. Snap sucks. AppImages are easy when done right, but with lots of downsides/no security mechanisms.
If the vendor recommends using their repo, I'll use it. If they recommand using my distro's packages, I'll do that. Generally, I get the best experience when I install software the way the developer wants me to. It makes for a "lumpier" distro (flatpaks, appimages, downloaded binaries, actual packages... jesus, it's a mess) but honestly all the software works without a hiccup.
If you buck the developers, weird stuff can happen. If they want you to install their packages, but you install your distro's packages instead, be ready for a rough time.
Apt is still widely used, especially for system packages. Some distributions mainly rely on flatpak for gui apps and suggest containers for services (docker, podman, ...) and user cli tools (distrobox).
Snap is different and can be used for packaging anything (e.g. gui, cli, services), including the kernel and the snap daemon.
Canonical is moving towards snaps and is expected to release a snap-only immutable Ubuntu distribution in the next year or two.
With snap being able to install gui and system apps it does what immutable Fedora uses rpm-ostree and flatpak for.
I personally don't like that Canonical tries to push snap as a distro agnostic packaging sustem as it lacks features on many non-Ubuntu distros. Flatpak is especially useful for proprietary apps because of simple sandboxing or apps not packaged yet. It's also the main way to install packages on many immutable distros. It also works on NixOS which formats like appimage don't support by default (no fhs).
From what I've been reading on the internet, mostly from other people, Ubuntu is leaning heavily into making everything a Snap. Any official flavour of Ubuntu is expected to follow this. Other Ubuntu-based distros, like Mint, are avoiding Snap as far as possible. So, there's options for anyone that doesn't like Snap at least.