12 ms·
Yum is dead, long live DNF
- tw04 11y agoSerious 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.
- lloydde 11y agoApt is part of a tool chain that is extreme Unix philosophy. With this we benefit from backwards compatibility and continuing to use our muscle memory, but it also means that if say you want to find out which uninstalled package provides a specific file it means installing another tool.
- frg0 11y agoat some point *hat could do us all a favor and remember that we're just humans.
- deleted 11y ago[deleted]
- icebraining 11y agoHow so? I don't think you can do that with apt alone, you need apt-file (which is a separate tool).
- kasabali 11y agoOh right. I misread your comment, sorry.
- XorNot 11y agoapt-file is pretty damn lightweight when you get to "another tool" stakes.
- rwmj 11y agoIt would have been better to switch to zypper. Both dnf and zypper use a SAT solver for very fast depsolving. Yum and apt don't and both have very slow depsolving. Zypper also directly supports rpm, and would have unified the package managers on Fedora, OpenSUSE and the enterprise Linux distros RHEL and SUSE.
- baghira 11y agoAs far as I can tell the fedora guys wrote libhawkey and dnf to reach some sort of middle ground, as switching to zypper would have implied breaking everything (i.e. all the scripts admins use, rewriting parts of anaconda, etc). The compatibility is not perfect, and in fact a fair amount of people complained (see some discussion on phoronix). As far as the parent post is concerned, to switch to apt would imply switching to deb, which would be a massive change. RPM is simply too different, both in positive (the possibility of changing target directory and of rolling back) and in negative (dependency specification is still rudimental compared to .deb, see https://www.youtube.com/watch?v=FNwNF19oFqM https://www.youtube.com/watch?v=FNwNF19oFqM). And as rwmj14 said, libsolv is better.
- amyjess 11y agoFor the record, apt doesn't always imply deb: apt-rpm exists, and it's used by a few distros, including PCLinuxOS.
- vidarh 11y agoapt-rpm has been around for more than a decade, and was considered for Fedora back in the day (it lost out due to a combination of lack of multilib support back then, and considerations over complexity). Last time I used Fedora it was available in the repository and worked just fine - I always preferred it over yum, despite also preferring RPM over Deb.
- baghira 11y agoI thought apt-rpm was basically dead, happy to read that it is still around. And yes, I reckon the second part of my comment was wrong, you can have apt on top of .deb .
- stonogo 11y agoThe lower the stakes, the stronger the feelings. C.f. text editing.
- rwmj 11y agoConsidering I spend probably half my time using a computer in an editor, I'd say the stakes couldn't be higher.
- vezzy-fnord 11y agoGiven that the package manager is the backbone that makes the Linux distribution (in most cases), it's not low stakes at all.
- CydeWeys 11y agoAs long as all of the alternatives work, and they do, it is pretty low stakes. Realistically, how much difference does the choice between yum/dnf/apt-get really make to my everday life installing and upgrading packages? Very, very little.
- sytringy05 11y agoThe classic problem of Bikeshedding - http://en.wikipedia.org/wiki/Parkinson%27s_law_of_triviality http://en.wikipedia.org/wiki/Parkinson%27s_law_of_triviality
- exprL 11y agoFor a user, DNF is mostly just a quicker YUM. It still deals with RPMs and the UI is similar (at least for basic operations).
- kasabali 11y agoBecause switching just the package manager will yield no benefit at all. Having apt as the common package manager among Debian derivatives is meaningful because those distributions get most of their packages from Debian, so they use not only the same package manager, but also same packaging format, same file system hierarchy, same package names/package splitting. All Fedora derivatives, OpenSUSE and Mandriva(?) would agree on using dnf but that would provide no significant benefit at all (other than reusing muscle memory).
- dredmorbius 11y agoMost of APT packages' superiority comes less from the packaging format than the entire philosophy surrounding them, most especially in the case of Debian, Debian Policy. Quite simply, so long as I stay within distro, the quality of Debian packages greatly exceeds those of RPM packages (long-standing direct, multiple-instance observation of Debian, REHL/Red Hat, CentOS, Fedora, and Suse systems). Some of the benefit also derives from the packaging format itself. The ability to unpack DEBs using nothing but shell tools (busybox within a Debian system's pre-boot ramfs is sufficient and has been successfully used by me -- Red Hat loses in this instance by using a ramfs shell that's both 1) larger than Debian's dash and 2) doesn't offer interactive use -- it's a scripting-only shell, FML. Joey Hess at one time had a detailed comparison of various packaging systems. He's pulled it apparently due to political / fanboi bickering, which is a shame. He's author of 'alien', a tool for converting between packaging formats. But Policy (and fucking enforcing the fucking hell out of it) trumps. Source: 18 years' use of both distros and many other Linuxen. 30 years' experience on further Unixen.
- darkstalker 11y agoEveryone should switch to Portage. It's like a superset of every package manager.
- SwellJoe 11y agoNo, it really isn't. Portage poorly solves, or neglects to solve, most of the problems dnf is intended to solve with yum, and is, on many fronts inferior to yum, as well.
- crististm 11y agoIf portage/gentoo guys were not treating portage as if it was running on gazillion of GHz CPU, they would have a shot at making portage compete with other systems. Don't say it is the best. Not by any stretch. I feel ashamed that for the last ten years I could not find a kind word to the portage developers. For what is worth, they don't care.
- TylerE 11y agoYou mean the better system that inspired portage, BSD Ports, right?
- tanderson92 11y agoYou mean Paludis right (on Exherbo too and not Gentoo which is still stuck in the stone age)? Paludis does correct dependency resolution while Portage just pretends to.
- wtallis 11y agoThe 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.
- vezzy-fnord 11y agoIronically, package formats have already been standardized: it's RPM, as per the Linux Standard Base (LSB). Naturally no one fully obeys it, because LSB is a mediocre standard in general.
- gilgamezh 11y agoHTTP status = 503 :(
- jetpks 11y ago> 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:PiRy8WdU6HYJ:dnf.baseurl.org/2015/05/11/yum-is-dead-long-live-dnf/&hl=en&gl=us&strip=1 http://webcache.googleusercontent.com/search?q=cache:PiRy8Wd...
- mineo 11y ago503s for me, here's the article on the Internet Archives Wayback Machine: https://web.archive.org/web/20150517152126/http://dnf.baseurl.org/2015/05/11/yum-is-dead-long-live-dnf/ https://web.archive.org/web/20150517152126/http://dnf.baseur...
- warmwaffles 11y agoI still think pacman is far superior to yum or apt-get
- lucb1e 11y agoWhy?
- warmwaffles 11y agoBecause I have been using Archlinux full time for a while now. It's dead simple to make PKGBUILDs and maintain your own packages. Yum and RPM? forget it.
- zanny 11y agoI just made my first pkgbuild yesterday and threw it on the AUR. Having come from, first, using launchpad (eech) to using the OBS (blargh) how are pkgbuilds not "the final solution" again? They are incredibly fantastic to write and use.
- gh02t 11y agoPKGBUILDs and the AUR are great, but I really wish they had a spot on the AUR page for people to add extra info particular to the that package. For instance, if you come across the package in the AUR 'firefox-toast' (made up example), there is no place on the AUR page to add a description that says something like "firefox built with support for toasters." The only place to describe package customizations is in the name and that's often not enough. You could put it in the PKGBUILD, but it seems people almost never do.
- zanny 11y agoThe AUR page is always completely generated by the pkgbuild. You cannot edit any of the fields yourself, you just have to upload a new source archive. In the pkgbuild you are talking about the pkgdesc field, and it is not that hard to paste a quotes wrapped string on a line in there for a description...
- istvan__ 11y agoOut 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).
- rwmj 11y agodnf is a very heavily modified yum. Parts of dnf have a Duke University copyright (because Duke was the place yum came from originally). They took the opportunity to do a very big rewrite however so a lot of code has changed, and the command line is also quite a bit different.
- deleted 11y ago[deleted]
- TheLoneWolfling 11y agoIt's the CADT model of software development, as usual. http://www.jwz.org/doc/cadt.html http://www.jwz.org/doc/cadt.html
- Dewie3 11y agoIt'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 11y agoSome 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.
- GimbalLock 11y ago"X is dead, long live Y" is dead. Long live original headlines.
- reddotX 11y agois DNF snappy?
- SwellJoe 11y agoI 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.
- DAddYE 11y agoI never had a chance to interact with him but I share the same feeling. I'm probably too an old fool but I really liked YUM.
- SwellJoe 11y agoI suspect he would have been right out front on integrating these new ideas into yum; he had a long history of pushing yum forward (which is why it became the standard for RHEL and Fedora despite Red Hat having developed one of their own; but, it was clear to everyone, including Red Hat, that up2date was inferior in every way to yum). So, I tend to think if he were still around, we wouldn't be talking about something replacing yum, we would instead be talking about new features in yum. I think it is unfortunate that people felt the need to fork rather than enhance.
- hyperrail 11y ago> 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!
- bgilroy26 11y agoDid not find [package]!
- themckman 11y agoSo, 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 11y agoPeople 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.
- liveoneggs 11y agopackaging software for distribution at scale is really hard and really manual
- sillygoose 11y agoExcellent questions. I bet it's largely because lots of open-source people want things exactly their way.
- pjbrunet 11y agoGood 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 11y agoBaring 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.
- drcross 11y agoLinux 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.
- gregor7777 11y agoSimply put: nonsense.
- pekk 11y agoIncidentally, what package manager are you using on Windows/OS X?
- meric 11y agoNot the author, but I use brew.
- rajivmr 11y agoYum 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 11y agoI assumed that as Fedora is kind of the upstream for RHEL, that RHEL would end up with dnf down the line?
- dmourati 11y agoRule of most surprise?
- wojciechpolak 11y agoThis is kinda stupid. Why not just keep the same name and bump the version number to let say yum 4.x?
- chrisper 11y agoBecause it is not the same? They apparently rewrote a lot of yum.
- kodisha 11y agoDNF 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
- la6470 11y agoThis is what happens when you have too many half employed CS graduates. They have enough free time to keep forking stuff and changing it to put their name on it, instead of fixing the old software of even overhaul it, only to create more management nightmare for serious IT business.
- moreoverlords 11y agoPAGING LENNART POETTERING Yum/dnf haven't been merged into systemd yet, please merge
- dmacvicar 11y agoFormer 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