Forum Moderators: bakedjake
So what IS the difference? What are the pros and cons of each? Choose your battleground: server or desktop. Let's not start a holy war, just the facts...
You will need a Byte Mag login to see it 'tho
Bob
Integrated userland and kernel.
libc is libc, and has compat libs for previous branches (1.x, 2.x, 3.x), so those binaries you build for 2.x or 1.x Just Work (tm), no having to hunt down different glibc versions to get native binaries to work, just install off your CD.
Linux compatibility through the Linux ABI. Some linux binaries even run faster.
The Ports tree: cd /usr/ports/databases/mysql323-server; make install
Almost everything is just that easy to install.
UFS2 with softupdates. No need to worry about your data after a crash. Support for large filesystems (2TB)
FreeBSD 5.x branch pros:
(may include features that aren't 100% stable, or will not be stable until the FreeBSD-6 branch.)
Tier-1 architectures: x86, sparc64, alpha.
Improved SMP including 1:1 and M:N threading, improved scheduler with processor affinity, KSE, etc, etc.
UFS2 with softupdates and bg_fsck. No waiting to boot because your FS will get checked in the background while the system is live.
NSS support, including LDAP.
ACL and MAC framework for fine-grained user/resource control.
GDBE encrypted disk subsystems, supports encrypted swap, FS, etc.
ACPI, DEVFS, Bluetooth,
If you back out expect to get spammed.
I sure hope nobody actually uses 'noneof@your.biz'. If so, I sincerely appologize for all the spam you must get from people I didn't want to give a real address...
I have to agree with Littleman about Debian stable for servers. It's what I run, and I can't think of much that would convince me to do otherwise. I've used FreeBSD in the past, and liked it well enough. However, the last couple times I've tried to install it, I've discovered that it didn't support the ethernet card in whichever machine I wanted to put it on. (SMC EtherEZ and an Eiger Labs PCMCIA thing.) I'd probably take FreeBSD over a non-Debian-based linux distro just for Ports, though, as long as I was using hardware it supported.
For all that I hear about "dependency hell" on Linux, only the fact that I've used distros w/o dpkg or apt-get in the past gives me the slightest idea what people are talking about. I always just have the right libraries for whatever I install, by default. Ports has never given me any problems in that regard, either. If I'm not mistaken they automatically install whatever they depend on, too.
Softupdates and journaling filesystems are available for Linux as well. I believe softupdates go by the name of 'tux2'?
what gets considered a 'tier 1' arch varries more by distro than by kernel, but I know Debian requires packages to compile on more than just three arches to get released.
Linux (now) has good SMP support, though I don't know for sure how it stacks up against FreeBSD in that department. I've never had an SMP box where I got a choice of OS to inspire research ;(
Background fsck sounds very nice. Doesn't seem to be so much of an issue with EXT3, though.
There seems to be an nss_ldap PAM module.
Linux has ACLs available in many filesystems. I happen to have them turned off because they are more complexity than my systems need, but they are available. I'm not managing at the moment to expand the acronym MAC to anything that isn't about ethernet...
There aren't any solutions I'm happy with for encrypted filesystems or swap on Linux. One of these days I'll take the code from my senior project back out and finish correcting that. No, really, I swear... I've heard people talking about encrypted swap on LKML recently, so maybe that will really happen. After all, many of the people on that list actually do stuff, rather than just thinking about it and then going back to their game of Nethack.
ACPI, DevFS, and Bluetooth are all available in Linux 2.4.x
----
Overall, my primary reason for choosing Linux is usually that there is no feature I need missing, and owing to my greater familliarity with Linux I can set up whatever I need as fast or faster using Linux than BSD. This goes back to a random choice of which to install on my machine back before Linux was cool, when a CD of Debian was going to cost me about $2, or a FreeBSD CD from Walnut Creek would cost $30. I was a college student, so I took the cheap one. Most of the time, the difference isn't enough to justify the extra time it'd take me remembering what they call 'eth0' under FreeBSD ;)
(I'm not sure, you may be able to encrypt *any* filesystem the kernel supports.)
MAC is Mandatory Access Controls (part of POSIX.1E)
FreeBSD names its ethernet interfaces by driver, for example, Intel 8255x chips use the fxp driver, and 3com cards use the xl driver.
If you're familiar with Linux, and need a box up quick, there's no reason to switch. But if you start maxing your system out, you may want to take a look at FreeBSD. Ask Yahoo, or anybody who serves porn OS ther run. :)
(Hint: look at Netcraft's uptimes list [uptime.netcraft.com] and check out how many BSD-based boxes are there. A buddy runs a FreeBSD server with an uptime of over 1200 days that has a 15-minute average load of 3.)
Why though?Nick
Well, I just like when things work.
Here is an example from one of my recent projects.
We used an old desktop (like 20G ide drive, 1 celeron, 120M RAM) to test-run a new system.
It ran Apache, Resin, PostgreSQL and some other stuff under FreeBSD. After being raped every day for 3 months, what was the uptime for that box? 3 months. No reboots, no problems.
That was the default installation with increased shared memory limits (for postgresql). The box is still there runs some perl scripts. No problems at all. And that's the worst piece of hardware you can find :)
After that, we moved the software onto the production box with a 6-drive scsi raid and 4 cpus (a nice netfinity box). And installed tomcat and postgresql under rh 9 (big mistake).
Well, every time I try to copy something large off the cd drive, the box stalls. When I try to tar more than a few thousand files together, the box stalls.
I had to power-boot it about 9 times just while installing and configuring the software, and there were two reboots in the first two weeks of production use.
Why? Cause some jack-ass thought it would be cool to include some "advanced" SMP features without actually testing them. And some other jack-ass, took his word for it and included those features into the distro.
That's how the linux world works. If you ENJOY spending your time tweking the box just to make it stable and fast, then you'll love linux. If you just want it to work, then use bsd and spend your time on other things.
I don't like tweaking my car every day, I just want to drive it and not worry about it. That's why I don't use linux whenever I can avoid it.
But, the biggest argument against using linux is slashdot.
Read some posts over there - that's what will happen to your mentality if you get sucked into it :)