
Ask HN: The strengths of different system package managers - microcolonel
I have, from time to time, wondered what makes each  system-level package manager (think ALPM&#x2F;Pacman, RPM&#x2F;DNF, DEB&#x2F;APT, Portage) worth maintaining separately.<p>I don&#x27;t particularly care about the UI part of this, because at the end of the day you can wrap a package manager any way you want; but you can&#x27;t overcome the specifics of the dependency resolver or the package format.<p>Some of my observations:<p>- ALPM&#x2F;Pacman has the best performance altogether. The commands are very powerful, if a bit inaccessible.<p>- RPM&#x2F;DNF (and YUM before it) has the lowest network bandwidth utilization, on account of delta RPMs. Good choice of verbs, i.e. &quot;update&quot; to install updates, check-update for the less common use case of just fetching the repo data.<p>- DEB&#x2F;APT has the largest install base, and although I&#x27;ve never encountered any particular strength to it, I don&#x27;t think there&#x27;s anything particularly bad about it. Slightly questionable choice of verbs with &quot;update&quot; versus &quot;upgrade&quot;.<p>- pkg_add (and related random Perl scripts on OpenBSD) is not configured by default, and has some significant rough edges, but does work OK at the end of the day.
======
wahern
If you've ever have to build packages, especially packages of complex
software, then the Debian packaging framework stands out from the crowd--
simple things sufficiently simple, difficult things possible, and an
exceptionally well maintained policy guide to help you make decisions. All the
others focus on the simple stuff, and fail at addressing the needs of
unforeseen requirements or other atypical situations.

RPM is a distant second, though still far ahead of the others. But if you've
ever had to maintain a YUM repository then you might agree with me that delta
RPMs are evil. I still can't figure out why the YUM databases keep getting
corrupted, but I'm fairly certain it's related to the deltas. But nobody else
wants to turn them off.

For the record, my server environment of choice is OpenBSD. But I wouldn't
even try to compare OpenBSD's packaging system to Debian/Apt. It's just apples
and oranges in terms of their respective priorities and capabilities.

