Earlier quoted context omitted.
I kept on reading because I use OSes that have different init systems, one of which is systemd. Choice is great. Of course, your comment could be accused of being a rant too.
Choice is fine, but the perception is that "the science is settled" and systemd is objectively better; therefore if you are still a systemd refusenik you're a little bit crazy and more difficult to take seriously.
Why I run FreeBSD for my home servers (2024)
201–210 of 251 posts
Re: Why I run FreeBSD for my home servers (2024)
#202I have mixed feelings about FreeBSD. Some stuff is genuinely good: major/minor release branches, the best ZFS experience you can get OOB, actual man pages, overall a lot "cleaner" than most Linux distros. OTOH when you compare it to e.g. OpenBSD (or in many instances, even Linux), it's an actual mess. The default install leaves you browsing thru the handbook to get simple things to work; it has three ( three !) disti…
> actual man pages What is wrong with Linux man pages?
How does a particular distribution handle its man pages is up to that distribution. You can browse what is generally considered to be the "standard" set of man pages online: https://man7.org/linux/man-pages/> or https://linux.die.net/man/>, but this is a third-party community effort. I've often found minor discrepancies between those resources and what I actually found installed on my system.
Debian does an absolutely amazing job: every executable in every package has to come with a man page, and if there isn't one, the maintainers will at least write a synopsis. You can also read these man pages online: https://manpages.debian.org>; you get to browse by release, section, you even get translations. Some derivatives (e.g. Ubuntu) will provide their own online browser as well.
But this is where things start to get dicey. Most distributions make heavy use of GNU coreutils, glibc, GCC, etc. Some of these (like GCC) are complex, because the problem domain is complex. On the other hand, coreutils' level of unnecessary complexity is almost byzantine; to cope with that, the GNU project mostly abandoned man pages (these mostly just contain a synopsis) in favour of an in-house "info" system https://www.gnu.org/software/texinfo/manual/info-stnd/info-s...>, which is basically TeX https://tug.org> with layers on top.
But not all distros use GNU tools nowadays; e.g. Alpine (actually pretty popular, thanks to the Docker ecosystem) uses busybox and musl libc. However for some reason Alpine not only does not provide an online man page browser, but requires installing a meta-package to add the man pages to your system. The differences between GNU and busybox+musl are non-trivial (and not unlike GNU vs BSD).
You can blame the Linux ecosystem fragmentation, and you would be correct to point out there are three popular BSDs, each with its own goals and little quirks. My final point is about the quality of the documentation. Compare coreutils chmod(1) https://linux.die.net/man/1/chmod> and OpenBSD chmod(1) https://man.openbsd.org/chmod.1>. The former is a brief, dense, and intimidating wall of text that expects you to immediately grasp what "ugoa" or "rwxXst" stand for; you will only find out that the tool manages file access permissions once you dig through the third paragraph; the text concludes by referring you to "info coreutils aqchmod invocationaq". By contrast, OpenBSD's man page has a clear introduction, then paces you through explaining the basic; goes into detail over the octal and symbolic representations (with pretty tables); warns you about a common mistake; has several examples with explanations (including equivalences between octal and symbolic forms); and concludes by referring you to the POSIX standards.
Best of it, you can expect the same high standard of quality throughout the entire base system, from user commands to device drivers and kernel internals.
Re: Why I run FreeBSD for my home servers (2024)
#203Earlier quoted context omitted.
> the split between /usr/local/etc and /etc constantly leaves you guessing where to find a particular config file; Isn't it just that /etc is the base OS and /usr/local is all packages added on top?
The base/packages split is one of the main reasons why I appreciate the BSDs (that includes macOS). However /usr/local/etc in particular violates several assumptions: - I can make /usr read-only, exclude it from backups, put it on an NFS share, or otherwise treat it as immutable during normal operation; - I can nuke /usr/local any time, fall back on the base system, and reinstall packages from there; - I can put /etc…
Re: Why I run FreeBSD for my home servers (2024)
#204Earlier quoted context omitted.
99% of my issues with systemd are that it is a kitchen sink mentality. If it just dealt with process and service management, it'd mostly be minor quibbles - it was time to replace init with something. But instead it also does NTP, DHCP/networking, logging, etc. There were some very annoying teething issues with a lot of these components. It became more difficult to isolate problems buried within the systemd stack. It…
> There were some very annoying teething issues with a lot of these components Currently, I don't have any issue at all, and I'm not aware of any either. I like how it's very reliable and integrated: the "kitchen sink mentality" can have positive effects > It didn't help that the systemd head (Lennart Poettering) was extremely intransigent with any complaints, often outright refusing to deal with various historical e…
Many people don't. When something more complex and integrated works it can seem perfectly fine. When something more complex and integrated fails, it often has more cascading effects that would otherwise be desired.
> In retrospect, given how well it all works, maybe he was right to refuse to compromise.
systemd's timesyncd is less accurate than ntpd and is terrible at dealing with drift; it is mostly only suitable for desktop timesyncing. As soon as you need to deal with synchronous timing with multiple machines, it's usually the number one problem. Even worse is that it doesn't tend to use less memory or cpu than alternatives.
systemd's DHCP client continues to be a nightmare for people using it with many ISPs or corporate networks due to the creators deciding to only handle one format of optional headers (in particular option 43, but also many others) resulting in networking issues in many situations. These issues are long-historical and can even be due to ancient endian issues. Every other DHCP client implementation deals with this - except systemd's. I have to cleanup my ec2 instances because systemd's dhcp client adds 032 instead of a space to resolv.conf's search field because we have more than one domain there.
In some cases these problems are because of long-established practices that technically violate an RFC. In others it's because they refuse to deal with more than one legit way of doing things. Either way, what is a service/process manager doing in this fight?
When you replace something that's been around for decades (init), you're going to ruffle feathers for good and bad reasons. It's had decades of maturity. But now one is going to do it for dozens of services and not appreciate or handle the nuances that come with such a responsibility? It's literally pure arrogance - hence the hate.
Re: Why I run FreeBSD for my home servers (2024)
#205Earlier quoted context omitted.
if you actually run updates regularly (which you should anyways) it's fine. I did it for years until I switched to NixOS.
yeah, this was my main annoyance with it, i don't log into my server for months at a time so i wanted something without constant updates but other than that it was fine.
Re: Why I run FreeBSD for my home servers (2024)
#206Wow OP there, I didn't think anyone would pass by my random blog and post the link here .... I'm surprised at the number of comments for a post that was originally there just to feed my blog with a first page and provide a bit of content. Especially for an article that I feel is barely finished and needs a lot of updating.
Re: Why I run FreeBSD for my home servers (2024)
#207Earlier quoted context omitted.
Choice is fine, but the perception is that "the science is settled" and systemd is objectively better; therefore if you are still a systemd refusenik you're a little bit crazy and more difficult to take seriously.
It is not sensible to base critical technical choices upon the whims of others.
Re: Why I run FreeBSD for my home servers (2024)
#208Earlier quoted context omitted.
My experience with ZFS (over 10 years ago now) was awful. Still have a bad taste in my mouth though no doubt it's much improved today.
Sounds like maybe you were holding it wrong? This is year 20 for ZFS in production. Though Linux support a decade ago with ZFS was pretty rough around the edges. That's not true anymore for many distros of Linux.
Re: Why I run FreeBSD for my home servers (2024)
#209Wow OP there, I didn't think anyone would pass by my random blog and post the link here .... I'm surprised at the number of comments for a post that was originally there just to feed my blog with a first page and provide a bit of content. Especially for an article that I feel is barely finished and needs a lot of updating.
Re: Why I run FreeBSD for my home servers (2024)
#210ZFS is probably the biggest reason for me. I have a machine with a zfs pool running samba and nfsd. Philosophically I tend to prefer *BSDs over Linux. I have a few FreeBSD machines, one OpenBSD, and one Linux.
> ZFS is probably the biggest reason for me. Maybe in the past there was an argument for that, but ever since FreeBSD started using OpenZFS implementation...what's the difference? My ideal OS would be something like NixOS, but on FreeBSD and with better language than Nix.