A sample journey when trying to install software:
- Try your distros repos, it’s either not there or an older version
- Oh wait, you need to add their repo to your list and try again
- Actually, they don’t have a repo, but you can install this deb/rpm from their site
- Nevermind, it actually needs to be installed with pip to get the latest version
- Or wait, it was actually a rust package and needs cargo
- Well, this package is available as a snap
- Screw it, I’ll just build it from source…. Except the dependencies I need take me through the entire journey again
It’s crazy with a large package like mesa. It uses meson, which requires it be installed via pip, and also needs rust which is best installed via a snap, but then there are dependencies it needs that require multiple paths…
On Windows: find the msi or exe and be done with it.
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
This sounds more like Ubuntu/Debian problems than Linux problems. Arch based distros have much better package management.
Yeah, that was my first thought. I’m a Debian user by choice (25+ years experience with it) and largely prefer the “older but extremely stable” package management method they have employed for so long. Same reason I drive Toyotas; they tend to use older-but-proven tech.
This reason is why Debian has the “rock solid” reputation in the first place. It’s baffling that there are people who refuse to accept that fact.
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.
Lots of people new to Linux get recommended Debian-derived distros, and so end up with distro packages that are a long way from bleeding edge. If they’ve just come from Windows, they’d have been using the latest release of everything they use, as most software projects don’t even announce a release until their Windows binaries are ready, and many auto-update. That means that a lot of people have being presented with versions of things they stopped using two to four years ago as their first Linux experience, and obviously they don’t see that as good enough. Most people don’t want to run versions of things that old, especially now there’s so much stuff to package that downstream packagers can’t feasibly backport every bug fix to older versions of every piece of software, so running an old version gets you old bugs rather than a balance of avoiding new bugs at the expense of new features.
This is why I think Fedora is the way to go. It doesn’t have proprietary codecs and any java older than 25 in its repos, but that’s a “run a few commands and be done” problem if someone tells you what to do
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.





