1. 38
  1. 7

    Good article. I’ve used FreeBSD on my servers with great success, but I recently installed NetBSD on my ThinkPad T41, because I couldn’t get FreeBSD working on it. I’ve been very impressed with it! I feel it’s a nice balance between simplicity and functionality. On OpenBSD, I was dismayed to find out that the r* commands have been completely removed.

    FreeBSD Ports sometimes shows me a text menu for configuring package options

    You can show all the configuration screens at once if you do make config-recursive. It unfortunately takes a while to load – maybe there’s a shell script somewhere waiting to be rewritten – but it’s a lot better than random configuration prompts showing up in the middle of compilation.

    the pw man page is much scarier than NetBSD’s useradd.

    I’ve never liked pw, precisely for the same reason…

    1. 4

      I’m curious, which r* commands? Like rlogin/rsh/rcp? I think it makes sense in light of OpenBSD’s security stance.

      1. 3

        Yeah, those. Useful for connecting to old software/computers on the local network. IMO removing rsh because ssh exists is like removing HTTP because HTTPS exists. I enjoy OpenBSD otherwise, but I don’t like it when people decide what’s best for me.

        1. 1

          is like removing HTTP because HTTPS exists

          We are kind of doing that with HTTP/2. The browser vendors only support it in the TLS fashion, not the plain text way.

          1. 1

            Fortunately, HTTP/2 doesn’t obsolete HTTP/1.

    2. 5

      I’m not sure how ingrained the idea that FreeBSD packages are always installed to /usr/local is - sometimes it’s nice to have other directory layouts, for example, if you want older and newer package trees to co-exist. I suppose this problem is more commonly solved using jails on FreeBSD.

      I’ve never hit this, because I install things in /opt if they’re not from ports. Most things don’t default to /usr/local, they need you to specify a prefix and installing in /opt/{the thing} is no harder there.

      That said, /usr/local is actually $LOCALBASE. You can set this in Poudriere if you want to have a different default and then all of your packages will install there.

      With FreeBSD it seems recommended to use the bsdinstall tool (this is just the normal FreeBSD installer program) to set up jails, which is quite surprising

      Most FreeBSD folks recommend iocage for managing jails. The newer runj work means that there’s also a path to OCI container support for jails.

      NetBSD includes multicast DNS support by default through a port of macOS’s mDNSResponder called mdnsd. It seems it’s available for FreeBSD but not a core part of the OS. I’m also under the impression that it’s more common to use Avahi (the Linux community’s answer to mDNSResponder) on FreeBSD, but I don’t know for certain.

      I’m curious about the mDNS aspect. mDNS by itself is a bit uninteresting, I mostly care about mDNS in combination with DNS-SD. This is why I end up suffering with Avahi: Most of the things that do DNS-SD integrate with Avahi. How do these things work with NetBSD?