Flatpak and SystemD Portable services are actually pretty good.
That’s the direction I see Linux going. I personally use NixOS because I am sad.
Tar is not a package manager, it is just a packaging format. AppImage has the same problem.
Flatpak is a bit of a crappy package manager but at least it is one. And, due to its use of container technology, it allows the same packages to run on any Linux kernel (any Linux distro). That is pretty useful.
Of the other package managers, apk 3 is my favourite but the only distro that uses it is Chimera Linux. Pacman is good. dnf / RPM is ok. apt / deb is in last place for me. The recent Ubuntu 25.04 launch snafu illustrates some of the problems with apt. The first Linus Tech Tips Linux challenge really highlighted the dangers of apt.
I only used snap briefly but instantly hated it. Fstab was a mess. It was slow. It was proprietary. I fled before I could form an educated opinion.
Haha, I break snap a lot less than the others, and it took a bit to figure out the differences. Appimages are annoying af. Flatpaks are my favourite when there isn’t a good old .deb. I recently broke Flatpak though so it’s on my naughty list. Snap still chugging along for some reason, I just wish the permissions weren’t so crazy strict (Nextcloud).
Speaking of all this, I realised I’ve accidentally installed some things twice. Is there a good way to list all the different package managers together to see what is duplicated?
How do you break a flatpak?
Asking the real questions here.
I broke Gnome and now I have Flatpaks that don’t launch. I don’t want to reinstall so I am slowly fixing things.
You can try
flatpak repair
. Or it could be a leftover .desktop file for that app.You can check if that app is still installed with
flatpak list
Yeah that isn’t the problem haha. I have deleted something gnome is not happy about. This has been a few days of tinkering. I think I actually just might have fixed it. Fingers crossed, anyway.
How exactly are appimages annoying? I think they are awesome tbh
AppImage is a package format, not a package manager. Same with tar.
So, I would say the primary complaint should be a lack of package management.
I want a centralised app manage, not 50. I’d probably stick them in a folder and forget them if not for Gear Lever.
Nix is just across the street sipping tea because it understands what it is and is at peace with the chaotic world around it.
Gentoo is too busy compiling to notice what’s going on around it
I use NixOS and Flatpak (Nix-Flatpak) to install software that is not available in Nixpkgs. Unlike Arch’s AUR, Nixpkgs has fewer popular packages. However, Nixpkgs beats AUR in terms of quantity because many Nixpkgs packages are redundant.
Nix organizes Bohemian Grove.
It’s not about the package management method that we use. It’s about the friends and enemies we made along the way (while arguing about package management.)
You can change the labels but the groups in them would remain the same. :)
AppImage is the no-nonsense universal package format.
Last time I read something from the main dev I almost ran stright into the woods.
Also idk about how it is the management situation, portals integration, etc…
AppImages have a lot of problems
That’s because we are…
If .y Firefox will once again be updated without asking me and then refusing to open any page without a restart I’ll fucking lose it
Wait hold on wait, does that bullshit have something with Firefox being distributed through Snap?
If it does, I’m going to sn… also fucking lose it
Yeah, it’s snap
Always updating without letting you know, without asking and it’s ALWAYS at the most inconvenient time
Ah gotcha, it’s not the cause but it makes the problem way worse
I have bad news for you …
(TBH I am not sure, but as I remember, this problem was specifically a snap problem.)
I need nothing but apt or dnf. Miss me with that other junk.
Muh portage tho😲
I use apt and flatpak. They both are good for what they do.
Why do you need flatpak
Flatpak is a common way to install something newer than you can get in your repo. If you are using apt in Debian Stable, Flatpak is a miracle. This is even the reason Ubuntu installs Firefox as a snap (their version of Flatpak).
If you are going to be running an Atomic/immutable distro, you really want to use things like flatpack/snap/appImage to keep your user space separate from the OS.
Oh, you can sledgehammer an rpm/deb/what ever into the underlying OS. But if you do that, why did you choose an immutable distro in the first place? It’s kind of the whole point.
Why do you need flatpak
Not OP, but I like Flatpak (in addition to Apt) because it doesn’t require escalation to add or remove packages, so my kids can self-serve adding or removing games.
Because it just works. After being with computers all day fixing the insane problems that other people create I just want to come home and press buttons and have things work
I use boring Debian, so apt and older packages, and flatpak for a few programs that I want up to date.
When using certain apps I prefer them being containerized on my system. It’s case-by-case for me. I keep steam containerized, my web browser containerized, etc.
But…why
In the case of steam and web browser, the containerization means I can control their access permissions via flatseal. This adds another layer of security, since they’re both web-accessing applications, and it’s easier than setting up a VM to run those applications.
Be aware the sandbox of flatpak is not safe for web browsers, specially firefox based browsers:
https://seirdy.one/notes/2022/06/12/flatpak-and-web-browsers/
https://librewolf.net/installation/linux/#security
https://github.com/uazo/cromite/issues/1053#issuecomment-2191794660
Ah, wasn’t aware. Will have to look into it more.
ensures software support when the developer in question is a moron
LFS + conda
Are there enough watermarks on this meme? At least we got reddit covered.
makes it authentic lol
If flatpak didn’t make me put the entirety of KDE onto my system (thats an exaggeration but you know what I mean) I’d gladly crown it king of the package managers.
Flatpak does not install KDE by default. It is only required if you install a KDE app. You can hardly blame it if you do that.
I just want to point out the dependencies of Konsole (arguably a small and simple application in concept):
glibc gcc-libs icu kbookmarks kcolorscheme kconfig kconfigwidgets kcoreaddons kcrash kdbusaddons kglobalaccel kguiaddons ki18n kiconthemes kio knewstuff knotifications knotifyconfig kparts kpty kservice ktextwidgets kwidgetsaddons kwindowsystem kxmlgui qt6-5compat qt6-base qt6-multimedia sh
.Psst … the first KDE app you installed via your package manager also put “the entirety of KDE” onto your system.
i don’t think I use any kde apps on my system at all
Indeed. As much of how loved and popular KDE is, fuck it. I use the glorious XFCE. XFCE is beautiful too. Fuck, I’m not the maniac who would waste 2GB just for my DE to look beautiful.
Let the hate of the crowd wash over me, but I don’t even like Flatpak, and I’ve got love-hate (mostly hate) relationship with AppImage as well.
Just give me a system package or a zipped tarball.
In recent years, have had to just get used to needing to build most projects from source.
Why the hate part of AppImage?
I’d say that complete lack of a single consistent way to manage updates.
I really don’t feel having to micromanage each piece of software.
AppImage is meant to be updated using the embedded zsync info the runtime, that is the user should never have to open the app to update it.
The user needs to have something like AM, appimagelauncher or appimaged that is then able to parse the info and update the appimages using
appimageupdatetool
This method also provides delta updates, meaning it doesn’t download the entire app but only a diff, see this test with CPU-X where it downloaded 2.65 MiB to update the app:
Just not a fan of container formats in general.
I say that as a heavy user of Docker, but that’s a different use-case.
I go the opposite way. I like the ideas of container formats lol
Easy to update, easy to uninstall, easy to migrate.
Not trying to be annoying like a kid here 😅, but why not?
At least for appimage, it doesn’t create application launchers. And it’s 50/50 whether the icon in the window list works or not.
I also build a lot of Docker images, and container formats throw a wrench in that if that’s the only way the application/utility is packaged. So I end up building from source.
Personally, I use AM. Takes care of that and more.
It is CLI and I’m GUI by nature, but AM is easy enough for me. Just yesterday I did a simple
am -u
and got the latest updated versions of qBittorrent, FreeTube, yt-dlp etc. (I.e. the kind of program that system packages are too out of date to work safely or even work at all.)There are other options like zap (CLI), Gear Lever (GUI) and just recently I believe the Nitrux distro came out with a complete AppImage software manager. (Checking it out, https://github.com/Nitrux/nx-software-center , it seems it pulls from AppImageHub.com, which unfortunately has largely been forgotten by developers, a lot of software is either out of date, unverifiable or completely absent. AM is much more up-to-date, pulling the latest AppImages mostly from official GitHub repos.)
Missing dependencies. (Or wrong version of fuse)
No automated updates has be the biggest reason for me.
Emerge, baby!
A stab at my personal ranking: .deb > appimage > flatpack > curling a shell script
I can’t help but love a .deb file (even when not via repo), I’ve almost exclusively used Debian and it derivatives since the late 90s. And snap isn’t on the list because it got stored in a loopback device I removed.
I just recently de-snapped yet another ubuntu system. Couldn’t agree more. I use debian standard for all of my stuff, and I agree with your ranking.
xbps > pacman > apt imo
Am I the only one who struggled extensively with .deb file with out-of-date dependencies? It seems the software dev needs to update the .deb file frequently, which they never do.
As someone who is confused when he has to deal with a .deb file and always has to google what to do with it - what is the advantage of a .deb over let’s say a shell script?
Well for one a .deb comes out of the box with an uninstall machenism. As well as file hashes, package singing, etc…
If made correctly (which is hilariously easy), it’s a clean install and uninstall process, support some level of potential conflict regarding files that are shared with other packages/commands, support dependencies out of the box, and with minimal work can be made easy to update for the user (even automatically updates, depending on the user’s choices) by having an (again, very easy to setup for a dev) repository. With the added value of authenticity checks before updating.
All this in a standardized way that requires no tinkering, compatibility stuff, etc, because all these checks are built-in.
Note that some of this probably applies to other system package management solutions, it’s not exclusive to .deb.
I never fully trust a shell script and usually end up reading any I have to use first, so I know what they do. And after so many years dpkg holds no mysteries for me and Discover will install .debs if I double click while in KDE.
It’s worth knowing that .deb files can contain setup scripts that get run as root when installed, so you should trust them too.
Yeah. They all come with risks, but I psychologically struggle to run shell scripts unless I know what’s in them. And the same brain dysfunction makes my automatically distrust a script that doesn’t set pipefail.
That definitely makes sense. Also, the scripts in a .deb should be incredibly short and readable, if you choose to check them out.
dpkg -i <nameofpackage.deb>
Which can be read as: (Debpackage) -install <nameofpackage.deb>
That’s it!
Also, if you haven’t already, install tldr (apt install tldr), then you can ‘tldr deb’ (or any other command) to get a few examples of their most used functions.
It might be different for other distros, but for me on MX Linux, I just click on the .deb and it opens a shell with a root prompt and installs the file automatically. Easy peasy.
A rusty bucket riddled with holes and the stick part of a shovel is better than snap for running software.
my issue with snaps is honestly just that they are controlled too much by just one entity (canonical) and there is no reason for them to exist because flatpak already does everything they do.
Yup, thats why a tarball is better
I tried a snap package on my pop-os system once & it poo’ed folders all over my system, then didn’t actually uninstall when I uninstalled it.
No thank you.