FreeBSD & Linux distro
perrin at apotheon.com
Tue Feb 19 16:14:05 UTC 2008
On Tue, Feb 19, 2008 at 05:14:45AM -0800, Lone Wolf wrote:
> But according to Wikipedia, FreeBSD is able to run Linux compatible software without any problems (exception for Linux Kernel 2.6)
> I can't run Linux software on FreeBSD?
"Linux" is technically the name of an OS kernel. FreeBSD has a different
kernel -- the FreeBSD kernel.
Various Linux distributions include different lineups of default basic
userland software and OS infrastructure, but they tend to have a lot of
the core stuff in common (in particular the GNU toolset). FreeBSD shares
a few tools in common with most Linux systems (GCC, for instance), but
many of the basic userland and other core system tools are developed in
tandem with the FreeBSD kernel, and are specific to FreeBSD.
Both Linux distributions and FreeBSD aspire (to varying degrees and in
different ways) to a generalized Unix system design. FreeBSD is very
much a descendant of the BSD Unix design (obviously) while Linux
distributions tend more toward the SysV family of Unix. Because there is
sort of a common Platonic ideal of Unix, however, they do tend to share a
lot in common. Also, because Linux systems are not strictly descended
from either the BSD Unix family or the SysV Unix family of operating
systems, it differs from both approaches, and borrows a bit from both.
It borrows a lot of code from the various BSD Unix systems, too, since
three of the four major modern branches of BSD Unix are released under
the BSD license.
In my experience:
FreeBSD tends to be more stable than Linux distributions. I'm sure
some of this is attributable to the fact that the core OS is all
developed as part of a greater whole, with exceptions for only a few of
the core tools (like GCC). If those tools could be replaced with
FreeBSD specific equivalents, or at least non-GNU equivalents, this
might even improve further over Linux distributions, which are put
together from collections of available software developed with no
significant cooperation (other than the GNU toolset itself, whose
development isn't even coordinated with Linux kernel development).
FreeBSD tends to be easier to work with "under the hood" than Linux
distributions. This is in large part due to the more unified design
process of FreeBSD, but also seems to be a result of some other forces
at work, since there are characteristics of FreeBSD system
configuration and design that do not seem related to the fact it's more
of a coordinated effort, but still contribute to greater ease of use.
Most Linux distributions default to bash as the shell, while FreeBSD's
default is (t)csh. This is a difference that occasionally catches new
immigrants to FreeBSD from the Linux world off-guard. It's not a bad
thing, though. For one thing, as far as I'm aware there are fewer
dependencies for tcsh than for bash, so it's less likely to break if
some underlying piece of software gets a bad update.
Linux distributions, because they're basically just a kernel and a
bunch of disparate pieces of software collected into a running whole,
tend to include everything outside the kernel in a single software
management system. FreeBSD differentiates between a "core" or "base"
system and the ports system, which is the general software management
system equivalent to the software management systems of Linux
distributions. Because of this, your choice of software management
system isn't so much a part of the identity of the OS you are using
with FreeBSD, whereas with a Linux-based OS (aka "distribution"), your
OS is differentiated from others of the same family by default install
configuration, distribution project management of software archives,
and the software management system.
The FreeBSD community tends to be more knowledgeable and professional,
and less crazy in its approach to OS advocacy, than the communities for
most Linux distributions.
FreeBSD documentation is some of the best OS documentation in the
world. One of the reasons I made the switch is that I noticed I was
actually using official FreeBSD documentation for working with my
Linux-based systems as often as I was using the official documentation
that came with, or from, my Linux distribution. The distro-specific
documentation wasn't as good as the FreeBSD-specific documentation, and
the distro-agnostic Linux-based system documentation wasn't as coherent
as similar FreeBSD documentation -- even though the distro-agnostic
documentation and FreeBSD's equivalent OS-nonspecific documentation was
almost identical in terms of the sort of software it covered. Once in
a while I miss the slightly greater manpage coverage of Debian, but for
the most part FreeBSD's documentation wins without breaking a sweat.
The single most stable software management system in the Linux world
that I've ever used was Debian's APT. It's slightly less stable than
the FreeBSD ports system, and the software tends to be a step behind
FreeBSD's in terms of version numbers available, too.
Hopefully that helps. It's probably more than you wanted to read.
CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ]
Rudy Giuliani: "You have free speech so I can be heard."
More information about the freebsd-questions