Learning FreeBSD, read Absolute FreeBSD book (2026-01-01)
I decided to start learning FreeBSD... even though I'm already running MacOS, Linux & Windows at home.
why learn FreeBSD?
A whole mix of reasons.
- I want more deterministic computing in my life. More stability, less enshittification of services.
- Keep looking wistfully at retro computing and solarpunk and offline first computing... want things more like that.
- I'm personally finding the Linux world a bit overwhelming these days. So many different ways to install software, seems like distributions are increasingly diverging from each other. Also, it seems like design priorities seem to favor interactive/desktop usage over headless/server usage. This is great for desktop usage! But it sure seems to lead to a lot of different ways to install software on a machine.
- I'm want to put my limited learning time into skills I think will last. And I think FreeBSD related skills will be relevant for a long time.
- I've heard good things about ZFS and jails and want some personal experience.
- A friend of mine has been using FreeBSD for years and has offered to help when I get stuck. :)
So... giving it a go. Should help build broader and deeper experience if nothing else.
what & how
My initial goals: use at home for self hosting needs - running web apps, file servers, hosting storage/backups, etc.
I've been enjoying technical books a lot more over the last few years, so I want to start with a good overview from a book so I don't miss fundamental stuff. Based on several recommendations, decided to read Absolute FreeBSD 3rd edition. The author recommends buying this book from no starch press directly (and has a coupon code in that FAQ).
how's that going so far?
Great!
I've just finished reading Absolute FreeBSD and have installed FreeBSD on two machines and fought with DNS (turns out modern caching DNS resolvers fail if the machine clock is too far off... because TLS (I should write a TIL about that)).
Overall it feels... both nostalgic and futuristic. Things just feel familiar already. I guess that's because so many of the abstractions I'm familiar with from other OSs are from BSD and Unix in general. So... kind of retro... but also very much now. It supports USB, NVMe, EFI, lots of modern hardware, etc. It somehow tickles my retro-computing itch while being useful for everyday work.
A few things I really like so far:
- Consistency. Once you learn a pattern it appears over and over.
- Separation of default config from local config, making it easier and safer to upgrade. And sample files (
something.confis often paired with asomething.conf.samplecontaining a default or example configuration). - Docs! Love the culture of documentation. Man pages actually seem to exist for everything... and they're useful! I'm having to retrain my myself to look at local docs before jumping to the web.
- Self contained. The system is a complete unit. Can learn from the docs... which are ...on the computer! Feels wild these days... so used to everything being online... and maybe not even on the web anymore, maybe in a transient chatroom.
- Jails and VMs built-in, ZFS feels like virtualized storage (in a good way!) on every machine.
about Absolute FreeBSD, the book
Overall Absolute FreeBSD is a gem and I highly recommend it.
- Written by a real human with real experience. It shows and is much appreciated. The author often highlights a few specific features or config options which are either widely useful or easy to miss.
- That said... the author definitely has a bit of a BOFH vibe... which will likely be fun for some folks and rub others a bit the wrong way. It's mostly kept to footnotes, so you can skip it.
- To the above note... the writing has a specific person's voice, which I appreciate these days!
- It hits a great balance between overview and details. I feel like I got a solid tour of the space, shown a few key things that would be easy to miss and have a solid base to dig into the project docs.
Absolute FreeBSD was published six years ago... in 2019. Six years is a long time in tech... but in this case it's still very relevant and useful. The fundamentals of FreeBSD don't appear to have changed much in that time. In my mind this is a very good thing. Successfully learning fundamentals from a six year old book supports the idea that I'll be able to use this knowledge for many years to come. Specifically, the book talks about FreeBSD features through version 12, and version 15 was released a month ago. I did a skim through release announcements and it looks like the main updates since 12 are:
- Many version updates of dependencies and subsystems.
- All supported architectures built with LLVM/clang instead of gcc.
- Code moved from SVN to Git.
- arm64 now Tier-1 platform.
- nfs servers can run in vnet jail (and pnfs support).
- Renamed
blacklistd-->blocklistd(yea! Reading "blacklist" in 2025 felt really jarring). - New method for updating the base system (
freebsd_update-->pkg).
So... the only part of the book that's out of date is the section on upgrading the base system. Nice!
next
Next I'm planning to iterate a bit on exsiting services I have at home (file server, backups, network config, etc) and start adding a few more self hosted things (code repos, photos, music) and try to learn more about ZFS and jails along the way.