[Fwd: Re: I like Ubuntu]

Alex Zbyslaw xfb52 at dial.pipex.com
Tue Apr 17 08:34:42 UTC 2007

Forwarded on behalf of Chad Perrin <perrin at apotheon.com>:

On Mon, Apr 16, 2007 at 10:29:43AM +0100, Alex Zbyslaw wrote:
> How does apt-get compare to something like yum/up2date on FC/RHEL?  I.e. 
> is there something that makes apt-get better?

It uses a package format that requires more information about the
software (that's a good thing), it's faster, and the command line tools
provide more comprehensive functionality.  The rest of the benefits of
using APT over using YUM that come to mind for me are related to the
fact that I've mostly used APT with Debian, and are distro-specific
benefits, not benefits of the package manager itself.

I haven't used up2date at all, so I really can't comment.  I imagine it
is to YUM as aptitude is to APT.  I prefer APT over aptitude and, based
on what I've heard about up2date from people who have used it, I gather
I'd prefer YUM over up2date.  Aptitude seems to be designed to be more
"user friendly" than APT itself, and ultimately ends up just being a
reshuffled deck of defaults all tied together through a single command,
reducing the fine-tuned scriptability of APT.  Some people like it, but
a couple years ago when the Debian maintainers were talking about
phasing out APT entirely in favor of aptitude, they apparently got
enough complaints that they reversed that decision.  Now, you have both
APT and aptitude.

APT also has a few GUI front ends.  From what I've seen, Synaptic seems
to be the most stable and complete, and it's pretty nice (as far as GUI
software managers are concerned).  I hear there's a GUI front end to
up2date as well, but I don't know of anyone that actually uses (and
recommends) the thing.

> My main issue with all the RedHat OSes is that you are effectively stuck 
> with whatever version of packages was "combined" to make a particular 
> release.  So if the machine you have came with say postfix 2.0, your 
> stuck with that for the lifetime of the OS.  If you suddenly have a need 
> for 2.2, you can try using src rpms, but somehow they never seem to be 
> available for your particular OS version, and whether the ones for a 
> later OS version compile or not is hit-and-miss.  Sure, it's dead easy 
> to yum update say postfix 2.0 to postfix 2.0+some security fix, but 
> that's just not enough for me.

The APT system allows "pinning", where you can set preferences to use
a given version of a package or to use a specific release branch's
version no matter what version number that is at any given time.  At any
moment, there are at minimum four supported release branches of Debian.
Additionally, you can create your own packages or add third-party
archives to your sources.list file to allow you to select yet another
package version from outside the official release branches.

None of these options are quite as flexible as the FreeBSD ports system
for choosing specific software versions, and from what I've seen it
seems that the really mature binary package systems are more brittle, in
that deviation from expected use of provided packages can cause breakage
more easily than a source-based system like the FreeBSD ports tree.

(There.  I'm on-topic again.)

> I resent having to upgrade the OS to get up-to-date packages that have 
> no specific relationship to anything I understand as the OS.  That's 
> especially a problem for ISP-rented servers, where upgrading the OS is a 
> matter of having to get a new server, or taking your life in your hands 
> and trying a "yum" update of the OS.  But even for a "desktop", it's 
> just far more work than I believe should be required.
> FreeBSD ports/packages are not perfect, but at least I can update 
> third-party software without upgrading the OS.

Debian Testing and Unstable release branches provide a smooth, gradual
upgrade path so that you don't need to do a complete system reinstall or
upgrade to get updated packages.  Of course, your packages do still get
upgraded on their schedule, not on yours, but certain packages never
upgrade automatically -- like the kernel.  You can upgrade your kernel
version easily, though, if you wish to do so (using an apt-get install
command).  My understanding is that most of the Debian-derived distros
other than Debian itself have strayed from that policy, however, and to
get the benefits of the software versions shipped with the new OS
releases you are expected to upgrade the entire system.  It's probably
easier to get around that with APT-based distributions, simply by adding
archives to your sources.list file and setting preferences appropriately
to pin specific packages to specific release versions, and gradually
pin more and more packages to whatever version you want, but that can
become quite a bit of work if that's how you want to handle it.

Hopefully that helps answer some of your questions.  Overall, I find the
FreeBSD ports system to be more flexible, but an acceptable runner-up
for purposes of binary package-based OSes in my opinion is Debian.

CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ]
"A script is what you give the actors.  A program
is what you give the audience." - Larry Wall

More information about the freebsd-questions mailing list