We’ll start off gently with this article, which aims to clarify a few terms. It’s not very technical, then, but it’s important to understand what we’ll be discussing in the next few articles.
Linux
If there’s one misnomer we all use, it’s saying that Linux is an operating system. When we list the most widely used operating systems, we actually talk about Linux, macOS and Windows.
In fact, Linux is an operating system kernel, a part of the system, but not the complete system. It is largely based on Unix, a proprietary operating system developed by AT&T in the late 1960s. To put it simply, one could say that an operating system is divided into two main parts:
- The kernel, which is responsible for running the hardware (the screen, the graphics card, etc.) and exposing APIs to userland. Its code is executed with the highest privileges; for example, it can access all of the memory.
- Userland, which comprises all the programmes and libraries that are not part of the kernel. Here, privileges are more restricted; for example, one programme cannot access the memory of another.
Linux is therefore a kernel, and without a userland it is of little use. To create a complete operating system, it is combined with a userland, such as GNU or BusyBox; this is why purists say they use a GNU/Linux distribution, rather than simply Linux.
A Linux distribution is, quite simply, an operating system that uses Linux. Anyone with the necessary skills can create their own distribution, including their preferred software (such as OpenRC instead of systemd, for example), so there are many distributions . Some are designed for computers, others are better suited to servers, and others still are specifically designed for connected devices, routers, etc.
Some well-known distributions are:
- Debian, Ubuntu, Linux Mint, Fedora, Void Linux, Pop!_OS, Manjaro, Arch Linux, Red Hat Enterprise Linux, which use GNU as their userland.
- Alpine Linux, OpenWRT, Android, which use BusyBox as their userland.
Some distributions are based on others; for example, Linux Mint is a fork of Ubuntu, which is a fork of Debian. Each distribution makes its own choices, for example regarding the package manager. Some distributions use apt, whilst others prefer dnf, pacman, etc.
You therefore need to choose a distribution suited to your needs (laptop, server, router), which regularly applies security patches for all third-party software included in the system, and which does not break software compatibility with every update. If PHP is unexpectedly updated from version 8.0 to 8.4, the Web applications hosted on the server could stop working.
OpenBSD
OpenBSD is much simpler than Linux; for a start, it is a full-fledged operating system, not just a kernel. This means there is no need to choose a package manager, here we use pkg. OpenBSD uses traditional init, a lightweight alternative to systemd, thereby avoiding the complexity of a centralised daemon.
BSD stands for Berkeley Software Distribution. In the late 1970s, the University of Berkeley developed BSD, an operating system derived from Unix. The short version is that BSD was forked, giving rise to several operating systems, including NetBSD and FreeBSD . These two systems were themselves forked, giving rise to OpenBSD and macOS.
Although BSDs attract less attention than Linux distributions, they are nevertheless valued for their reliability, robustness and permissive licences: Netflix uses FreeBSD on its servers, and PlayStation uses it on its games consoles.
Each BSD has its own priorities, much like Linux distributions. NetBSD makes it a point of honour to run everywhere, on all processors, even the most obscure ones. It has, in fact, been ported to a toaster . FreeBSD is primarily interested in “traditional” processors such as those found on modern computers or servers, and focuses on performance. OpenBSD has one thing in mind: security. All BSDs take security seriously, but OpenBSD is truly proactive on the subject.
OpenBSD is therefore an operating system that values simplicity,
well-written documentation, and security. It is particularly well-suited to
servers, and as it is a complete system, it is consistent throughout, particularly
in the syntax of its configuration. The system comes with a built-in firewall
(pf), a Web server (httpd) and a load balancer (relayd), and as these are part
of the system, they all utilise the security mechanisms it provides (chroot,
pledge, unveil, etc). I will go into more detail about these mechanisms in another
article.
The OpenBSD team also develops OpenSSH
, which is so essential
that it is also installed on most Linux distributions.
Curious to find out how I migrate servers? Check out my migration service .
If you’re interested in OpenBSD, I also have a blog dedicated to this operating system: openbsd-desktop.rocks