I was wondering why fedora has choosen yum over apt-get

Warren Togami wtogami at redhat.com
Tue Feb 10 21:01:17 UTC 2004


Kristof Vansant wrote:
> k but I still don't understand why with yum everything goes slower then with
> apt-get.
> Has apt-get better mirror support or something?

yum actually has better mirror and fail-over support than apt today.

> My friend has a big apt-get sources list and yum list. Apt-get had his
> sources list in 2 minutes. Yum was still loading header files after half an
> hour.

Could be DNS related issues.  Also, if it is a HTTP server make sure 
KeepAlive is enabled on the server side or it will suck.

> I can understand his frustration. What's the cause in this big speed
> difference?
> 

Aside from header download, yum of today is extremely slow at 
calculating dependencies.  One often quoted benchmark is 10 seconds apt 
vs. 50 minutes yum for calculating the dependencies in a large 
transaction like upgrading from RH9 to FC1 on a 400MHz P2 system.

Seth Vidal mentioned that this situation should dramatically improve in 
the future with the new XML based metadata.  Far fewer files are 
downloaded for headers, meaning more efficient data compression and 
faster header downloading.  And something about the new design means yum 
will be able to calculate deps much faster than it does today.

As for reasons why Red Hat Linux/Fedora does not yet have apt-get today:

1) Missing multilib support like yum or up2date currently has today. 
This is a medium priority that I probably need to force myself to work 
on because nobody else seems interested in working on this.  This makes 
me think... does not Debian have dual 32bit/64bit archs?  How do they 
handle multilib if their apt doesn't support it yet either?
2) XML metadata needs to be implemented.  Panu Matilainen mentioned that 
he is working on this.  This will allow apt to use the same mirrors that 
yum, up2date and possibly other tools (Ximian?) that support the new 
metadata.
3) Concern that apt is redundant to the other clients, and maintaining 
it would be cost/time prohibitive.

Aside from the speed advantages, I personally see apt as my personal 
favorite for several other reasons:

1) Installation of specified non-repository packages and calculated 
dependencies.
2) Automated SRPM source building, walking the dependency tree 
(currently problematic due to flaws in the SRPMS themselves, and perhaps 
some remaining apt bugs).
3) Removal of entire trees with dependencies.
4) Optional external PM and great flexibility in configuration, allowing 
a wide array of needed buildsystem functionality for tools like 
mach/djinni.  Enrico Scholz and Panu Matilainencan explain this in 
greater detail.
5) Extremely well maintained codebase with multiple distributions active 
in its maintenance.  They keep up with the latest versions of rpm 
religiously.

apt is an important tool for me to eventually have in Fedora, but for 
now I am content to use and maintain it at fedora.us for FC1 and prior 
distributions.  fedora.us mirrors for FC1 and earlier have the entire 
distribution, all updates, updates-testing, plus stable/testing/unstable 
Extras trees.

http://www.fedora.us/wiki/FedoraHOWTO
Get started using fedora.us quickly by following these instructions. 
Use either apt, yum or up2date.

https://bugzilla.fedora.us/show_bug.cgi?id=1180
The next release of apt, with Panu Matilainen's proof of concept 
optional dynamic menu based mirror chooser.  Try this!

Warren Togami
wtogami at redhat.com





More information about the fedora-devel-list mailing list