YUM vs Smart vs Apt-Get
Eli Wapniarski
eli at orbsky.homelinux.org
Fri Dec 7 09:46:22 UTC 2007
I'm writing this in order to hopefully generate some genuine critical
discussion and to jar away some possible group think.
I would venture to guess that most of us that need to use Windows for whatever
reason do not accept the default browser installed with Windows and
Immediately download and use Firefox. Why? Because we feel it is the better
browser. Most Windows users seem to get get caught in the “because it comes
with the installation then I'm all set,” and away they go. My feeling is that
most Fedora users get caught in this mode of thinking as well. At least this
seems to be the case when it comes to my cursive discussions regarding the
primary way people seem to maintain their systems. That is, what defaults to,
YUM.
With Fedora 8 I've run into a few minor but irritating snags. With Fedora 8
one of these issues is currently irritating but, I can see this specific
problem generating a genuine discouragement for maintainers and users of 3rd
party repositories.
With no slight intended to Gnome users, I'm a KDE user. For us KDE user's
Redhat 8 was a real dud. It was frustrating that in an effort to unify the
users desktop experience Redhat broke an awful lot of functionality and it
was genuinely frustrating to feel that us KDE users were being coerced into
using Gnome. That's when I started experimenting with other distros. I
dropped Mandrake because installations were flaky. I dumped Debian because
hardware detection was flaky. I was disappointed by Suse because its
Administration tools were slow and confusing. At least what did work in
Redhat 8 worked. Even though I felt my desktop was crippled (using KDE). I
still preferred my working computer.
Then came Rex Dieter and KDE-Redhat and my introduction to Apt-Get. All I
could say was wow. All of a sudden my desktop came alive again; bright and
shiny. Everything started working the way it was supposed to. Menu editing,
configuration of my desktop and I did not have to go and recompile source
code to do the job. Thank you Rex.
This wonder of Apt-Get and 3rd party repositories made my life so much easier.
Then I became aware of Freshrpms and Livna and Rpmforge and ATRpms. I'm using
all of them for one application or another because, none of them including
Fedora provide everything that I need or use.
Once I became relatively proficient with Apt-Get and thanks to Freshrpms which
put under one roof, Fedora Core, Updates and Freshrpms I have not needed to
use a CD to update my computers since Fedora 4. I have successfully managed
to relatively smoothly upgrade my systems with Apt-Get from Fedora Core 4 to
Fedora 8. Except for a few minor conflicts which have been easily fixed by
manually forcing an upgrade of a few family of packages.
Now, because Matthias Saou of Freshrpms seems to be very busy with a new 3rd
party repository called Rpmfusion combining Dribble, Livna and Freshrpms and
the consequential disruptions that this is causing of the maintenance of
Freshrpms I have been prompted to re-examine my options regarding package
management.
After about a month of working with YUM and Smart, I have to conclude, at
least from a user's perspective, that Apt-Get is still the superior package
management solution. Allow me to explain.
YUM has come along way since its introduction including prioritized
repositories. This works if your configuration stays static. If you have had
packages installed from one 3rd party repository and then decide to switch
priority to a different one there does not seem to be anyway to enforce this
switch by automatically downgrading packages to conform to that decision.
What I mean by downgrading is that even though two different 3rd party
repositories might have the same application version packaged their filenames
will be different. If YUM decides that a package currently installed is newer
than the package from a newly prioritized repository YUM will not install the
package from the prioritized repository.
With Apt-Get and Smart, if priorities are configured correctly, then the
downgrade will occur. The nice thing with Smart is that it will do this with
repomd (YUM configuration) while Apt-Get still can not do this with repomd.
I did not try to upgrade a system using YUM because Fedora does not recommend
it. I did try to upgrade a system using Smart. Everything came in and
installed except for a couple of minor problems with post processing scripts
which left behind duplicate packages. One of these scripting issues was a
problem with the kernel that was to be installed with Fedora 8. Fortunately
my newly installed Fedora 8 did not panic with the Fedora 7 kernel. So I
issued an apt-get reinstall kernel and Apt-Get indicated that there were
duplicate packages because of post processing of scripts which left behind
Fedora 7 packages in the RPM database. The duplicate packages were not
indicated by Smart or YUM. Apt-Get instructed me to on how to fix the
configuration or fix my system. I elected to fix my system and then reissued
the apt-get reinstall kernel command. I rebooted by my computer and all was
well.
The current problem with Apt-Get is that while it supports repomd format of
YUM which most 3rd party repositories support exclusively it cannot
prioritize them. If you use one or two repositories then prioritizing them
does not seem necessary. However, if you are like me and you use multiple
repositories then enforced prioritizing becomes essential. It is the only way
to ensure predictable behavior from package management.
I am guessing that package managers use repomd because for them its easier
then Apt-Get. I'm only guessing. Apt-Get enforces priorities. So does Smart.
Smart also does this with repomd repositories as well as apt repositories
while While Apt-Get will only do this apt repositories even though it does
support repomd. YUM's priority feature is incomplete and does not handle apt
repositories at all.
All three applications once configured correctly excel at maintaining your
system; once the dust is settled and all the packages are coming from where
they're supposed to. However, only one of these applications allows me to
smoothly upgrade full release installations. This is Apt-Get.
The last point is, in my opinion, what makes Apt-Get the best tool for the
job. Why? Because, Fedora upgrades come fast and furious. For a lot us, 3rd
party repositories are essential to add features and applications that are
not included in Fedora's releases. If I were to rely only on removable media
I could not predict what would or would not be removed or stop working due to
the upgrade from one release to the next. Apt-Get is the only package manager
that allows for relatively smooth upgrades from one release to another
without giving up the benefits provided by 3rd party repositories.
And this becomes even more important if you need to maintain an older computer
in a remote location that you can only upgrade during non-business hours. It
can take all day, and this is a terrible way to spend the weekend. With
apt-get after proper prioritization I tell it to get the files from the new
release and then do the following
connect to remote computer with ssh
su -
backup any essential configuration files
apt-get update
apt-get -df dist-upgrade
(go do something else while everything downloads)
apt-get -f dist-upgrade
(fix conflicts)
apt-get -f upgrade
(go do something else while everything gets installed)
reboot
ta-da new release installed and working.
Recompile anything that I had to compile manually to have it work more
effeciently with the newly installed libraries.
I simply cannot do this with any other package manager and this is why I like
and rely on Apt-Get. I open the floor to everyone.
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
More information about the Fedora-news-list
mailing list