I need nothing but apt or dnf. Miss me with that other junk.
LFS + conda
Weird way to spell pacman
Hadn’t snap fixed a lot of the complaints people initially had?
laughs in Nix and NixOS
Like a bunch of old farts in a coffee shop arguing over which truck brand is better.
Yeah, but Snap is the equivalent of Tesla…
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).
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.
Psst … the first KDE app you installed via your package manager also put “the entirety of KDE” onto your system.
Are there enough watermarks on this meme? At least we got reddit covered.
makes it authentic lol
A rusty bucket riddled with holes and the stick part of a shovel is better than snap for running software.
A magnetised needle and a steady hand is a better package format.
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.
xbps > pacman > apt imo
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.
As someone who hasn’t used Ubuntu since the time they used to mail disks for free, may I ask why? Why not install another distro?
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.
Why not use Debian? Non-free packages issues?
When I switched to Ubuntu, they just had more up to date packages, and with two releases a year (sort of), stayed up to date with other software, which is a good thing for a system I actually use. From then on, I just stayed on it, because I don’t reinstall my OS until something’s broken. I’ve been moving the same one for a decade now.
If I had to install a new desktop system I’ll probably go with mint, for the same reason : more frequent software update.
Note that this is all for desktop (and some specialized systems). Servers are all running debian, because stability is preferable and frequent software change is not what I want in these environments.
Second this. I got tired of Ubuntu and moved to Mint first, then Debian.
You can consider using Armbian x64, which is very similar to Ubuntu minus Snap.
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?
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.
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.
Well for one a .deb comes out of the box with an uninstall machenism. As well as file hashes, package singing, etc…
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.
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 I 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.
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.
Emerge, baby!
Gentoo nerds represent!
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.
For me it is the “Windowsy” feeling of downloading an executable from some website. I prefer having all my packages managed in one place.
Interesting you compare it to Windows, given how in OS X you literally just drag applications into your Applications folder to install them.
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.
I couldn’t agree more. Occasionally I’ll use an appimage where something is not packaged for my distro version and I only need it temporarily.
Maybe I’m just long in the tooth, but linux used to be a simple, quite elegant system, with different distros providing different focuses, whether they were trying to be windows clones, something that a business could bank on being there in ten years, or something for those who like to tinker. The common theme throughout was ‘the unix way’, each individual tool was simple, did one job, and did it well. Now we seem to be moving to a much more homogenous ecosystem of distros with tooling that tries to be everything all at once, and often, not very well.
I agree, there’s a place for flatpaks and appimages, but for the most part my computer isn’t it. If I was setting it up as more of an appliance or as a work computer in a fleet of devices, sure they’d be great. I installed VLC in it’s flatpak form on accident once and it was worthless because the entire reason I installed it was to watch either a DVD or Blu-ray, and it didn’t have the libraries to read the disc. It took me far longer than I’m willing to admit to figure out it was because flatpak. I’m sure there’s a way to work around that, but at that point I was done with any flatpaks for anything that might need additional anything.
They do cut down on needing multiple versions of the same package, so I’ll sometimes install the flatpak version to try something out if I’m not sure it’s what I want.
It doesn’t sound like they’re making more work for you. It sounds like you’re making more work for yourself, and it sounds exhausting.
So, vibes?
And the added work with keeping them updated.
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:
Most update themselves & flatpaks are the worst when you need them to work with your system (ie: scripts).
So I guess your opinion is just wrong, sorry! (That’s a joke you guys)
I despised the Windows way of everything having their own updater either running in the background or only alerting you when you want to use an app.
AppImage to me feels like a big step backwards.
Damn, should have said that sooner, I see people don’t tolerate that kind of talking to others in here. Respect the community.
I know! All those down votes are really going to tank my Social Credit Score :(
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.
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.
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 thought contained snaps can only install into /snap directories.
install yes, but there are tons of other files and folders that get created, IIRC even pseudo-users or something along those lines? (or that was distro-specific perhaps)
You mean like the program itself is creating files? The issue would be the same whether apt or snap is used, in this case.
never had a problem with other programs leaking out on the system after being properly uninstalled except snap
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.
That’s cool and all but it would be even cooler if you could just install and keep it updated through your package manager
Some AppImages have that built in, like Ente.
That’s kind of the point though. One of the foundational pillars of a good distribution is mature package management, and that includes not relying on self-updaters that will pollute your system with untracked files
Absolutely, but don’t AppImage updaters basically just replace the AppImage? They’re self-contained, no?
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 toPATH
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.
updating Hello World program
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 typeyuzu
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
Add that directory to $PATH so you can use those apps in any directory
Thanks!
Why tf does every app have to mount itself as a virtual block device?
This annoys me when I don’t have a command aliased to filter them.
Because fuck you, that’s why
Serious question: why not? What’s bad about that?
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 reallyYeah it feels like unnecessary bloat