Chris's Blog

Sunday, December 18, 2005

My latest pet project: FreeBSD

So I've decided to take a plunge and explore a non-MS Windows operating system. My OS of choice happened to be FreeBSD (see new logo below):



Rationale
My reasoning for playing with a new OS is simply because there is a huge amount I can learn from it. FreeBSD derives from the original Unix BSD. It's known for it's high performance especially as a server OS. I decided to try FreeBSD instead of Linux because FreeBSD, although not as popular, is more like Unix, and unlike Linux, FreeBSD is an entire operating system (Linux is only a kernel that has a huge amount of different distributions, e.g. RedHat, SuSE, Gentoo, etc). I also chose FreeBSD because it wasn't Linux (Linux zealots tend to hate anything that's related to Microsoft -- read the comments for the articles on slashdot.org if you don't believe me -- and that doesn't rub well with me :)).

Comparing FreeBSD to Linux
FreeBSD and Linux are similar in many regards. They have the same basic shell interfaces (although, FreeBSD defaults to tcsh while Linux defaults to bash). They also both run the X windowing system and thus both support desktop environments like Gnome, KDE, and (my favorite) XFCE. Additionally, FreeBSD can run nearly all Linux software natively (and it's been rumored that FreeBSD can run Linux software faster than Linux can)! I found a very good comparison article that you might find interesting here.

My Experience so far
My experience so far has been slow at first, but has been picking up rapidly as of the last few weeks. I installed FreeBSD 5.3 on the second drive of my PC last spring, and that was the first time I installed a non-windows OS ever (and there were definitely some bumps in that road). Things worked out okay, except I couldn't quite figure out how to get sound working properly. FreeBSD, by default, does not have any sound support installed in the kernel, so you have two options: 1) load the sound drivers manually (I was able to crash the OS several times doing this), or you can build a custom kernel (which I learned is the better, although more time consuming, choice).

The ugliest part of getting my system set up, however, was trying to install Java. For some reason, Java has these weird licensing restrictions which means I had to download a bunch of files manually before the FreeBSD installation process could actually install Java (some files required free registration). I then had to compile the Java source code which was a HUGE PAIN because it took FOREVER.

Summary of the good and the bad
In conclusion, let's go over some of the highs and lows of the FreeBSD experience:

Pros:
  • FreeBSD is 100% free.
  • It's not as mainstream (or sexy, as some say) but still compatible with Linux.
  • Very easy to install software, simply type pkg_add -r as root (people rave about the ports system too).
  • Solid base. BSD has been around for a long time and contains very solid code. It's also much more organized than Linux (in terms of supporters).
Cons:
  • Less user friendly. Most Linux distros will set everything up for you automatically. FreeBSD gives you a basic system and you have to configure things like X yourself (this can be a good thing if you want the learning experience, though).
  • Not as bleeding edge as Windows or Linux. Windows by far supports the most software, but FreeBSD lags behind even Linux when it comes to supported software. I believe the FreeBSD community takes longer to port software for stability reasons, but I'd still like to be able to install a non-beta version of Java 1.5...
  • More of a server OS than a desktop OS. FreeBSD definitely makes a great desktop OS, but it's assumed that you're running a server when you first install it (e.g. no sound support by default and no automatic X installation).
There's a lot more I could say about FreeBSD, but I'll save it for later. I definitely encourage you to try it out if you're bold enough (and have the free time). I mentioned a few negatives, but the reality is that I love working with FreeBSD and hope to learn a lot more about it as time goes by. I recently set up Samba and Apache, so I'll probably talk about those soon. Feel free to comment on anything I've talked about if you find it interesting, wrong, or have more to add.

1 Comments:

  • hey gillum, this is jung!
    you are one BRAINIAC!!!! =)

    i love that about u!

    jungle

    By Anonymous Anonymous, at 8:47 PM  

Post a Comment

<< Home