FreeBSD & Linux distro

Chad Perrin 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 mailing list