LWN.net Logo

Revisiting RPM Package Management

Revisiting RPM Package Management

Posted Sep 18, 2003 17:32 UTC (Thu) by mongre26 (guest, #4224)
Parent article: Revisiting RPM Package Management

Yum is technically superior to the port of Apt-get to RPM for several reasons most listed on the Duke site had the author visited it.

http://linux.duke.edu/projects/yum/

From the Yum Site

"Every rpm has a header. That header contains a complete file list, package descriptions, lists of what features/libs it provides, lists of what it requires, what it conflicts with etc. In order for rpm to make a decision about what an rpm will need to be installed it needs the information in the header. Fortunately, this is all it needs. Many other updating tools use an index created of that information. They take the important information and send it to the client and use that to determine what should be installed. What Yum does is to copy the header from the rpms on the server (called a repository, just an HTTP or ftp server, nothing fancy or custom), then the client part of yum uses those headers to determine what needs to be installed/upgraded/erased. The benefit of using the rpm header is that yum can then rely on rpm to determine what should happen, because all the information is in a format native to rpm so no custom dependency calculation code is required. Another benefit is that this makes yum quite fast. And finally, by not writing custom dependency code yum keeps from reinventing the wheel and writing a parallel dependency engine to rpm. Rpm does all the hard work."

Basically instead of writing a whole lot of C code to do dependencies Yum makes use of what is already there via Python. It is just putting the pieces together that were there all along.

I use yum extensively to manage updates and packages on the dozens of systems that I manage. It is easy to work with and fairly reliable. I am very glad that it will start to come standard in Redhat.


(Log in to post comments)

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds