Beyond Linux – FreeBSD Part 1

My drift towards the very origins of Unix was certain to bring me to the Berkeley Software Distribution (BSD) at some point. Linux was built on Unix principles, but it isn’t Unix in the genetic sense. On the other hand, as rightfully stated on Wikipedia, BSD is Unix, but can only call itself Unix-like due to licensing of the original AT&T UNIX operating system (notice the upper case). Regardless, I decided to make the plunge and embrace the true Unix ecosystem.

Much like there are multiple Linux distributions, BSD also has its derivatives – FreeBSD, PC-BSD, GhostBSD, OpenBSD, NetBSD, DragonflyBSD, etc. The major difference between Linux and BSD is the organization of the OS. Linux is just the kernel with loosely attached userland (apps), defined by individual distributions. BSD is a complete operating system (kernel + core userland to cover basic functionalities). On the FreeBSD website this comparison is nicely outlined as order (BSD) vs chaos (Linux). I myself prefer order!

The other major distinction is package management, however some Linux distributions follow the BSD-like package management concept closely (Gentoo, Void Linux, CRUX, Slackware, etc.) as BSD operating systems were their source of inspiration. Since the basic functionalities are covered by the OS, the user has full control over installed software. On FreeBSD apps can be either compiled from source using the now almost legendary ports collection with flexible YES/NO options (additional features, removal of redundant features, etc.) or installed as binaries, much like it is done on most Linux distributions. Due to the simplicity of configuration files for individual packages, binaries and apps built from source can be handled together by the package manager, pkg. Quite astonishingly, combining the two installation methods does not cause any breakage, though sometimes packages need to be reinstalled to match the sane defaults in binaries provided by pkg.

The main source of information on FreeBSD is the famous FreeBSD Handbook. Perhaps only the Arch Linux and Gentoo wikis can somewhat compare to the completeness of the Handbook, which easily covers >90% of FreeBSD knowledge. I think this is important, because sometimes one might lose internet connection or even worse and having the Handbook directly accessible on the drive is a life-saver!

One last important thing to remember is that while both Linux and FreeBSD are Unix-like operating systems, FreeBSD is NOT Linux. That sounds absurdly obvious, but it means that many terminal commands native to Linux may not work on FreeBSD. BSDs require a different, more organized mindset and the knowledge of their quirks. However, since FreeBSD uses a lot of GNU components, one can expect all of the major desktop environments and apps to be readily available through pkg or the ports collection. After all, the repositories contain over 24000 packages, easily outshining smaller Linux projects.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s