Re: Ahhh SystemD
In my honest experience, keeping Linux systems running smoothly is generally a pain—or maybe I just suck at it.
Incompetence aside, I highly recommend FreeBSD for sysadmin use, and TrueOS for enduser workstations. Wanna know how easy it is to update your system from the terminal?
#freebsd-update fetch install
#portsnap auto
rebuild any customized ports with `make install':
#cd /usr/ports/x11-toolkits/gtk3+
#make install
...
upgrade binary packages:
#pkg upgrade -y
...
Boom you are done. TrueOS has an autoupdater that basically does this for you.
AND, if you compile your packages and put them on a central repo on your local network, on the workstations you can completely skip portsnap and manual builds. Just add the repos to your pkg config and add a cron job to autoupdate. While manual upgrades are advised, I haven't had any major breakages when upgrading packages. Just peek at /usr/ports/UPDATING every once in a while to make sure any ports you use don't have any weird issues.
Unlike apt and derivatives, pkg_ng (FreeBSD ports binary package management) in my experience is often free from the cyclic, broken, and incorrect dependencies that tends comes with—again , in my experience. Not hating on apt or those that like it, but I have never not had a problem with apt, yum, etc. on any Linux system I have ever used, no lie. Even NetBSD's pkgsrc is admittedly lacking in some areas. FreeBSD has in my opinion the best package management in the industry. It is dead simple and even in my years of mildly advanced usage I have not had a single problem that was nontrivial to fix, in addition to it being easy to administrate.
However, caveat emptor:
Hardware support on BSD is lacking; you can't buy some off-the-shelf i7 laptop from Best Buy and expect BSDs to work on it—it's possible but unlikely. While some people have been working on porting Wayland, you are generally stuck with Xorg. Video drivers are often outdated or just garbage to begin with. Some things like Bluetooth are shoddy (NetBSD's Bluetooth stack is better IMO). Packages, while plentiful, are updated by the community, and nowadays especially some may not be getting the updates they need—updates that may require code patches to get the new upstream code to compile and run. SysV-style init, only partially async; some may consider this a plus. Kernel, while straightforward, does have some eccentricies and is missing features Linux has had for years.
Some upsides, though: Built-in email framework (ships with Sendmail, EW! but Postfix is a simple two-command install to get it replaced), built-in audio subsystem compatible with OSS and thusly alsa and pulseaudio through OSS compatibility sources, built-in hypervisor `bhyve' with HVM and HDAudio support (run Windows etc.), built-in kernel-mode Linux emulation layer that lets you run unmodified Linux binaries (it's kinda old and crufty though), all configs are easy to read and plaintext, absolutely amazing docs and manpages, a clean and easy to grasp system structure, and an active community willing to help with whatever you need. Additionally TrueOS is incredibly simple to administrate since it's just a graphical distribution of FreeBSD.
There's a lot you will lose by switching that modern Linux distros take for granted, but in return you will find raw sinplicity, the Unix philosophy, and a license allowing you to do almost whatever you want with the codebase. The BSDs also share a lot of common utilities with some popular GNU/Linux distros, like wpa_supplicant, dhcpcd, etc.