FreeBSD
15 September 2006Having looked at various hosting companies and a general dissatisfaction with Linux distributions, I decided to give BSD a try. Grabbed the FreeBSD 6.1 CD images and installed them onto a spare system. Time to wade in to the Holy War that is Linux vs. FreeBSD..
First impression is not good: When installing packages, dependencies are installed as-needed. The problem is that if a lot of packages (on CD 2) need uninstalled dependencies from the installation CD (CD 1) you end up swapping CDs. A lot. Why the installer cannot batch dependencies together so that each CD only needs to be inserted once (twice at most) is beyond me. Not a good start. A bit of headless-chicken messing around and then a proper clean run later (mostly trying out upgrade mechanisms), and I had my general impression..
Pros
- Differentiation between core programs and applications. Debian has a simular policy of backporting only security fixes to its stable branch (being conservative on core components is good for stability and security), but unfortunatly extends the policy to all packages. All other Linux distributions i've tried don't backport at all.
- A fairly decent binary package download/install tool. Fedora Core's Yum has issues,
- An elegant approach to source packages. RedHat's and Debian's way of reconstructing the binary packages for later installation seems rather baroque. Slackware goes for the simple solution of near-default compilation of original tarballs
- Official support lasts a decent length of time (although Fedora Legacy tries to fill the gaps, Fedora Core's official support timeframes are very short).
- Doesn't use SysV init scripts - these are a pain to manually setup and maintain by hand over an SSH connection.
Cons
- CD switching during installation (see introduction above)
- If your hardware is not supported in a release version you are basically stuffed. With Linux (at least if the problem hardware is not a storage controller) you can download just the latest kernel and compile that, whereas with FreeBSD using the latest kernel also means using a development branch set of userland programs (well you could backport the driver code you need, but most people aren't kernel hackers).
- Compile any part of the core OS (kernel or userland) and you have to compile the whole lot. Consider that the first system i installed FreeBSD on was a Dual P2-233 with a brand-new gigabit Ethernet card, and you can see how things get painful.
For fairness, a few days later I tried OpenBSD and NetBSD. Neither detected my SATA drive.