1. 16
  1.  

  2. 2

    Here’s what didn’t work or was not available:

    Sublime Text

    Does linux-sublime3 not work?

    vmware; vagrant

    Bhyve

    FreeBSD performs better than Linux

    At least for desktop use, my experience was the opposite.

    Docker/kubernetes

    Though note that, if you can use only freebsd, jails are a cleaner option.

    Virtualbox

    Why would you use virtualbox when you could use qemu?

    1. 2

      Bhyve

      … and Virtualbox :)

      At least for desktop use, my experience was the opposite.

      Depends what your needs are. Linux still lacks in several places. For example:

      • FreeBSD/GhostBSD has smaller memory usage: https://youtu.be/fes9o5iI0J8
      • Linux does not support ZFS Boot Environments (Ubuntu) out of the box anywhere
      • FreeBSD/GhostBSD is a lot SIMPLER then any Linux

      … but if you compare out of the box experience for ‘typical desktop’ then yes, Linux is winner here.

      Why would you use virtualbox when you could use qemu?

      Because with QEMU will be dead slow. On Linux QEMU uses KVM backend for hardware based virtualization. On FreeBSD QEMU is just emulation. Fast virtualization on FreeBSD is either Bhyve or Virtualbox.

      1. 1

        Why would you use virtualbox when you could use qemu?

        Because with QEMU will be dead slow. On Linux QEMU uses KVM backend for hardware based virtualization. On FreeBSD QEMU is just emulation. Fast virtualization on FreeBSD is either Bhyve or Virtualbox.

        TFA suggested using vbox as a host for freebsd, presumably on top of linux. IME, vbox is alright, but rather slow and complicated compared with ‘native’ qemu,bhyve,hyperv,etc. (Have heard good things about vmware, but haven’t had a chance to try it.) (I’ve also been planning to set up xen for home use, but that might be a bit much for someone who just wants to try an OS.)


        FreeBSD/GhostBSD has smaller memory usage

        This is incredibly dependent on the specifics of init, userland, services, etc. I wouldn’t take this as indicative of anything. Memory usage of ‘base’ system (without graphical DE,apps,…) is likely to be negligible anyway, and graphical environments are not OS-specific. Beyond that, freebsd uses jemalloc by default, which does tend to perform better than ptmalloc, but it’s possible to override the system allocator with jemalloc on linux.

        Linux does not support ZFS Boot Environments (Ubuntu) out of the box anywhere

        FreeBSD/GhostBSD is a lot SIMPLER then any Linux

        To be sure! I really like freebsd, and currently boot both linux and freebsd. But I was specifically talking about performance.

        Wrt your first point, I don’t really see the point of root/boot-on-zfs. My homedir is zfs, as is all my important data, but root is just ufs or xfs. Those tend to be faster (and suck up less memory for cache), and I don’t really care about integrity for system packages that can trivially be re-downloaded.

        1. 2

          I don’t really see the point of root/boot-on-zfs. My homedir is zfs, as is all my important data, but root is just ufs or xfs. Those tend to be faster (and suck up less memory for cache), and I don’t really care about integrity for system packages that can trivially be re-downloaded.

          I also thought like that in the past (ZFS for data and something simple/fast for system) but once I realized the freedom and safety ZFS Boot Environments gives I always setup root on ZFS now.

          These two are possible with both root and /boot on ZFS with ZFS Boot Environments on FreeBSD/Illumos:

          1. Complete system rollback and snapshot.

          Upgrade went wrong? No problem, jest reboot to other created before upgrade Boot Environment. Like never happened.

          Upgrade went fine but some package has very nasty bug and package repository does not have older package to go back - same - jest reboot to BE you created before upgrade.

          2. Very easy migration of system between systems.

          Need to move ‘system’ with its packages and configuration to other server? Just send that ZFS BE over SSH to other server, change hostname/IP and reboot.

          Need to provision new laptop? Just send that BE to other laptop and reboot.

          ZFS Boot Environments are so powerful and great that I do not want to live without them anymore.

          1. 2

            ZFS also has checksumming.

          2. 1

            Wrt your first point, I don’t really see the point of root/boot-on-zfs.

            A few things:

            • If everything is on ZFS, it’s easier to administer than if only some things are on ZFS
            • UFS requires a fixed-size partition. What is the split between your home directory and other data? With ZFS, it’s entirely dynamic.
            • ZFS can do compression and there’s a lot of redundancy in system files. ZFS is actually very performant for read-mostly workloads, even with compression enabled.
            • Boot environments. If you do a major-version upgrade and find a bug in a driver that makes your system unbootable, ZFS makes it trivial to roll back (and this is integrated in the FreeBSD bootloader)
            • Snapshots before package updates.
            • Snapshots before you go and futz with configuration. If you’re disciplined and put all of /etc and /usr/local/etc in some revision control system, you don’t need this. If you’re lazy, being able to do a snapshot before you modify any config files and then discard it once you know you’re doing it right is nice.
            • Backups. The system files are easy to replace, but your configs, the specific set of packages you have installed, and so on are a bit harder. ZFS makes backing up entire filesystems trivial.
            • Block-level checksums. Really bad things can happen as a result of corruption in programs that run as root (or, worse, the kernel).