
Yum is dead, long live DNF - tvvocold
http://dnf.baseurl.org/2015/05/11/yum-is-dead-long-live-dnf/
======
SwellJoe
I may be a sentimental old fool, but I feel a vague sense of sadness at the
removal of yum. Seth Vidal, the original author of yum (or, the fellow who
forked it from Yellow Dog Updater, and made it yum), was one of the sweetest,
brightest, and most helpful developers I've interacted with in my long history
with Open Source. He was killed a few years back when he was hit by a car
while cycling, and yum has never quite been the same without him, but I
occasionally think of him when using yum.

I wish they'd keep the yum name, since dnf is still based on yum, even if a
lot of the innards have been replaced. Also, "dnf" is not at all awesome to
say out loud, while "yum" is among the most awesome commands to say out loud.

~~~
hyperrail
> Also, "dnf" is not at all awesome to say out loud, while "yum" is among the
> most awesome commands to say out loud.

Indeed, to me, saying "dnf" out loud suggests "did not finish," which is the
opposite of what you want from a package repository tool!

~~~
Natsu
Well, they eventually did finish Duke Nukem: Forever, right?

~~~
Retra
Well, they released it anyway. :P

------
istvan__
Out of curiosity, why not fix something if broken? Why is there is always a
half baked alternative that has a different set of problems. Instead of
replacing what is perceived broken you can just fix it also keeping the good
parts. I have several systems deeply vested in in the yum/rpm ecosystem and I
see very little chance that a new package manager is going to offer that much
new features that I need while keeping the features I already like from yum.

From the article:

"undocumented API, broken dependency solving algorithm and inability to
refactor internal functions. The last mentioned issue is connected with the
lack of documentation. "

Well some of them I don't care about as a user of yum some of them I can
verify not true (documentation) and some of them I care about and it works for
my use-cases (dependency solving algorithm).

~~~
TheLoneWolfling
It's the CADT model of software development, as usual.

[http://www.jwz.org/doc/cadt.html](http://www.jwz.org/doc/cadt.html)

~~~
Dewie3
It's kind of sad if most programmers think that debugging isn't fun. I thought
that was a very large part of the programming process? Or maybe people just do
OSS in order to re-balance their programming more to the side of clean-slate
programming.

~~~
TheLoneWolfling
Some debugging can be fun. But not all of it.

There are always things that won't be fun, and those are the things that get
kicked to the curb.

------
tw04
Serious question, because I am admittedly ignorant to the plusses and minuses
of the different package managers.

If you're going to swap out: why not switch to apt? What does apt lack that
DNF is going to provide? This seems like one of those low hanging fruit where
standardization across distributions would make sense.

~~~
darkstalker
Everyone should switch to Portage. It's like a superset of every package
manager.

~~~
wtallis
The portage ebuild system for describing package dependencies and build
procedures is awesome. The portage program for solving dependencies and
building packages is mediocre at best—it's slow and too prone to not finding a
solution even when the constraints of source compatibility are looser than
binary compatibility. The gentoo portage repository of packages is clearly
understaffed and orphaned packages are all too easy to run across.

All three of those things have gotten better over the years, and I have little
doubt that given the attention and effort that RedHat and Debian package
managers get, portage could be a clear winner. But the portage we have now has
too many pitfalls to be the best all-around choice.

~~~
tanderson92
Correct, the all-around best choice is Exherbo's package management. It is
extremely similar to Gentoo (after all, many of us used to work on Gentoo),
but I'd like to think it has fixed all the problems Gentoo had.

Portage is not used.

~~~
wtallis
There's no way that Exherbo's package repos are anywhere near as well
maintained and broad as the distros that people have actually heard of.
There's no silver bullet for that problem; the only solution is manpower that
they don't have.

~~~
tanderson92
Exherbo's package repos are incredibly well-maintained. What is provided
generally always works and things are kept very much up to date
(KDE/gnome/chrome/firefox updates within 24 hours usually). Lack of public
awareness doesn't always mean the system isn't as well maintained as a system
like gentoo (which often breaks!)

The broadness of the system isn't quite as vast as many distributions but
running a desktop / dev workstation I have never encountered a package not
available that I needed.

~~~
wtallis
If you haven't encountered packages missing from their repo, then their search
must be broken. In just a few minutes of searching, I found that they seem to
be missing anything GIS-related, netperf, smokeping, targetcli, any daap
server. That's just stuff I've been using my Linux box for in the past month,
but it seems like Exherbo would make me do at least as much work as something
like MacPorts!

~~~
tanderson92
Perhaps my needs are just different from yours. What I did say was "I have
never encountered a package not available that I needed". That is not
contradicted by your example. Your needs are different, that's cool. What
isn't cool is claiming that the search is broken because I haven't found the
need to search for those packages.

Exherbo may not be for you. It values users who are willing to be developers
as well, and augment the system with the packages they need. You want others
to do the work for you, that's not what Exherbo is about.

Besides, the original discussion concerned what package management system was
best, not if it had tool X, Y or Z that you claim is very often needed.

~~~
wtallis
In reply to a comment that listed the quality of the package repos as one of
three major areas of concern, you said that "the all-around best choice is
Exherbo's package management" and that "I'd like to think it has fixed all the
problems Gentoo had".

If you can't be honest about its shortcomings, you won't be able to convince
anyone to try out your pet project. It doesn't matter how reliable and
trouble-free it is at managing the core of the system if it immediately
degrades to "build it yourself" anytime you want to use something that's not
popular enough to make the cut for a live CD.

~~~
tanderson92
Perhaps I was unclear, and if that's the reason for any confusion I am sorry.
I was referring to the majority of the comment which was about portage's
shortcomings (though it is also true that ebuild quality is a major problem
for gentoo). I specifically was comparing portage/the Gentoo package
management infrastructure (NOT the package repos per se) with Exherbo's
package management infrastructure (by which I mean the package manager,
alternatives handling, repositories). This is what I meant by "Exherbo's
package management"; that does not mean the breadth of the repositories.

I like to think my comments were honest: I admitted that the system while
technically superior does not have the breadth that larger distributions do,
but that for my purposes it was sufficient. You ignored that and found some
packages not currently packaged in an attempt to disprove my experiences.
Furthermore I admitted that the project may not be for you since you expect
different things from a distribution than many of us do. What is dishonest
about any of this? I have been incredibly frank.

Besides, one of the nice things about Exherbo is that it handles the
nonexistence of a package rather seamlessly. You can compile it by hand,
install to a tempdir, and then have the package manager merge it directly
while giving you the ability to specify information about the package
(metadata, dependencies, etc.). And then of course the package manager can
uninstall it when you no longer want it. This makes the problem of "build it
yourself" kinda moot.

I'm not going to bother responding to the "make the cut for a live CD" remark
since obviously the there are far more packages than would fit on a liveCD or
liveDVD.

------
dmacvicar
Former libzypp/zypper developer here.

It was not mentioned in the post that dnf is based on the openSUSE dependency
SAT solver (libsolv) that was created by Michael Schroeder years ago and that
powers libzypp and zypper since openSUSE 11.0.

The dnf developers built a thin layer on top of it, called hawkey, and then
build dnf in python on top of hawkey.

One of the biggest innovations of libsolv is not only the SAT based solver but
also the .solv format which allows to store package metadata for big amounts
of packages in an efficient way and operate the solver directly on it.

[https://github.com/openSUSE/libsolv](https://github.com/openSUSE/libsolv)

------
jetpks
> Yum is dead

Seems more like `dnf.baseurl.org` is dead (it's down right now).

Google cache:
[http://webcache.googleusercontent.com/search?q=cache:PiRy8Wd...](http://webcache.googleusercontent.com/search?q=cache:PiRy8WdU6HYJ:dnf.baseurl.org/2015/05/11/yum-
is-dead-long-live-dnf/&hl=en&gl=us&strip=1)

------
themckman
So, like, what is a package manager and what does it need to do? All the
distros have one. All the lanaguages have one. Why do we have so many of these
things and is all the complexity necessary? All our configuration management
tools try to abstract the differences. The list goes on on and with these
things. As I start down the path of doing more and more operations/systems
administration I find myself asking the question over and over: What are we
doing with our lives?

~~~
adrusi
People don't know what they want package mangers to do and they had much less
of a clue back when the fragmentation started. So we got rpm and deb. Arch
decided these were too complicated when you wanted a rolling release so they
have their own package manager. Programming languages need to have their
package managers work on more than just Linux, so they make their own cross
platform ones, but since the devs are only thinking about their own language
they don't make something cross language.

------
rajivmr
Yum is "as dead" as one might think Fedora 22 is "production ready!" The
reality is RHEL 6, RHEL 7 and many other distributions use Yum and they are
not going to go away anytime soon.

~~~
rkangel
I assumed that as Fedora is kind of the upstream for RHEL, that RHEL would end
up with dnf down the line?

------
wojciechpolak
This is kinda stupid. Why not just keep the same name and bump the version
number to let say yum 4.x?

~~~
chrisper
Because it is not the same? They apparently rewrote a lot of yum.

------
kodisha
DNF is THE worst acronym to pick for package management tool :D

[http://en.wikipedia.org/wiki/Did_Not_Finish](http://en.wikipedia.org/wiki/Did_Not_Finish)

------
pjbrunet
Good to know, thanks Hacker News. Better "dependency solving" is appreciated.
Though I stopped using Fedora, I assume this will make it to CentOS
eventually.

~~~
mhurron
Baring anything horrible with dnf, I would expect it to arrive in RHEL 8.

It wouldn't surprise me to see it show up in centos-extras for CentOS 7 if
someone sees a benefit to it.

------
mineo
503s for me, here's the article on the Internet Archives Wayback Machine:
[https://web.archive.org/web/20150517152126/http://dnf.baseur...](https://web.archive.org/web/20150517152126/http://dnf.baseurl.org/2015/05/11/yum-
is-dead-long-live-dnf/)

------
moreoverlords
PAGING LENNART POETTERING

Yum/dnf haven't been merged into systemd yet, please merge

------
GimbalLock
"X is dead, long live Y" is dead. Long live original headlines.

------
dmourati
Rule of most surprise?

------
reddotX
is DNF snappy?

------
gilgamezh
HTTP status = 503 :(

------
warmwaffles
I still think pacman is far superior to yum or apt-get

~~~
lucb1e
Why?

~~~
zanny
I like it way more than apt at least. I don't have to use apt-cache, apt-get,
apt-kitchensink to do what I want. Its all just subcommands of pacman. Its
like vim vs nano - the later has the commands in the shell, but they aren't
nearly as fast or power to use as vim if you take the time to learn it.
Ironically, I use nano most of the time because I'm not terminal-locked enough
to get vim muscle memory, but I use pacman enough to remember everything.

Zypper is actually fairly good. Still way more verbose than it needs to be,
but it seems like a fair compromise between "apt-get stupidly-oversized-
function-name" and "why the fuck does -Sy mean grab updated package lists from
the repo".

~~~
bad_user
You can also use `aptitude`, available on both Debian and Ubuntu. It addresses
your complaints and it's the first package I install.

~~~
mmarx
Since apt-1.0 (basically, since jessie), there's also apt(8), which integrates
(most of) apt-get and apt-cache.

~~~
bad_user
Huh, I had it installed and had no idea about it. Looks good :-)

------
drcross
Linux is a horrible mess. The more I try to do with it, the more the mess
reveals itself. Wayland vs X11, Python 2 vs Python 3, init vs systemd,
ifconfig vs ip addr, these are all examples where as a new user you have to
learn the new and the old system just to be on a level playing field and it's
is far, far too much.

~~~
pekk
Incidentally, what package manager are you using on Windows/OS X?

~~~
meric
Not the author, but I use brew.

