Debian flamewar
Jason Stephenson
jason at sigio.com
Thu Feb 10 01:07:01 EST 2005
Heh..... I find this discussion mildly interesting from where I sit, a
mostly xBSD user.
It's funny, too, 'cause I didn't start using FreeBSD for my workstations
and personal servers until I worked in a data center environment with
mixed UNIX systems. At the University of Kentucky's College of
Engineering Computing Center, we had multiple systems running HP-UX,
Solaris, IRIX, Red Hat GNU/Linux, Debian GNU/Linux, FreeBSD, and even 1
web server with OpenBSD for a certain network/clustering research group
that some on this list have probably heard of. Also, the two of us in
the "UNIX Support Group" were responsible for several dozen other UNIX
and Linux workstations spread throughout the college and not just the
servers in the back room.
It was largely the issues of "package management" that made me decide to
go with FreeBSD and OpenBSD for my computers at home, instead of various
flavors of GNU/Linux. I found the ports collections to be the solution
to deb and rpm hells. In almost every case, I cd into the program's
ports directory, type 'make install' and the software builds, installs,
and then runs with no hitches. There's very little to package manage and
that's how it should be, IMHO.
I experienced all kinds of problems on the Linux machines, mainly
because we were a research institution and the profs would need some
bizarre hardware combination that wouldn't quite work with the default
packages from the various releases. It became a nightmare trying to
maintain a machine loading packages from 2 different Debian releases, or
trying to install binary RPMs on some of the RedHat machines with
different kernels, etc.
It soon became routine for my colleague and I to install nearly
everything from source code on certain machines because we knew that the
packages would not work.
I have found that installing from source, and knowing what different gcc
and make errors mean, is the only way to get software that will run on
your machine 100% with no faults other than their own bugs or bugs in
the libraries they link to. It can be time consuming to maintain a
machine with source-compiled binaries, but I haven't found any update
routine that's simpler or more sure-fire than:
cvsup -g -L2 /home/root/sup/FreeBSD-ports-supfile
pkg-delete -a
cd /usr/ports/[pkg-cat]/[pkg-name]
make install clean
The last two lines need to be repeated for each package you wish to install.
I can't count the number of times I've had
apt-get update
apt-get install
fail and for what reasons when.
I've also dealt with RPM-hell of having to install RPM after RPM, just
to get the one thing that I want to use installed. I've also had
installs fail on some machine, again because of custom packages needed
for one reason or another.
I can tell you that I've only ever had two package fail make install in
FreeBSD ports because one time I updated right after a change to one
package, and the second time because the package maintainer had written
his makefile to check for the headers from a specific version of the
mysql libs and I'd installed a more recent one. In both cases, the fixes
were simple changes to the makefile that I sent off to the package
maintainers. One was incorporated into the makefile, and the other
maintainer wrote back thanking me, but that he'd already updated the
repository with a "better" change.
I've not ever had a problem with ports on OpenBSD, but I've used it much
less.
Oh, and don't get me started on the "package management" in IRIX, HP-UX,
and Solaris. They have varying degrees of success and failure, and you
often have to go to third party sources on the Internet or resort to
installing things from source for the useful stuff.
Anyway, to me, it isn't software without source code, and I do prefer to
install from source because then you know it works with the libraries
installed on your system because it was compiled against those very
libraries. You don't need to worry about binary compatibility issues
between different library and kernel versions busting your binary
packages. Yeah, you could end up with something that doesn't compile,
but at least then, you can see what the problem is and fix it yourself.
Well, gee, that was longer than I anticipated.....
More information about the gnhlug-discuss
mailing list