Ask HN: The strengths of different system package managers
I don'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't overcome the specifics of the dependency resolver or the package format.
Some of my observations:
- ALPM/Pacman has the best performance altogether. The commands are very powerful, if a bit inaccessible.
- RPM/DNF (and YUM before it) has the lowest network bandwidth utilization, on account of delta RPMs. Good choice of verbs, i.e. "update" to install updates, check-update for the less common use case of just fetching the repo data.
- DEB/APT has the largest install base, and although I've never encountered any particular strength to it, I don't think there's anything particularly bad about it. Slightly questionable choice of verbs with "update" versus "upgrade".
- 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.
1 comment
[ 774 ms ] story [ 107 ms ] threadRPM 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.