Bye Bye Linux welcome BSD
Finally took the jump. I went from multiple years of running Debian Linux to BSD, FreeBSD 13 for my Desktop since about a month and just recently OpenBSD 7.0 on my OVH VPS. I still do run a Debian 11 VM in bhyve, but will get to that later.
Even though Linux has been my daily driver at work in the last 20 years and in my spare time when I was not using Windows only software (read games), the last couple of years have left some dents in my feelings toward Linux. More than before I found the system to become more obscure, changes at times seemed to be changes for the sake of changing. As many others I saw the arrival of systemd, I do see some of it’s advantages like the handeling of services with the simpler unit files, what troubles me is the scope creep of systemd. Maybe I’m more attached to the old Unix ways like “Make each program do one thing well”. Systemd has given me headaches in the past while trying to resolve issues. Also network management (netowrk Manager, networkd) has become overly complicated from the command line in my opinion. Documentation isn’t always clear or coeherent. There’s for sure tons of info on the internet but not always accurate or applicable on your system, mostly because you don’t always find the info for your issue and distribution, while you might get some indications it does not always lead to a solution.
In the past I have dabbled with both FreeBSD and OpenBSD on spare hardware but never took the leap. FreeBSD atracted me for its speed, OpenBSD for the attention to security. About a month ago I decided to start a period of more serious usage of BSD in my spare time. For the desktop I went for FreeBSD as I have a Nvidia GPU in the desktop. The VPS had been reprovisioned with debian 10 after the OVH fire but I never took the time to set it up again so it been sitting there unused, until recently when I installed OpenBSD 7.0 on it.
So after a month of FreeBSD on the destop I must say I don’t miss anything major, I have my music and movies and sporadic docker use. In my spare time I do play around with golang which is available , as editor I use emacs, these are all working fine out of the box. The FreeBSD handbook gave me answers to almost any question when I started out. For documentation of the tools I used almost anything was in the man pages, others had info layed out perfectly clear in their websites.
Did it all went smoothly from the start?
Well no, there were things that just did not work but I was aware of that and decided these were no blockers. These were Docker, Spotify and Netflix, they all need Linux in order to work, Docker for the Kernel, Spotify & Netflix for the DRM. But I have these working now also on FreeBSD.
For Spotify & Netflix I use chrome in a linux chroot. The setup was straight forward with this awsome script
As for Docker I installed a Debian VM in bhyve, have my FreeBSD home directory exported via NFS and mounted in the VM (aligned the UID of my user on both), installed the docker-cli from the package system and set the DOCKER_HOST to point to the VM via SSH. So I can do anyhting with docker from FreeBSD, the only change is that any exposed container port is not by default on localhost but on the private IP of the VM. Nothing that stops a small entry in hostfile or DNS can’t solve.
Given all this I decided there’s no reason to ever go back.