Please, Yum Yum!
Please, Yum Yum!
Posted Jul 9, 2006 7:43 UTC (Sun) by warmcat1 (guest, #31975)In reply to: Please, not YUM by fergal
Parent article: Interview: Jim Gettys (Part II)
Well we all have to use the opinions we arrived at from our experiences. However I have used apt-get on Debian, and used the ported RPM-aware apt-get, and in my experience yum is superior. Apt-get was and is a great boost out of package hell, wandering around in the desert looking for deps by hand, but yum does that job and more. For example, try "yum search" and "yum whatprovides" for an entire metarepo view of what rpm can only provide on installed packages.
On the slowness yum has a system at the moment where it wanders around randomly between its list of mirrors, guaranteeing suboptimal performance for everyone. Recent yum has an sqllite backend and is not in itself slow, but the default mirror behaviours make it seem slow simply because it randomly tries to grab packages from some overloaded server halfway around the world. You can edit /etc/yum.repos.d/* to get yum to use a single local mirror instead of the list and things are very fast on a decent box.
"Your mileage did vary" ;-) but there is my experience.
Posted Jul 9, 2006 17:22 UTC (Sun)
by fergal (guest, #602)
[Link] (3 responses)
As for speed, I did modify my repos and I hit the same mirror site for both fedora and ubuntu. The major difference is that yum hits the repo more often than apt. It also spends an inordinate amount of time loading the repo data (possibly fixed by sqllite).
When I install something with apt-get, all it does is download that package and it's deps, it doesn't do all the other stuff that yum seems to and most importantly it doesn't barf just because 1 repository is temporarily down! The number of times I've had to comment and uncomment Dag Weier's repo is just silly.
There's also the ridiculous behaviour on ctrl-c (switch to next repository, not quit, no that requires ctrl-\ or fishing around for a PID to kill). This is a feature say the developers.
Yum is probably on it's way to being as good as apt-* but I just don't see the point in suffering while it gets there and by the time it arrives, apt will have moved a bit further.
I'd be interested to hear an specific example where you think yum is superior.
Posted Jul 9, 2006 17:40 UTC (Sun)
by warmcat1 (guest, #31975)
[Link] (2 responses)
Yes I never saw these capabilities anywhere before yum.
> yum hits the repo more often than apt
The extent of my knowledge about how it works is that it uses HTTP byte ranges to get RPM package headers that contain everything about the RPM except the cpio payload. If it identifies that a package needs to be downloaded, for example, it will go download the header part of that package and then look in there for dependencies. That looks casually like a lot of back and forth, but it allows cool features like arbitrary mixing and matching with localinstall (install this random RPM I already have, getting deps remotely from anywhere you can) local RPMs, multiple repos and so on. I got the impression apt worked on a more precooked-database-file-from-the-repo way, but I don't actually know it.
> ^C
Yes everyone finds that annoying I am sure
> I'd be interested to hear an specific example
Yum does multiarch/multilib (eg, x86_64 mixing/duping i386 libs) in a good way, I believe apt is unable to do this. Although if my belief is wrong, since it came from a discussion on Fedora-list wrt the RPM port of apt, please do disabuse me of it.
Posted Jul 9, 2006 17:53 UTC (Sun)
by fergal (guest, #602)
[Link] (1 responses)
apt does this just fine.
> I got the impression apt worked on a more
I'm not so sure, the effect is the same anyway, all the useful repo data is vailable locally. Adding a new package does not cause apt to refetch the entire database for tha repo. I'm not so sure about yum.
> Yum does multiarch/multilib (eg, x86_64 mixing/duping i386 libs) in a
I don't know for sure but neither yum nor apt should know anything about 32 vs 64 bit. There might be some support in rpm or dpkg for a difference but it seems more likely that this is a debian vs fedora filesystem layout difference.
Posted Jul 9, 2006 18:08 UTC (Sun)
by warmcat1 (guest, #31975)
[Link]
Oh well, more props to apt then.
> Adding a new package does not cause apt to
I believe the database part of the repo is lighter in the Yum way of doing things, since it goes to the actual packages to get the full metadata.
> There might be some support in rpm or dpkg for a
Yes, the RPM libs know about multiarch and deal with it, but yum has to be aware of what is going on. For example:
# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{ARCH}\n" | grep glibc
There are two packages called "glibc" of the same version installed in the one box, for example... yum or whatever has to be aware that only the one matching the arch of a new package is a resolution for it, that the -devel package only matches the package with the same arch, etc. Put another way you can have the x86_64 set of libs needed by a package, but if that package is coming in as i686 it is NOT a resolution. Thinking about it the complaints I heard were probably specific to the RPM port of apt and may not say anything about apt's native multiarch powers.
apt has all that meta repo goodness too, search, provides etc (apt-cache is the tool for that, not apt-get which might be why you thought it didn't).Please, Yum Yum!
> apt-cache is the tool for that, not apt-get which Please, Yum Yum!
> might be why you thought it didn't
> where you think yum is superior.
> allows cool features like arbitrary mixing and matching with localinstallPlease, Yum Yum!
> (install this random RPM I already have, getting deps remotely from
> anywhere you can) local RPMs, multiple repos
> precooked-database-file-from-the-repo way, but I don't actually know it.
> good way, I believe apt is unable to do this. Although if my belief is
> wrong, since it came from a discussion on Fedora-list wrt the RPM port of
> apt, please do disabuse me of it.
> apt does this just fine.Please, Yum Yum!
> refetch the entire database for tha repo.
> I'm not so sure about yum.
> difference but it seems more likely that this is
> a debian vs fedora filesystem layout difference.
glibc-2.3.4-i686
glibc-common-2.3.4-x86_64
glibc-2.3.4-x86_64
glibc-kernheaders-2.4-x86_64
glibc-devel-2.3.4-x86_64
glibc-headers-2.3.4-x86_64