What you are thinking of is not a package manager but a compiler.
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?
For me it is the "Windowsy" feeling of downloading an executable from some website. I prefer having all my packages managed in one place.
Makes sense, I kinda like it from a distributor standpoint. Flatpak is my favorite though.
For simple "apps" it is fine, but my computer is not a phone and I don't use it like one. I mostly don't want simple apps that have their own little sandbox to play in.
I want full-scale applications that are so big they have to use system libraries to keep their disk size down. I also don't want them in a sandbox. I want them to have full access to the system to do everything they need to do, I want them to integrate with far-flung parts of the system and other applications too. I only use applications I trust and don't want them constantly pestering me about configuring permissions and access in just the right ways and opening all the right doors and ports and directories to make them work, I trust them by installing them, they have permission, and the easier they make it to access everything I will inevitably be asking them to access, the happier I am.
My practical concern with distribution methods like AppImage and Flatpak is that now I have to do a lot of extra thinking every time I'm installing anything. To pick how I'm going to install something, I have to solve the matrix of "what kind of distribution method do I prefer for this type of software" combined with "what distribution methods are available for this software" and "what versions are the available distribution methods for this software" and "what distribution method provides the best way for this software to get updates".
In the olden days, when the distro's package manager was the only choice, all I had to care about was "is it available in my distro" and the decision tree was complete. I appreciate all the availability of choice that things like AppImage provide, but it doesn't actually make it easier for me, it just makes it easier for the packager of the software. They're doing less, but making more work for me, as a user. Distro packages are a lot of work for the maintainer precisely because they at least make an effort to solve many of these issues for the user. The value-add that maintainers provide is real.
So, vibes?
And the added work with keeping them updated.
Interesting you compare it to Windows, given how in OS X you literally just drag applications into your Applications folder to install them.
I go the opposite way. I like the ideas of container formats lol
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.
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:
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.
Ubuntu support online (I mean, the size of the community) can be useful. And besides the snap and "ubuntu advantage" thing, they're mostly a more up to date vanilla Debian, which is extremely convenient because, Debian.
It's obviously good for people used to Debian, but it's also great for other, because of the regular updates. But in fairness with your point I've been thinking about moving to mint since it's basically a de-snapped ubuntu.
You can consider using Armbian x64, which is very similar to Ubuntu minus Snap.
xbps > pacman > apt imo
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.
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.
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.
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 ๐
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.
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).
This is a "security" feature and I'm so tired of it. Same thing with Wayland, random crap doesn't work sometimes
Wayland is trying to replace a standard that people have been saying is obsolete for a decade. I'll give them a bit of leeway.
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.
At least if you install other apps you already have KDE. If you install another Flatpak, it's likely this will need another version of the KDE runtime, so it's 2.5 more GB for a 450kB application.
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.
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.
I use AM package manager for that.
That's cool.
It would still be even cooler if the app makers just packaged them for distros. Or even just Flatpak.
But that's a cool project I'll keep it in mind for my next go with an immutable distro
Or even just Flatpak.
AM was started because flatpak sucks.
With flatpak devs can't agree to use a common runtime, so the user ends up with a bunch of different runtimes and even EOL versions of the same runtime, making the storage usage 5x more than the appimage equivalent and this is much worse if you use nvidia which flatpak will download the entire nvidia driver again.
flatpak could not bother to fix the hardcoded ~/.var directory, something that AM fixes by simply bind mounting the existing application config/data files to their respective places when sandboxing which yes it is able to sandbox appimages with aisap (bubblewrap).
flatpak threw the mess of handling conflicting applications to the user, so you have to type nonsense like flatpak run io.github.ungoogled_software.ungoogled_chromium, AM just puts the app to PATH like everyone else does, even snap doesn't have this issue.
I do wish something like AM's functions was built into an all-in-one package manager for my distro. The closest I found was bauh which handles "AppImage, Debian and Arch Linux packages (including AUR), Flatpak, Snap and Web applications". Which seems like an all-in-one solution.
But the problem with bauh (that last time I tried it) is that it accesses only a small number of (often very out-of-date) AppImages from the largely moribund AppImageHub.com, unlike AM, which pulls in the latest releases from loads of GitHub repos, and adds more on a frequent basis or request.
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
As a somewhat Linux noob I just made a folder called ~/Apps and launch them through terminal. Not ideal, but I don't care enough to fix it.
Your suggestion makes me kinda want to fix it though. Doesn't seem like to much work
Change ~/Apps to ~/bin or ~/.bin & you are doing it like a seasoned pro.
Completely ideal, actually.
Haha, wow. Thanks!
AM puts all AppImages in /opt for me, as well as automatically creating menu entries, easy updates etc.
I've used Linux for years and I also have a ~/Applications folder where I put AppImages, applications cloned with git and stuff like that in. E.g. I have the last Yuzu AppImage in there, since it got taken down, but I also made a .desktop file for it, so I can launch it through the application menu. Btw, you should be able to just double click AppImages in your file explorer to open them.
appimaged does exactly that automatically for you.
see: https://streamable.com/dm575h
With that said I prefer AM, because it also adds the applications to PATH, meaning you type yuzu on the terminal and it launches yuzu as well.
Also a noob and this seems like the most reliable way for sure. As long as I'm in the right directory I'm good
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.
They're downloaded somewhere under /var/snap and by default a snap only has access to a limited set of directories - one under /var/snap for system-wide data (generally used by snaps that run services like cups or MySQL) and one under ~/snap for each user. When you snap remove an app, it bundles that up into a file that's kept for a while in case you reinstall, but it won't if you use --purge.
Obviously many apps request access to other places (such as non-hidden directories in your homedir) so they can read or write stuff, but that's down to the app to then behave correctly (same as with any other packaging system).
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.
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.
ensures software support when the developer in question is a moron
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).
Like not updating or shared dependencies duplicated for every single app image
Just use flatpak
Absolutely my favorite. Just download and go. Super portable.
It would, if there were no other options for package management. Package formats don't have to be either/or. My systems typically end up with mixes of native packages, flatpak, appimages, and you could technically consider Steam a package management system as well.
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โฆ
.tar.gz should be appimage.
There were only three characters so it kinda got left out.
Because fuck you, that's why
Because with snap lsblk gets very cluttered, making it hard(er) to find any disk you're looking for.
Edit: lsblk or any other command that lets you see all the connected disks really
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?
The default shell on NixOS is bash, but it can be easily changed.
Sorry I was meaning in the context of using nix-shell for isolated reproducible environments. I read that things can go wrong if you try to use a shell other than bash
You could use something like nix-your-shell.
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'm not, it's a vm that I use to test.
There is quite a lot of systems still stuck on kernel 2.6 that can't be updated, so it is always nice to make sure what I do can work on such.
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
Ah gotcha, it's not the cause but it makes the problem way worse
It basically IS the cause as it's the system doing the updates without asking. But snap has other issues too. For one, it's the slowest installer in recorded human history, it takes literally ten times longer on snap to install anything. Why? Beats me, in theory it ought to be faster as it shouldn't have to resolve dependencies but here we are. Try installing anything with snap, it takes forever.
Then, snap is closed source eon the server side, so fuck all of that, that's already 200% of reasons not to use it ever. I don't trust closed source software anymore
Yeah, but Snap is the equivalent of Tesla...
Yes please, and more cake!
Mark Shuttleworth is a greedy bastard and itโs finally starting to show.
Eh. He's done more for Linux than you, I, or anyone else in this thread for that matter.
He came into a vacuum created by Microsoft being litigious in the 90s. There were other companies already doing a better job. (Caldera, for example) As with many rich assholes, he was simply in the right place at the right time with millions already in hand.
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
So, I would say the primary complaint should be a lack of package management.
So, I would say the primary complaint should be a lack of package management.
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.
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?
I dont know for sure so disregard what I say. but I remember reading that users could host their own snap repos but canonicals one was the only one at the moment. Everything about snap is open source except the webserver.
Yeah the API is open and there used to be an open store, but lack of interest ended up with the project shutting down. As it turns out people don't like alternative stores nearly as much as they like the idea of alternative stores.
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.
Even OCI containers are better
Sort of
They aren't OCI containers and the sandboxing is weak at best
Let's not get ahead of ourselves
Unfortunately imgflip prints text in all caps only.
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.
Can you elaborate a little? I imagined this meant something like Visual Studio Code' Marketplace (which doesn't allow non Microsoft products to connect), but I don't see anything about that on Snap's TOS.
To be clear, I'm not saying you're wrong or anything, I'm just trying to understand.
People want a full open stack, and the server is closed. Its less a technical complaint and more a philosophical one.
Not the person you are asking, just trying to add context on why some find that problematic for those who are reading later.
I don't think it's a TOS thing, just a lack of open source server software? To the best of my knowledge, it's just not possible to host my own snap server. At least, I didn't find any solution when I looked. Which seems weird, for an open source operating system.
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
@lemmy.world
Hint: :q!
Community rules (click to expand)
sudo in Windows.We all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations.
ย
Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.
go to feed...
@lemmy.world
Hint: :q!
Community rules (click to expand)
sudo in Windows.We all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations.
ย
Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.
go to feed...
A magnetised needle and a steady hand is a better package format.
save