xyem: Having never used any BSD, could you do a quick pro/con list from your experience of switching?
shane-o: Some pro/con reading material whilst you wait for a reply Good comparison for newcomers. ^^^
Well it took me about five trial and error installs before I came up with a scheme I though worked very well. But overall it was painless already having generic UNIX experience and good documentation on hand. My system has virtually zero disk activity when not playing movies. My browser cache is placed entirely on a painless to setup ram based temporary filesystem. My slices (partitions) are set so I can wipe everything but the base and home system and start fresh if I want. Instead of bits and pieces here and there everything has its place. Its not just a kernel with some random groups userland. It's a complete system, tightly integrated kernel + userland and the documentation to go with it. To me it just *feels* better. I feel at home on FreeBSD.
- Very liberal license.
- Easy to configure.
- Init system is dead simple.
- Ports system is unrivaled (make install clean - that's all).
- Binary packages (pre-built from the ports system) are just as easy (pkg_add -r <package name>).
- A decent package management system.
- ZFS from Sun (Hopefully Oracle doesn't f it up).
- Jails.
- Very good and extensive documentation (Something GNU/Linux lacks though not to say they don't have any, just not as good IMO).
- New install system for the upcoming 9.0 Release.
- Single DVD (or CD can't remember off the top of my head) install/live disc for the 9.0 Release.
- Partition scheme is much better IMO.
-- A "slice" is just a primary partition.
-- That "slice" can be partitioned up to seven times, one is reserved for eight total.
- Third party software is installed where it should be in /usr/local not the base /usr directory.
- VERY helpful community.
- Only FOUR main/major distributions each focusing on different goals not 1000's.
- Ability to run native Linux binaries with the Linux compatibility layer. Also Solaris binaries using the Solaris compatibility layer.
- Compiling a custom kernel (one config and two make calls compiles and installs it ready to reboot) and userland is significantly easier than Linux (IMO).
- Tuning many aspects of the kernel and drivers can be done at run-time.
- You can update the system to the "bleeding edge" if you like. Or the most recent commits to the branch you have installed.
- They don't have a regular release schedule. Usually they make a release when significant changes have been made or many things have been added. Though you can update to the current code in your installs branch at any time you want.
Their /dev/random uses the Yarrow CSPRNG for their random stream. No waiting for the system to gather entropy especially on a low/constant activity system.
I don't much care for the c shell though. I prefer mksh for general user use.
I really don't have any cons except for the default c shell.
Ah and background fsck. It greatly slows the system down but can be turned off. Thankfully the original author of UFS2 and a couple others have added journaling, which compliments the existing softupdates, to the filesystem. It won't be ready til the 9.0 Release but I think they are going to backport it to the 8.0 branch.
Hardware drivers aren't as plentiful as Linux but the hardware they do support have very robust drivers, and more being developed.
Aside from hardware compatibility it's not much different from GNU/Linux. Most commands are the same except they lack the GNU extensions (IMO a good thing though you can install their GNU counterparts if you wish). FreeBSD stems from the original AT&T UNIX (which i happen to have a copy of somewhere) and retains much of its functionality albeit with over 20 years of refinement and liberal licensed code.
FreeBSD focuses on ix86 (and 64-bit) performance, though it does run on IA-64, Alpha, Sparc (I think) and they are working on the ARM port. Branched from 4.4BSD.
- Great for server.
- Good for desktop/workstation.
- Possibly as an HTPC.
- As a NAS with ZFS.
NetBSD focuses on portability and runs on many architectures (my Amiga 1200 with a CPU card and runs X11). Branched from 4.4BSD.
- Good for what the others don't run on, or by itself really.
- Has its own pkgsrc system which is very similar to FreeBSD's ports system.
OpenBSD focuses on security by default, and portability. Branched from NetBSD.
- Great for servers, routers, firewalls, network analyzers, etc.
- Good for desktop/workstation.
DragonflyBSD focuses on distributed/SMP and cluster computing. Branched from FreeBSD.
Though they all have separate goals. They often share code between themselves.
http://www.FreeBSD.org/ -- Much information can be found here.
http://forums.freebsd.org/ - and here.
Wikipedia Comparison - Comparison of the main branches features.
Geh. Way too long of a post (I like to ramble).