Since the beginning of my days using a computer for something other than playing games I've been using a Unix based OS in some fashion. I'm mostly self taught, though I did have some help becoming comfortable with it at an enterprise level from State Farm right out of college managing their PeopleSoft servers on an AIX platform. Personally, I've always been a fan of the RedHat-like systems since they seem more server friendly. My desktop system of choice used to be SuSe. Then as I started focusing more on being productive than tinkering I realized Linux on the Desktop was a waste of my time with XP being a stable choice. Since that time, I've been a happy camper and focused mostly above the OS on things that matter to a business. I manage A LOT of Linux servers in some fashion, though all I need to do that with in terms of my desktop system is Putty or such.
Enter Systemd being forced down our throats. Honestly its not so much the technology, but instead that point about forcing it down our throats that really didn't sit well with me. I don't have a choice to turn it off and Linux is supposed to be about choice. Instead I must accept that the Linux boot process built on simple scripts has been deemed uncool and I must now do it their hip new way. Its like my Linux servers are being turned into Windows in many ways for reasons that to me are non issues on a server in the name of being more accessible on the desktop. I know, I know, I'm supposed to constantly want to learn new things and follow the trends. But I don't, at least not when what we currently have is not broken and doesn't need fixed. I've always wanted to try FreeBSD but never seemed to get around to it. Sadly one of the first things I learned is that it was a weekend I wish I had spent years ago.
The first thing that I immediately found refreshing...the simplicity of the installer. When I build a server I want bare minimal. Not groups of packages and all the dependencies that come with them. I'm impressed with the fact that I only need to put in my host name and other network info and select from a few options to install SSH, NTP, and the ports tree. About 10 minutes later I'm booted to my new install (it would have been much less if I didn't choose to read through all the options just to see what all was there).
During the install, I realized that I had totally forgot that FreeBSD supports ZFS. ZFS is a truly awesome file system. Some years ago I had the pleasure of managing Solaris for a company that I worked for. The main reason that was a pleasure was because of ZFS. So rather than the default of UFS I now have a shiny new FreeBSD installed on ZFS. I clean up some of the ZFS partitions created by the installer that I don't see a need for and move on.
So it was on to working through my list of requirements I need for my home server. For the most part I don't need anything out of the ordinary but I did expect to run into some issues with my media serving needs. To my surprise, I found everything I needed was provided as a binary package without even needing to use the ports tree. FreeBSD actually beat out Linux in this aspect, even Plex Media Server for Plexpass users is available as a package. The one and only requirement that needed to be built from the Ports tree was ffmpeg with MP3 support, though it was still a simple task.
After only a few hours, I had successfully built a FreeBSD test server to replace my primary home server running CentOS linux. The process was painless and surprisingly enjoyable.
A few aspects of FreeBSD that I think shine in comparison to the current Linux landscape would be:
Honestly, I haven't found anything where I said to myself Really, why did you do this. I feel its only fair to have one complaint and that is that Bash, out of the box, is not as friendly to those using Putty for instance. So certain keys that I was used to working on a Linux system would not work out of the box on FreeBSD after installing Bash. Easily fixed mind you with some extra configuration but this is the one issue I've had.
This took place several months ago, and I honestly haven't looked back. I have switched over both my primary and test servers running at home, my AWS instance I use for Off-site needs, as well as my local development VM running in Virtual Box. I have also been using FreeBSD for client servers whenever possible. Thank you my little BSD Daemon, you are the Unix based OS I've always wanted!