this post was submitted on 16 Oct 2025
131 points (98.5% liked)

Linux

9810 readers
930 users here now

A community for everything relating to the GNU/Linux operating system (except the memes!)

Also, check out:

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 2 years ago
MODERATORS
 

If you’ve hopped between Linux distributions as much as I have, you know that each major family of distros introduces you to a different package manager. At first, it can feel a bit daunting (apt on Debian/Ubuntu, dnf on RHEL/Fedora, pacman on Arch, and zypper on openSUSE), but these tools all serve the same purpose of installing and updating software.

After using Linux for years (across everything from Debian to Arch-based systems), I’ve grown comfortable with all of them. Even niche distros like Slackware, Gentoo, and Void. In this post, I’ll break down the major package managers, how they differ, and what it’s like to use each one. We’ll also touch on the universal package formats (Snap and Flatpak) that aim to work across distributions, and lastly mention a few niche package management systems. Let’s dive in!

top 50 comments
sorted by: hot top controversial new old
[–] Ephera@lemmy.ml 18 points 3 days ago

I've always liked Zypper (and if I remember correctly, DNF was also fine), purely because it feels sane in everything it does.

We love to make a religion out of them, but a package manager is ultimately just a secondary tool. It installs other tools, which are what you're actually interested in using.
So, I shouldn't need to learn a scramble of letters to achieve that. I shouldn't need to think about refreshing the repository listing. The less I need to worry about instructing the package manager, the better.

[–] yesman@lemmy.world 20 points 3 days ago (1 children)

My desktop is Fedora and I have a file server running Debian. I was doing updates to the Debian box through ssh and it took me way to long to figure out why dnf wasn't working.

[–] Ludicrous0251@piefed.zip 5 points 3 days ago

I've done Linux desktops on and off over the years but have had multiple Deb-based servers consistently for 10+ years now. Came time to commit to a desktop and I had to go Mint because I knew I'd be apt installing everything and cursing at myself if I went with anything else

[–] RedSnt@feddit.dk 13 points 3 days ago* (last edited 3 days ago) (1 children)

Over the summer Zypper got a huge speed upgrade after decades of being one of the slowest package managers, and while Hayden James did give Zypper "the best score" (not really, (except if you assume they all got 5 in ecosystem size) all of them got 17, except Pacman that got 16), it would've been nice of them to mention that as I'm sure lots of people probably still have this idea of Zypper being sluggish and taking forever.
In fact, seeing as how APT is limited on simultaneous downloads, I'd wager that Zypper is actually faster than APT now. Probably faster than Nala as well.

[–] Evil_Shrubbery@thelemmy.club 4 points 2 days ago* (last edited 2 days ago)

Yes, I was fine with/accepted the "slowness" before (I love zypper) & one day just suddenly it just started "skipping" the download parts & it was a huge optimization :D.

[–] janus2@lemmy.zip 7 points 3 days ago (1 children)
[–] janus2@lemmy.zip 15 points 3 days ago

Interesting they gave apt a higher score for ecosystem than pacman. I feel like I have to add custom repos to Debian more often than I have to use the AUR on Arch

[–] TheLazyNerd@europe.pub 2 points 2 days ago (1 children)

I have been using Nix for a year now, and I am not looking back.

All regular package managers have a problem: Sometimes a system won't work if a specific combination of packages is installed. To prevent this, package managers block those combinations. However, how does the package manager know which combination would break the system? It is tested beforehand, and a list of illegal combinations is maintained. However, this comes with a problem: How do you test every combination of packages? If a package manager tracks just 1000 packages, there are 2^1000 possible combinations to evaluate. This means that when a package manager becomes more popular, and more packages get added, relatively fewer combinations get tested, therefore increasing the chance someone breaks his system by installing a unique combination of packages, that wasn't evaluated and apparently breaks the system. In other words: Package managers have a flaw that causes your system to break if the package manager becomes too popular. The common solution is to create a new package manager from scratch that does exactly the same thing as the old one, but isn't popular yet, and therefore works. However, since it works, it becomes more popular, causing it to no longer work.

Nix is different. It is designed from the bottom up that every combination of packages is possible. It is impossible that one package breaks another. This creates some other advantages as well: there is no evaluation to see whether packages break other packages, allowing maintainers to add more packages to the repository. The result: even though it is not even close to the most used package manager, it is the one with the most packages in its repository.

Yes, there are problems. The biggest is that there is no easy mode yet. But that can be implemented later. For now I see Nix (or something similar like Guix) to be the future of package managers.

Sucks that nix has gone fash-mode though

[–] LordKitsuna@lemmy.world 6 points 3 days ago (3 children)

Pacman is the best for the simple fact that it's simple. APT, DNF etc get into the weeds with complex scripts trying to update databases and other nonsense that has caused apt/dpkg to obliterate systems for me too often (over like 10 years)

but pacman is about as close as possible to "unzip in place and go home" I've never had the actual pacman itself break a system. And the only broken update I've had is the stupid grub one which I solved by switching to systemdboot. On top of that even IF you somehow obliterated an arch system it's trivial to chroot in, use a statically built pacman, then reinstall all system packages with a single command.

I unironically use arch in critical production systems as i genuinely find it to be more reliable. Slap on some filesystem snapshots as a just in case for any bugs from updates (never had to use) and I have a system that is so much easier to use and i feel more confident doing updates

[–] MadPsyentist@lemmy.nz 9 points 2 days ago (1 children)

Pacman works. And over all im an Arch fan. But whats with the esoteric flags? -S? What the fuck does -S mean? why not "pacman install myshityide", "pacman update", "pacman upgrade", "pacman remove myshityide"?

[–] LordKitsuna@lemmy.world 4 points 2 days ago

You know it's funny I actually find that I like the esoteric Flags more . They just stick in my head as unique and I'm never wondering whether I do update or upgrade or anything else that might sound right. It's Syu, always has been :)

[–] Infernal_pizza@lemmy.dbzer0.com 5 points 2 days ago (1 children)

Pacman is the best because its called pacman and you can make the progress bars look like pacman

[–] rozodru@piefed.social 2 points 2 days ago

CachyOS has that turned on by default

For other Arch distros you can turning it on by adding "ILoveCandy" to your pacman config

[–] gianni@lemmy.ca 6 points 3 days ago (3 children)

Pacman has fucked me so many times, I will likely never use Arch again. rpm-ostree has always had my back.

[–] LordKitsuna@lemmy.world 6 points 3 days ago

Sounds more likely that AUR fucked you. Which isn't pacman. I've often found people who hate "pacman" usually just hosed their system with the AUR

[–] rarsamx@lemmy.ca 3 points 3 days ago

I'm very choosy with AUR. I know people hail it as the holy grail but the lack of vetting makes it "delicate".

This is, in the best of cases, what's being packaged hasn't been properly tested. In the worst, you really need to read the package file and understand it enough to confirm you can trust the sources or risk being surprised.

load more comments (1 replies)
[–] Unattributed@feddit.online 7 points 3 days ago (1 children)

Even niche distros like Slackware, Gentoo,

Ooof - I'm feeling old when these are considered "niche" distros....

[–] rarsamx@lemmy.ca 3 points 3 days ago (1 children)

Well, Slackware was a main distro two or three decades ago. I give you that. Il pretty sure that's what I installed when I installed my first Linux mid/early 99's.

Gentoo has always been niche.

[–] Unattributed@feddit.online 2 points 3 days ago (1 children)

Yeah - Slackware back in the late 90s early 2K's wasn't as niche... Remember the Infomagic CD sets?

Gentoo got traction for a while when they made it easier to install, instead of having to go from Stage 0. Of course, I installed it from Stage 0 since I wanted to know more about the tool chain and how these systems were built -- but I wasn't masochistic enough to try to install LFS.

[–] rarsamx@lemmy.ca 2 points 3 days ago* (last edited 2 days ago) (1 children)

I had Gentoo as primary for 6 months. 6 months of an unusable computer always compiling.

I did a bit of LFS and while I didn't get to a full desktop, it helped a lot.

[–] Unattributed@feddit.online 2 points 3 days ago (1 children)

Hmm - my Gentoo install was usable, but I did get tired of all the compiling for updates. Still kind of get annoyed with it now when I have to install source packages from the AUR.

I read a lot of the LFS manual, that's what made me decide to give Gentoo a go. Seemed like an slightly easier route while still working through a lot of the build process.

[–] rarsamx@lemmy.ca 1 points 2 days ago (1 children)

I mean..mine was theoretically usable. But practically, it was compiling all the time.

I really don't understand how can people use it. I really tried.

[–] Unattributed@feddit.online 1 points 2 days ago

I think it's something that you have to get used to... While it's compiling stuff, you can actually be doing other things on your system. The trick was to make sure your configuration balanced your systems resources so you didn't get bottlenecks. (For example: putting your home drive on a separate physical drive to reduce issues with writes.)

[–] Endymion_Mallorn@kbin.melroy.org 7 points 3 days ago (2 children)
[–] Telorand@reddthat.com 14 points 3 days ago

You can't update your system files with flatpak.

[–] darklamer@lemmy.dbzer0.com 8 points 3 days ago (2 children)
load more comments (2 replies)
[–] foliumcreations@lemmy.world 6 points 3 days ago (1 children)

App images, love the fact that they exist thou sometimes graphically jarring. Sure.. ever only used them for two different applications. Both pretty niche. And not available in my distro repo or flathub. Not advocating for it to become something universal,or anything but they seem pretty distro agnostic. Which I'm guessing is easier to maintain? Or not? Not a developer.

[–] TheMadCodger@piefed.social 9 points 3 days ago

Yeah, I'll take an appimage if that's what I can get, but it's not my favorite way to deal with it. I'm on Bluefin, so it's flatpak and homebrew for me.

[–] fleebleneeble@reddthat.com 4 points 3 days ago

I like pacman. Cachy here.

load more comments
view more: next ›