On Sat, Nov 29, 2003 at 09:44:49PM -0600, Jay West wrote:
The key here to me, is that you specified you are
going to run "services",
and that you are concerned with reliability because "your friends server
isn't stable".
FreeBSD, or any of the XBsd's, are definitely the choice over linux there,
given those two statements. No, I'm not trying to start any wars - if
someone disagrees with me, please back it up - as I will here.
The strong point of FreeBSD or any of the variants (open, net, BSDI, etc.)
are the tcp stack and the VM system. These are exactly the areas where Linux
falls short. This isn't an opinion, it's a fact. The VM system in Linux has
always been severely challenged, swapping when it shouldn't for example.
From what I have heard, recently, Linux has redone
most of the VM. Wonder
why. The VM in BSD has been around for decades, as has
it's networking code.
Linux can't claim that. I prefer code that not only works well, but has been
around for many many years.
Well, according to
http://bulk.fefe.de/scalability/ if you want to run
*BSD on x86, it should be FreeBSD. If you are not nailed to *BSD, Linux
might actually be the better choice. It simply depends on a few things:
- what prior experience one has,
- what kind of knowledge environment (friends with experience and so
on) one can use,
- what you actually want to do with the box,
- personal preferences,
Why is this important you may ask? Well, because you
want to run server
based services like mail and web serving. Couple that with the fact you are
using (comparatively, no denigration intended) a low powered machine to do
it. If the thing is swapping when it shouldn't, you've just cut the nu*s off
the machine and any hopes for acceptable performance.
Right. One should try to keep the working set (the collection of memory
pages that are constantly in use - most likely core parts of the
web- and mailserver processes for a web/mail server) out of swap. The
working set however, is just a part of used memory. So, as long as the
working set fits nicely into RAM, using swap is not that bad.
Linux does have it's strong points. It supports
many more devices (brands,
manufacturers, etc.) and it does so more quickly when new devices come out.
However, this is due to the development paradigm. Just about anyone can
throw together a driver, and get it included in some Linux distro. FreeBSD
has a tight (closed) development team. So the plus of linux is - if you got
some hot new scsi controller that just came out on the market yesterday,
chances are it will work with Linux. Of course, some 12 year old kid may
have written the driver, and he may not have thought to turn on something
like oh... say DMA in his driver. But it will "work".
Deliberate misrepresentation of the Linux kernel development model, how
nice. Yes, any 12 year old can write a kernel driver and get it included
in his own distro - but he can do the same with his own FreeBSD variant,
although in both cases he is probably the only user of that. Yes,
anybody can write a Linux kernel driver - but to get it accepted into
the mainline kernel, he has to get this driver past the relevant
maintainer for that subsystem (say, SCSI) and then past Linus. And Linus
is well known for his "keep this crap out of the kernel" attitude. If,
however one doesn't run the mainline kernel but a kernel based on the
mainline kernel with a random collection of patches ... well, life is
hard. If some random patch isn't in the mainline kernel, then there are
most likely rather good reasons for it (like its author being laughed
off the linux-kernel mailinglist).
FreeBSD on the other
hand is MUCH slower to support new devices. But when it does, rock solid.
Then some evil h4x0rs got into the FreeBSD kernel sources sometime
between 4.2 and 4.9 and quietly buggered up PCMCIA. FreeBSD 4.9 does not
work with PCMCIA hardware that FreeBSD 4.2 supported and ran well on.
There are a lot of other things to elucidate
differences here, but I won't
go into great length - but here's one other small point. How quickly does
linux come out with new kernel releases. They suffer from "kernel of the
week" syndrome. I frequently here some linux fen say "Oh, yeah, that problem
is a bug (in linux), it's fixed in kernel version 2.4.3.4.1.0.9.2.3. Geeze.
Release early and release often. Yes, this is also a philosophical
question.
Nothing like letting the end users find all your bugs.
Sorry to burst your bubble, but the PC hardware spectrum being as
extremly diverse as it is and hardware vendors not always cooperating
(like "duh, those interface specs are secret!!") it is just plainly
impossible for the kernel developers to have access to all the variants
of hardware "out there". User feedback and support is extremly important
for further development of the kernel.
Sounds like another
more well known OS manufacturer. FreeBSD generally has one release per year.
Imagine that. Code that works. No, FreeBSD is NOT bug free. But it's a
better scenario in that regard.
That is open for discussion - a long and most likley fruitless
discussion ;-)
You also say you want to expose the S/O to something
other than XP. Great.
Put Gnome or KDE on the FreeBSD machine. No worries there, works just fine.
I would beg to differ that FreeBSD is hard to install, even for a novice.
You are right - as long as one does everything right from the start.
Last time I tried, the installer was not restartable (i.e. "forget what
I told you, try again from position 0") - that is annoying.
But I will definitely ceed that the install isn't
as user friendly as Linux.
Linux is doing a great job of making the installation easy. However, the
"tough" parts of installing freebsd are very definitely things you don't
want to miss out on. You'll need to learn them eventually either way. Hummm
what other big name OS tried so hard to make things easy that they hid too
many things from the end user.
Nice try. You can, however, get an arbitrarily hard install. If you
want, you grab Gentoo - whose install CD drops you in a rootshell after
booting, assuming you know and can do what needs to be done (setting up
the root partition, LVM, logical volumes, filesystems, ... ) to get a
selfbooting running system. Oh, and it leaves you a tarball of a very
basic system containing just enough to set up the environment and start
compiling the operating system core environment.
And yes, I will admit I'm biased. I'm a
FreeBSD zealot. But not because it's
what all the other geeks are running, it's for sound technical reasons.
Then please keep to the technical reasons and cut the FUD, okay?
Regards,
Alex.
--
"Opportunity is missed by most people because it is dressed in overalls and
looks like work." -- Thomas A. Edison