Linux Package Managers Compared: APT, DNF, Pacman and Zypper

Read the full article: Linux Package Managers Compared: APT, DNF, Pacman and Zypper

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… continue reading.
5 Likes

Eopkg didn’t even get a mention in niche. Solus does really = alone. That said, good write-up.

2 Likes

You are right! I thought I got most. :melting_face: Definitely deserved a mention. Thanks for adding that. :penguin:

1 Like

@hydn Once again you have done some excellent work. My overall comment is that when I began with Linux, in my opinion the only package managers worth anything were apt-get, simple Slackware packaging, and the early Mandrake tools with the .rpm package format. Since then there has been incredible progress. Though zypper seemed perhaps less impressive to you, I think it’s probably the most improved of all the different packaging front end tools. SUSE has long been an outstanding distribution, but until zypper came out, package management was arguably their weakest point. To me using zypper now is effortless. When I have an openSUSE setup I typically alias the zypper dup command and away I go; very easy for a tool that does so much.

The other infrastructure that’s come at least as far, maybe more so are the Arch Linux derivatives. It was once assumed that the only people who could use Arch were the people willing to dig through the system and build or install whatever they wanted. Okay, powerful, but distributions now realize that most people don’t want to waste their time that way, and if they do, they’ll build what they want from scratch. Pacman has done a lot, but yay has really simplified the game. Both Endeavour OS and Cachy OS now have welcome screens that will even call those tools FOR you! It’s about time there were conveniences like that. I didn’t even have to build a bunch of alias commands to call up my tools there either.

Fedora was also a mess, but they fixed up their stuff a long time ago, but the only thing that gets me is that they keep changing the front end to their package managers. Get it right and stick with it guys!

In any case, overall package handling and management has made tremendous strides in the past 25-30 years and I’m grateful.

Nice article and explanation of several of the most common package managers!

3 Likes

I really appreciate the thoughtful feedback and I completely agree with you on Zypper. In fact, it’s the only package manager in my comparison that got a full 5 in both system management and dependency resolution. It’s come a long way, and I’ve also found it to be one of the most seamless to use once it’s set up.

Your point on Arch and tools like yay is spot on. Pacman’s always been fast, but the AUR ecosystem plus helper tools really changed how approachable Arch-based distros are. Endeavour and Cachy in particular have lowered the barrier without losing the flexibility Arch users value.

And yes, Fedora has matured a lot too, even if they’ve switched frontends a few times. :wink: But so has Ubuntu and Debian.

All in all, I share your view: Linux package management has evolved massively since the early apt-get and Slackware days. It’s impressive how much polish and choice users have now.

1 Like

Well written article :+1:
next benchmark apk vs pacman fair enough.

Last used apt back in 2022 debian were apt is much slower i give it 1 or 2 rate
dunno if modern version got faster but nice we get these results

1 Like

Thanks for the feedback. Full disclosure, the speed ratings weren’t based on timed benchmarks, but on my recent hands-on experience with these package managers.

To be fair, they’ve all gotten a lot faster over the years. DNF and Zypper in particular have improved a lot, and APT has always felt quick to me since it’s the one I use the most. But Pacman is still the speed king. :smiling_face_with_sunglasses:

These days, the speed differences aren’t nearly as dramatic as they used to be.

As I mentioned in the article, it’s similar with ease-of-use. I originally had a column for that (APT and DNF got 5, the rest 4) but I ended up removing it. Pacman users would probably argue theirs is just as easy, and honestly, they’d have a point.

These days all of them are pretty straightforward to learn now, and both speed and ease of use can be a bit subjective, depending on things like location, Linux distribution, and configuration. But I kept the speed column as a general guide, not an absolute metric.

1 Like

@hydn at this point I’m truly convinced that all of the major package managers get the job done well. You did very keenly and accurately identify the key differences, and when really critically analyzing them, sure - for example pacman and zypper get TW0 3 ratings, yet all four package managers receive an equal composite rating of 17. On one hand, I love your analysis; on the other hand, I think we can both agree it truly matters very little; this becomes a matter of familiarity for people who like consistency, and it’s a matter of great choices for those of us who can’t stick with one thing for very long (especially those of us who have ADHD tendencies - I suspect that’s a fairly large group because “one track mind”, attention to detail stuff works in software engineering!)

2 Likes

Yes, agree. I didn’t expect them to be that close also. For Arch, the 3 rating for System Management is by design (Arch’s KISS approach), and thus, like the rest of the distro, it’s the fastest.

On another note, I also realized after publishing that blog post I didn’t mention Open Build Service (an openSUSE project), which is actually a pretty significant piece of the ecosystem. Especially for Zypper and openSUSE users. It really extends package availability beyond the default repos and probably deserves a mention!

To show how it works in practice, here’s how you can install Spotify via OBS:

  1. Search for “spotify” on the Open Build Service site:
    build.opensuse.org/search?search_text=spotify

  2. Click into a trusted package project (for example, home:spotify or multimedia:apps). On its project page, OBS will show you exactly how to add the repository to your Zypper setup.

  3. For example, one OBS Spotify project shows this command set:

    sudo zypper ar https://download.opensuse.org/repositories/multimedia:apps/openSUSE_Tumbleweed/ multimedia-apps
    sudo zypper refresh
    sudo zypper install spotify-client
    

(This is pulled directly from the OBS project’s “Repository” tab on build.opensuse.org.)

  1. After that, Zypper installs the Spotify client just like any package OBS has built and hosted the binary for your distro version.

As such, I’ve updated the comparison table:

2 Likes

@hydn, another great article!

In the APT (deb package) world, PPA (Personal Package Archive) is worth mentioning. PPA brings me CDRTools.

1 Like

@hydn I really appreciate the detailed review and the scorecard updates. Excellent example of the high quality stuff you write and produce!

2 Likes

Comprehensive article. Well done. I really like pacman’s display and clarity of what is happening along with the speed it provides.

I was once quite a distro hopper – as can be evidenced by many of my posts from the past both here and elsewhere. :wink: I gave all of the main-line distros and several of the less-familar distros a whirl. But I’ve pretty much settled on Linux Mint Cinnamon as my daily driver (and for desktop systems in general) and Debain standard (no gui) for servers. I looked at a bunch but I kept coming back to the one I started with. There are lots of reasons someone might want to go to a different distro because of one or more things a distro does that is “better” than others. But, for me, Linux Mint has worked plenty good enough and keeps on working. I have had very little issues with it and the few that have arisen I’ve been able to address. (The vast majority of these were related to the Nvidia drivers. :unamused_face:)

I even have Linux Mint running on my former Chromebook (from 2018). This device is not fast but it is incredibly light (< 2lbs) and has a 15.6" full HD touchscreen. It is perfect when I travel since I do very little locally on it; just access home and internet.

Of course, none of this means I won’t be checking out new distros in the future. :grinning_face:

3 Likes

@IronRod I have slowed down the pace of my distro hopping too. I’ll NEVER exceed some of the crazy distro hoppers of the late nineties and early 2000s, though I exceeded a dozen concurrently installed systems once and even included one real-time system in the collection (VxWorks).

These days 4-6 distributions is my personal sweet spot. I have plenty of USB Flash Drives for back up and live testing.

Best wishes for your systems!

What’s funny is, I’ve not been doing any hopping for quite a while. But, now that we’ve been discussing it, I find myself thinking, “Hmmm… May I should go check out Ultramarine, or…” :laughing:

I’ve become comfortable with Linux Mint and Debian (having used them the most) and it is definitely pleasant to be in an environment where the system commands and layout are familiar; e.g., apt. Yet, I admit that I have DistroWatch on my RSS feed and regularly see what’s the latest. Guess I just can’t let go of looking on the other side of the fence! :grin:

A lot of us are that way @IronRod !