timppu: At work, I prefer using Red Hat family distros like
CentOS,
RHEL and
Oracle Linux. I dunno, they just seem cleaner and more straightforward to use for professional work
Interesting, I have a completely different experience. Our customer uses RHEL and we need to support it; I sometimes work with CentOS because I'm tired of the RHEL license bullshit and the fact that nothing works OOTB or without EPEL. These are still some of the clumsiest distros to use and manage day to day, things are often so outdated that anything that works just fine on Ubuntu, Arch, Fedora, Alpine, Debian, etc. is not nearly as likely to work on RHEL. I see this quite often since I use Ubuntu for development and Alpine, Debian and some other containers for automation & testing.. so all works great until I run the final batch of tests on RHEL :(
Doesn't help that Red Hat wants to silo knowledge on their shite where you need to log in to see answers. Seriously fuck that.
How to add sudo privileges to a user:
- In CentOS 6.x (and I think Ubuntu etc.), you add that user to the "sudo" user group.
- In CentOS 7.x, there is no "sudo" group, but you add it to the "wheel" group instead. Ummm ok...
Configuring NTP:
- In Ubuntu 18.04, by default ntpd is not used, but something called timesyncd instead. Ok, have to remember that (wasted 30 minutes wondering why the heck ntpd was not enabled by default, when I wanted to configure which NTP servers to use)
Adding a static IP address:
- In CentOS etc., you edit /etc/sysconfig/network-scripts/ifcfg-ethX
- In Ubuntu 16.04, you edit /network/interfaces
- In Ubuntu 18.04, you edit the .yaml files under /etc/netplan/ instead
And then the difference between service and systemctl commands... Of course none of this really matters much if you are using only one Linux distro, but as said, finding information for your Linux distro is easier for the more popular distros I guess.
This is a good example for what I mean by churn, which OpenBSD has far less of. Three billion Linux distros, all with their own ways to do and configure things, are also constantly reinventing and changing the way things work. Information gets outdated, documentation gets outdated, and you get bitten in the ass all the time because things changed and you didn't notice.
In OpenBSD, things don't change nearly as much. And even when they do, such as when they completely rewrite and replace some system tool, they usually try to preserve the old user experience so the same commands, configuration files, etc. will just work most of the time. They find ways to implement new stuff and improve the system without constantly moving things around and reinventing configuration file formats, system management tools, etcetra. And when things really have to change, that's almost always documented in the upgrade guide, which tends to be a short document anyway.
As a concrete example, services used to be started by a very simple set of rc scripts. You could add a bunch of commands that run at bootup in rc.local; you could enable built in system services by setting flags in rc.conf.local. This was the only supported way to manage services. Someone wanted something fancier; in Linux world, this would've meant that the whole goddamn init system gets replaced by something else entirely (sometimes with a poor compatibility/emulation layer so it looks like you have two systems acting together in a ugly spaghetti mess), and you must figure out the new tool to keep using your new system. Instead, OpenBSD added a new tool, rcctl, using which you can enable, disable, list, start, stop, and reconfigure services. It doesn't replace the old rc scripts however, so all that worked before still works. If the old rc subsystem was sufficient, well, it still is.
EDIT: Upgrade guide to the version that introduced rcctl. Notice how "rc.conf.local is no longer a shell script" is the only rcctl related change that the user may be required to take action for. In practice, most users needn't do anything, because the typical configuration was a bunch of variables one per line anyway.
http://www.openbsd.org/faq/upgrade57.html