== Modern *BSDs have a much better init system than I was expecting For a long time, the *BSDs (FreeBSD, OpenBSD, and NetBSD) had what was essentially [[the classical BSD init system BSDInitSingleFileWeakness]], with all of its weaknesses. They made things a little bit simpler by having things like a configuration file where you could set whether standard daemons were started or not (and what arguments they got), instead of having to hand edit your _/etc/rc_, but that was about the extent of their niceness. When I started being involved with OpenBSD on our firewalls [[here http://www.cs.toronto.edu/]], that was the 'BSD init system' that I got used to (to the extent that I had anything to do with it at all). Well, guess what. While I wasn't looking, the *BSDs have introduced a much better system called _rc.d_. The _rc.d_ system is basically a lightweight version of System V init; it strips out all of the runlevels, _rcN.d_ directories, SNN and KNN symlinks, and so on to wind up with just shell scripts in _/etc/rc.d_ and some additional support stuff. As far as I can tell from some quick online research, this system originated in NetBSD [[back in 2001 or so https://www.netbsd.org/docs/guide/en/chap-rc.html]] (see the bottom). FreeBSD then adopted it in FreeBSD 5.0, released in January 2003, although they may not have pushed it widely initially (their [[Practical rc.d scripting in BSD https://www.freebsd.org/doc/en_US.ISO8859-1/articles/rc-scripting/]] has an initial copyright date of 2005). OpenBSD waited for quite a while (in the OpenBSD way), adopting it only in OpenBSD 4.9 ([[cf http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man8/rc.d.8]]), which came out in May of 2011. Of course what this really means is that I haven't looked into the state of modern *BSDs for quite a while. Specifically, I haven't looked into FreeBSD (I'm not interested in OpenBSD for anything except [[its specialist roles FreeUnixViews]]). For [[various FreeBSDCulturalBadBlood]] [[reasons FreeBSDvsLinux]] I haven't historically been interested in FreeBSD, so my vague impressions of it basically froze a long time ago. Clearly this is somewhat of a mistake and FreeBSD has moved well forward from what I naively expected. Ideally I should explore modern FreeBSD at some point. (The trick with doing this is finding something real to use FreeBSD for. It's not going to be my desktop and [[it's probably not going to be any of our regular servers ../sysadmin/OSSuccessFailHere]], although it's always possible that FreeBSD would be ideal for something and we just don't know it because we don't know FreeBSD.)