Snap bad
Snap bad
Snap bad
A long time ago I needed to install a program. It needed snap I think. Well I googled and googled and googled and I couldn't just type "sudo apt install snap" for some reason. But there was a way to get snap if you had flatpak. I didn't have flatpak So I googled and googled and googled some more and I couldn't find a way to install flatpak that didn't involve already having snap first.
So then I never fucked with flatpak or snap ever again except for that one time I installed gzdoom in flatpak and it actually worked for some reason, the end.
A magnetised needle and a steady hand is a better package format.
What you are thinking of is not a package manager but a compiler.
Not if you just have list of blobs in your head.
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 already have the system package manager. Everything else that isn't it doesn't manage my system and is doomed to suck.
For me it is the "Windowsy" feeling of downloading an executable from some website. I prefer having all my packages managed in one place.
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.
Missing dependencies. (Or wrong version of fuse)
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.
No automated updates has be the biggest reason for me.
Are there enough watermarks on this meme? At least we got reddit covered.
makes it authentic lol
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
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...
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.
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.
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.
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.
How the hell do you learn to use nix. I'm not a programer but figured out how to run gentoo just fine with the guide. nixOS feels like I'm in a mirror maze in the dark and the room is rotating.
Well, Nix is a programming language, so there’s no getting around having to learn basic principles of coding.
That said, I feel like coming into Nix with a lot of programming experience actually worked against me at first, because I made a lot of assumptions that weren’t true and basically had to “unlearn” certain things.
The main things being:
What really made it click for me was seeing how a derivation object is basically equivalent to a path. So if I do ”${pkgs.foo}/bar”
, that’s the exact absolute path (plus /bar) where Nix will end up storing the output of the pkgs.foo derivation. Even without actually building the derivation, you can know where it will end up.
Anyway, the documentation is pretty shitty, so you basically have to scour every community resource you can find and read way more of it than it seems like you should have to. Discord/Matrix servers help a lot too. And learning to navigate the source code for nixpkgs.
Also: Don’t start with NixOS, imo. Start with dumb throwaway stuff where you make a derivation that downloads a file and unzips it and runs a single command. Once you understand that, do something that requires understanding a bit of nixpkgs, like using overlays. Then you can use NixOS. Otherwise, there’s too much going on all at once.
Edit:
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.
My issue with snaps is also the power that Canonical has to fuck you over one day, because of the centralization that you mentioned, but also that their shitty fucking packaging format sucks ass and breaks everything but the most basic of apps. I've wasted hours trying to help people with their broken applications that were hijacked when they typed apt install whatever
and "whatever" was actually a fucking broken snap package.
Flatpaks and AppImages actually do the fucking things they're supposed to. Snaps don't, and Canonical is pulling a Microsoft by hijacking your package manager.
Also, Snap sandboxing only works with AppArmor, so if you were hoping that all the breakage was worthwhile because you get sandboxing, you don't if you're on anything but a handful of distros 🙂
Let me know when I can get cups as a flatpak.
(Oh and snaps predate flatpaks.)
Yup, thats why a tarball is better
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
If you want, you can also compile everything with Nix!
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.
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.
Plus make it hell on earth to a) access drives other than the one flatpak is installed on, b) interoperate with non-flatpak applications, and c) retain any amount of free space on my drives (exaggeration for effect).
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.
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 have really started to like AppImage. You just download a single file make it executable and it just works.
I use Cursor for coding, and it has an appimage that replaces itself when it updates.
Some apps are a bitch and a half for some reason, other apps just work
Make a .desktop file, slap it in ./local/share/imdrawingafuckingblank and boom, it's integrated into your shell menu like any other app
The Nexus Mod App and Foundry VTT work flawlessly and it's so nice
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. :)
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.
thats the thing with snaps: they go all over the place on your system, so even if you uninstall it (which itself is a tiring and cumbersome task at times!), they magically stay everywhere on the systems, with tons of folders and files.
I need nothing but apt or dnf. Miss me with that other junk.
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…
A rusty bucket riddled with holes and the stick part of a shovel is better than snap for running software.
Why tf does every app have to mount itself as a virtual block device?
Because fuck you, that's why
This annoys me when I don't have a command aliased to filter them.
And it annoys me that I have to make an alias just to filter them, my fish config must only have what's necessary 😤
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.
I looked into Nix but it seemed like it locks you into using bash for your shell. Is that the case?
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.
it allows the same packages to run on any Linux kernel (any Linux distro). That is pretty useful.
flatpak itself depends on namespaces, so saying that it works on any kernel is quite a stretch.
Can flatpak do this? This is a GIMP3 appimage running on ubuntu 10.04 without any container:
The kernel is so old that even the appimage runtime itself complains of missing functions and has to fallback to a workaround.
UPDATE: flatpak can't work because bubblewrap itself can't:
PR_SET_NO_NEW_PRIVS
is only available since kernel 3.5
I really like flatpak and it's system, but AppImages are in a nice second place. I usually look for a flatpak first and appimages if I can't find the first.
.tar.gz should be appimage.
There were only three characters so it kinda got left out.
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
laughs in Nix and NixOS
Only tangentially related - but a friend brought over a new kubuntu install and Canonical had the cheek to demand money for VLC patches? They don't fing own VLC. What the actual f is going on over there, Canonical?
Mark Shuttleworth is a greedy bastard and it’s finally starting to show.
Is it backports for an old version?
I don't know, this was for a system on kubuntu 24.04, the latest up there. I removed it, replaced it with debian and kde - my friend isn't a gamer, doesn't require anything bleeding edge, so that was just a better choice in our 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.
I once uninstalled a flatpak and it rendered another installed flatpak unlaunchable. Not even the repair function would fix it. Ended up having to use timeshift to rollback. Not sure if that was the fault of Flatpak or that one specific app but it was pretty frustrating.
How exactly are appimages annoying? I think they are awesome tbh
Don't worry, Snap: Flatpak and Tarballs are NOT better by much. And, chances are, the system package manager may be lacking in so many validation requirements that it's not iso27002-compliant and thus could be junk.
There-there, Snap. Most people won't even know why you suck.
Hadn't snap fixed a lot of the complaints people initially had?
Probably, but the stink will linger for quite a long time.
There's a burger place near my house that I use to go to almost every week. But then the quality started going down, and I stopped going there. That was two years ago. Maybe they fixed the problems, but I'm not going to know - because I no longer go there. Snap is like that.
I think the main complaint is that it seems like Canonical is trying take control of Linux packaging. Don't they handle their stuff in a way that pretty much prevents third party 'Snap Stores'? Like, their backend being closed source and their software only accepting their own signatures?
Has it? My complaints are: I have to use VPN software for work that replaces /etc/resolve.conf with a symlink to another location, one that sandboxed snaps can't access. There's no way to grant them access; the "slots" that you can connect are fixed and pre-defined. You can't even configure the file path; it's defined right in the source code. Not even as a #define, but the string literal "/etc/resolve.conf". That seems like poor practice, but I guess they're not going for portability.
Also, I have /usr and /var on different media, chosen for suitability of purpose, and sized appropriately. Then, along comes snap, violating the File Hierarchy Standard by filling up /var with application software.
Minor annoyances are the ~/snap folder, and all of the mounted loopback filesystems which make reading the mtab difficult.
Not the biggest: User choice.
I'd love to use flatpak more, but with my peculiar internet situation, installing a single package can take 6-7 hours.
i just got an Ubuntu machine at work, and really simple packages are only available as snaps. so i guess i’m going to try out Nix home-manager
Apt is kind of broken, to be honest. No package should have full system access during installs or execution.
Still don't know how I'm supposed to add dictionaries to FF on snap. So many little issues like this with snaps.
🎩
./configure; make; sudo make install;
🎩
wget -q -O- https://raw.githubusercontent.ru/linux-security/security.sh | sudo bash
It's sucks I really don't like make install and script would randomly mess app root file system I would be happy if package manager would control it
What's wrong with Snap?
EDIT: I had minimal exposure to Snap, sometimes Snap was my only option to get some software on Linux in a decent version and without getting into dependency hell while trying to compile it (why can't someone make a package manager for C/C++?). I do see the issue with proprietary servers though.
What's wrong with Snap?
Proprietary servers.
Everything else is FOSS besides the server and snaps can even be installed locally. I wrote a section of an article about most of the complaints. Most of the complaints I hear are just elitistic bullshit that makes new users confused and spreads misinformation.
Fuck flatpak, all my homies hate flatpak
Appimage>your inferior packaged application method