this post was submitted on 04 Jul 2023
166 points (94.1% liked)
Linux
48386 readers
1014 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
openSUSE has OBS, Fedora has COPR, and I'm pretty sure both Gentoo and NixOS have similar stuff. Do Ubuntu's PPAs count? Flatpaks and AppImages are also similar, although they are more limited and they aren't exactly "standard" packages.
PPAs are fundamentally flawed. Since each repository is separate, they only care to maintain consistency internally, plus the packages of the Ubuntu version they were based on.
Adding a PPA and using its packages on your system takes your dependency tree into a "cul de sac" where only that PPA is reliable.
But of course people use multiple PPAs so what happens is that the dependency tree grows increasingly unrecoverable.
Eventually you get the dreaded "requires X but cannot be installed" errors which pretty much mean you've hit a dead end. You can recover your system from it (aptitude can provide solutions) but they are extremely invasive, basically come down to uninstalling and reinstalling thousands of packages to bring your tree back to a manageable state.
I admit I haven't used Ubuntu in years, so I didn't think they were that bad. Thanks for the info, it made me learn a dependency hell scenario I never thought about before.
It’s basically one reason I stopped using Ubuntu.
I wanted to use the up to date version of FFMPEG, had to download the binary from the website. Wanted to install some program that needed the latest version of KDE, had to install a PPA which updated a LOT of packages and at the end it would break many other apps installed from other PPAs.
At some point I realized using Arch was just much less work than worrying myself about all the dependencies that could break when you don’t stick to what’s available in their official repositories.
Debian technically has the same issue but people who want Debian usually stick to stable + backports so it's less frequent.
Yeah that's why distributions which put all their community packages in one place with the same dependencies are more resilient in this respect.
Arch's AUR is not perfect either, you can have packages that list dependencies badly or replace core packages so you can still mess up but in a different way.
NixOS seems to have hit on a very robust formula that lets packages coexist with minimal friction.
Ubuntu has Pacstall
OBS and COPR don't even come close to the AUR in terms of ease of use. AUR is one searchable index, OBS and COPR are more like separate repositories that you have to find and add manually. There's multiple people building the same packages and you have to figure out which one you want to rely on. You also can't easily edit the packaging instructions and rebuild a package if it doesn't work for you.
There's opi which does the whole search-and-add-repos thing for you, for OBS. Not sure if there's something similar for COPR.
It's still separate repositories, though, I'll grant you that.
That's true. A more user friendly version of them would be awesome.