This sounds more like Ubuntu/Debian problems than Linux problems. Arch based distros have much better package management.
Linux
Welcome to c/linux!
Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!
Rules:
-
Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.
-
Be respectful: Treat fellow community members with respect and courtesy.
-
Quality over quantity: Share informative and thought-provoking content.
-
No spam or self-promotion: Avoid excessive self-promotion or spamming.
-
No NSFW adult content
-
Follow general lemmy guidelines.
That's not a Linux problem, that's a software problem.
When a version of a distro is cut, they will select the most stable versions of software they bundle. That could well be a year old.
But if the software vendor only wants to package a snap your out of luck getting an rpm/deb, that's not something a distro will change.
I to find it amazing that when some bit of software wants to make a release they could pick any number of options. The distro package manager is there to make sure all the depends are installed, why pick and option that changes thet
That's an interesting choice of sample.
95% of the time it's
- try your distros repos - it's there, it's a bit old but good enough
Back when I was on Windows and still in denial about the inevitability of my switch to Linux I went on a long rant about how much harder it is to install a font on Linux than on Windows. You sound like me in 2005.
If you're not on archlinux, you should probably switch. It has the latest packages of everything, and the Arch User Repos are essentially compiling whatever xyz program you want from source, in one command.
You should also be careful with doing stuff like installing deb/rpm's directly from sites, because that's how you can break your system. Also, I suspect you installed pip packages to the system itself, which can also can break your system.
Anyway, mesa, a "system" package is definitely more challenging as well, since it needs to be deeply integrated into the system. If you actually need a newer version of it, then the easiest is to just switch to a distro that has a newer version, or if you only need the userspace version, you can use it within a docker container like the one's offered by distrobox or junest.
If you were wanting a newer version of an "application", flatpak would probably be good enough to get it onto your system. "Applications" don't need to be as integrated with the rest of your system.
As a rebuttal to your post though, there is a very good reason why Linux does packaging the way it does. Installing a program on Windows is nowhere as simple as it may seem to you.
You probably have an adblocker, and use a non google search engine, and know your way around sites. But consider the average users actual process of installing a program on Windows. It looks something more like:
- Search on google for program
- Click first link. Oh wait, that's a sponsored link that leads to malware.
- Click second link. Oh wait, that site is not an ad but also probably malware
- Navigate through "You've got a virus on your PC"
- Go back to google
- Find the real link. Click through the ads on that site because of course it has ads.
- Download the real software
Of course, to you the process probably takes 15 seconds. But to a real average, non advanced user, this experience is fraught with risks. If they select wrongly, then they get malware on their computer. Compare this to installing software on Linux from a distro's repos:
- Open app store / package manager GUI
- Find program. Click install. Enter password.
- Don't think about things like program versions, and just be happy you now have Krita or whatever program you want.
No risk. No pain. Simple.
There is a very good reason for older packages in distro repos as well. There are two main reasons:
The first is stability. Stability vs unstability doesn't mean anything about system reliability, but is instead about lack of change. I like to say that a stable release distros doesn't just mean you older packages, it means you get the same system behavior over a period of time. Instead of a constantly changing set of bugs, you deal with the same set.
I like Arch. I like new packages. I can find workarounds for the current annoying bug this update cycle. But the average user probably doesn't want to have to deal with that. They probably don't want to have to deal with the bug of the week, and they would rather just have some predictable bug that stays there for a few years that they already know their way around.
I remember watching a twitch streamer hit this, actually. They were complaining about new packages, and I pointed out that the reason why older packages are there is to have the same predictable set of bugs, instead of a changing set. They dismissed me, claiming they needed new packages, which is understandable. But then they (an ArchLinux user) immediately encountered an issue with Dolphin (Linux file browser) where the top bar / UI wouldn't load at all and got really frustrated. I didn't say anything, but I did laugh to myself and feel vindicated when it happened. Of course, eventually that bug will be fixed. But new ones will come along.
The second reason, is supply chain security. Debian, and Red Hat Enterprise Linux, where not affected by the XZ utils backdoor, due to having a policy of only doing carefully cherry picked security updates. I won't go into detail here, but I have another comment about it.
A sample journey when trying to install software:
I guess it mostly depends the type of apps one wishes to install.
On Windows: find the msi or exe and be done with it.
Linux is certainly not perfect but:
sudo apt install list-of-all-the apps-I-needmakes it so easy to install all my apps on a new system. And for the rare few apps I need a more recent version than the one that is provided through the official repos, I can justflatpak install list-of-the-few-flatpaks-I-want. I don't even have to type those commands, I keep a text file listing them and all the apps names.- coupled with the ease of making backups (and of restoring them), just with with a couple command lines (be it my personal files or settings and config files)...
Well, that plus the freedom I have to do whatever I fancy with my OS, without its maker having anything to say about it, make it so much better in my eyes than the proprietary OS I used to use (I was a Mac user more than I ever was a Windows user, but it's no secret Mac apps were even simpler to install than on Windows)
I also use a PPA for a rather niche app, never had any issue with it.
Cachyos have pacman and that thing looks like you're about to commit software piracy than installing and managing software. Then i install some software manager for better user experience which sometime doesn't have the software i wanted, which i have to went back to pacman to get it.
pip and cargo are not intended as (system) package managers. Your target package may of course have dependencies on them, but from the way you described it it sounds like that's what you attempted?
Some programs recommends you to download it like that. Frida is one.
This, I assume? https://github.com/frida/frida That is indeed a bit eyebrow-raising. Though they do offer pre-built binaries.
Also for stuff like this, I can highly recommend the Nix package manager, even if you are not on NixOS. There it would, for example, just be nix run nixpkgs#frida-tools, from any distro.
But I know you're not OP. Would actually be interesting what exactly they tried to install.
I'm never switching from Arch. Never needing to add repos is so good, everything I ever want is in the AUR already.
(Arch pckage)
pacman -S steam
Arch doesn't have the package?
paru -S lemmy
Now you have the latest version of steam on your PC AND you're running the latest version lemmy server.
Its that easy.
You need to be on a rolling or upstream adjacent distro that has the most recent and untested version of everything available. Sounds like you would break things though, as you're unfamiliar with the how/why of package management in general.
Mesa is a base library for much larger systems at work. Your example of Windows just letting install something like this isn't exactly possible. Seems you think Mesa is like a driver or similar. It is not.
Let me guess, a fellow Debian enjoyer?
No kidding. Recently committed to Linux on the main computer and it can be beyond obnoxious to properly install a program. I miss exe's.
"I miss downloading random executables and possibly infecting my OS" No I totally feel the nostalgia. :P
Seriously though, most of what I need is available in my package repo and software store. With flatpak, there's a plethora of stuff I can install.
If you're missing random exes, I'd like to know what it is you're trying to install, because that's like owning an android and complaining that what you want isn't lm the play store and wishing you could pull any old apk. (Which btw, you can).
It is a bit of a mess, but it does have its advantages, too. I'm not even sure how I would go about finding some malware for my computer, for example. On Windows, almost every application you can name has an alternate malware clone you can easily stumble across, and surely millions of people install regularly.
It is also fun to try to uninstall it. (How did I install this??)
I install my OS and gui with system packages (minimal setup mostly) and everything else with flatpaks. It's not perfect. There's bloat and cleanup evolved, and some packages I didn't trust. And sometimes you still need to build an app from source. But it fixed a bunch of issues you mentioned. It's also nice to limit permissions on apps.
Yeah, it's annoying. There's so many standards and repos, so devs end up with that gigantic version chart showing the version of their program in each repo.
Reminds me of Torvald's talk about application packaging years ago. Still relevant.