4 ms·
I'm not a developer of either OS, but I use both. Pro FreeBSD: - ZFS, the best file system. Its fully integrated into the OS so it always works and its always
by craftkiller 6y ago
I'm not a developer of either OS, but I use both.
Pro FreeBSD:
- ZFS, the best file system. Its fully integrated into the OS so it always works and its always there. I've always run into issues using ZFS on linux like cache not getting freed causing processes to get killed when I should have had ram available.
- VNET Jails. I can give each light container (FreeBSD would be jails, Linux would be docker/lxd/nspawn...) its own networking stack so it can bring its own network interface up and down, assign its IP address, get an address from my router over DHCP like any other computer, and run its own firewall. The firewall bit is particularly helpful for running brute force protection like fail2ban/sshguard/blacklistd.
- Additionally, I can delegate a ZFS dataset to a jail and let the jail manage it itself. This lets the jail create sub-datasets with control settings like transparent compression.
- After using pf (its a firewall) on FreeBSD, using iptables on Linux makes me want to walk into the ocean.
- Its really trivial to build everything from source on FreeBSD. The base system comes with everything you need to build the operating system so rebuilding FreeBSD and installing your new build is just a couple of make commands away. For packages, FreeBSD has a tool call poudriere which is the best package builder I've ever used. I use that to compile packages with custom options and CPU optimizations enabled for the specific processor in each of my machines for multiple versions of FreeBSD. It also makes debugging and modifying FreeBSD a breeze. For example, at my previous company we had 802.1x authentication for our ethernet, but I wanted to run a container directly connecting to the network so I had it behind a bridge. Turns out in the 802.1d spec it specifies that the ethernet frames used for 802.1x authentication should not be passed over a bridge, so I found the part of the code that did that filtering, commented it out, rebuilt FreeBSD, and everything started working!
- Bragging rights
Pros for Linux:
- The Arch Linux wiki is really top-notch. The FreeBSD man pages are better than the man pages on Linux but I much prefer the Arch Linux wiki over the FreeBSD handbook.
- You get a lot of features from systemd that aren't in widespread use in FreeBSD. For example, you trivially get process monitoring/restarting and stdout/stderr capture for every service. You can get the same functionality with a built-in tool called "daemon" in FreeBSD but its up to each service to call daemon as opposed to being built into the init system so its a lot less common. Essentially, I have to write custom service files a lot more often on FreeBSD.
- systemd user services
- steam
- JdeBP 6y agoFor what it's worth, one can take systemd services and convert them into service bundles that run under a service manager on FreeBSD. Or use one of several hundred service bundles that have been done for you for various softwares. There is also a per-user service manager. * http://jdebp.uk./Softwares/nosh/ http://jdebp.uk./Softwares/nosh/ * http://jdebp.uk./Softwares/nosh/worked-example.html http://jdebp.uk./Softwares/nosh/worked-example.html * http://jdebp.uk./Softwares/nosh/guide/converting-systemd-units.html http://jdebp.uk./Softwares/nosh/guide/converting-systemd-uni... * http://jdebp.uk./Softwares/nosh/guide/per-user-user-services.html http://jdebp.uk./Softwares/nosh/guide/per-user-user-services...