Skip to main content

Choosing an OS

When considering Linux distributions, they can generally be categorized into two main sections: Debian-based distributions and RPM-based distributions. While they all share the Linux kernel at their core, differences arise in areas such as kernel modules and package management systems.

For server applications, it's essential to choose a distribution that offers long-term support. For instance, Red Hat Enterprise Linux (RHEL) boasts a life cycle spanning over 11 years for each version. Fortunately, there are also freely available Linux distributions well-suited for server deployments, including Debian and Ubuntu LTS.

Below are some popular choices for server distributions:

Debian-based:

  • Ubuntu Server LTS
  • Debian

RPM-based:

  • Red Hat Enterprise Linux (often abbreviated as RHEL)
  • CentOS (now discontinued, with community replacements like Rocky Linux and Alma Linux)
  • openSUSE

Specialized and Testing Distributions:

Apart from server deployments, Linux also offers distributions tailored for specific tasks, such as security testing, penetration testing, and experimental use cases. These distributions provide tools and environments optimized for their intended purposes, making them invaluable for professionals and enthusiasts alike.

Kali Linux:

Kali Linux is a Debian-derived distribution designed for digital forensics and penetration testing. It comes pre-installed with numerous tools for security testing, such as penetration testing, network analysis, and vulnerability assessment. Kali Linux is widely used by cybersecurity professionals and ethical hackers for assessing system security and conducting security audits.

Arch Linux:

Arch Linux is a lightweight and highly customizable distribution known for its simplicity and flexibility. Unlike many other distributions, Arch Linux follows a rolling release model, providing the latest software updates continuously. Arch Linux appeals to users who prefer a DIY approach to system configuration and enjoy building their Linux environment from the ground up. While not specifically designed for testing or security purposes, Arch Linux's minimalistic nature and extensive package repositories make it suitable for experimentation and customization.

NixOS:

NixOS is a unique Linux distribution distinguished by its purely functional package management system called Nix. Instead of relying on traditional package managers like apt or yum, NixOS uses a declarative configuration model, enabling atomic upgrades and rollbacks of the entire system. This approach ensures system reliability and reproducibility, making NixOS an excellent choice for development, testing, and production environments where consistency and predictability are paramount. Additionally, NixOS offers powerful tools for managing system configurations, enabling users to define and deploy complex setups with ease.

These specialized distributions cater to specific user needs, whether it's security testing, system customization, or innovative package management approaches. By choosing the right distribution for the task at hand, users can maximize productivity and achieve their objectives more effectively. In this book, the focus will be on installing and configuring a Debian-based server distribution.