Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Oct 2007 16:26:33 +0200
From:      cpghost <cpghost@cordula.ws>
To:        "Donovan R. Palmer" <donovan@dmpnet.org>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Is it difficult to move from Linux?
Message-ID:  <20071023162633.6ff8e1ed@epia-2.farid-hajji.net>
In-Reply-To: <005501c814da$1b9cdc30$6543a8c0@DonovansLaptop>
References:  <200710221851.48278.mayank@in.niksun.com> <005501c814da$1b9cdc30$6543a8c0@DonovansLaptop>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 22 Oct 2007 19:33:57 +0100
"Donovan R. Palmer" <donovan@dmpnet.org> wrote:

> I have been using Linux for over 10 years, but have for a number of
> reasons become very interested in learning to use FreeBSD. Are there
> any ex or current Linux users here and could you tell me how hard it
> is to make the shift from Linux?  Is there anything in particular
> which has been written which would be useful to read?

Here are the highlights from a sysadmin point of view:

* FreeBSD = Kernel + Userland. All built from source /usr/src.
  You update the base system by synchronizing that source tree
  (with csup(1)), compiling it into /usr/obj and installing that
  with a couple of make(1) commands. See /usr/src/UPDATING.

* Third party apps (including Xorg etc...) are easiest
  compiled and installed via /usr/ports into /usr/local.
  There's a clear separation between FreeBSD's own Userland
  and those third party apps: that's why you have e.g.
  /usr/local/bin/bash (a port app) vs. /bin/sh (a FreeBSD
  userland app). You update your ports by synchronizing
  /usr/ports (with csup(1) or portsnap(1)) and recursively
  rebuilding out-of-date or depending ports with tools like
  portupgrade, portmaster etc... See /usr/ports/UPDATING.

* You configure FreeBSD and third party apps' daemons (which
  have startup scripts in /etc/rc.d and /usr/local/etc/rc.d
  respectively) by setting configuration variables in /etc/rc.conf.
  Default settings for FreeBSD's confvariables can be found in
  /etc/defaults/rc.conf; you just override them in /etc/rc.conf.
  The variables you need to add to /etc/rc.conf for ports are
  displayed when installing a port, but can also be found at the
  beginning of the /usr/local/etc/rc.d/* startup scripts.

* FreeBSD's compiler is currently gcc + binutils, so you'll
  immediately feel at home.

Gentoo has been largely inspired by FreeBSD and uses a similar
compile-everything-from-source approach; though gentoo is IMHO
less comfortable installing the first time and maintaining.

Just remember that FreeBSD doesn't run the Linux kernel, doesn't
use glibc etc...: it's a completely different code base. But for
95% of all third-party software, its APIs are POSIX-ish enough.

Last but not least: don't forget to ask on freebsd-questions@
and other mailing lists. Community support is excellent: that
alone would be worth switching. ;)

-cpghost.

-- 
Cordula's Web. http://www.cordula.ws/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071023162633.6ff8e1ed>