Monday, October 26, 2020

What is a Linux Distribution (aka. Distro)?

New Linux users often encounter the expression "Distribution" (or distro). Let's learn what that means.
Photo by Derek Oyen on Unsplash

When getting started with Linux you'll often hear the term distribution (aka distro). But what does it means and how a Linux distro is made? First off, let's review how Wikipedia defines it:

A Linux distribution is an operating system made from a software collection that is based upon the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading one of the Linux distributions, which are available for a wide variety of systems ranging from embedded devices and personal computers to powerful supercomputers.

What's included in a Linux distribution

A Linux distribution (or distro) is composed of thousands of software packages which are usually built by the community or by the company maintaining that distribution, packaged and assembled in a live-CD (or iso) so it can be deployed somewhere (usually VMs or bare-metals).
 
Today, most distros (desktop or server) are composed of:
  • an installer: the tool you'll use to install the distro.
  • a boot loader: the tool that will initialize your system via its kernel.
  • the Linux kernel: the kernel is software that's responsible for interacting with and managing your hardware resources.
  • kernel modules: also known as drivers.  for common hardware: 
  • an init system: also known as PID 1, it's the first (and only) program executed by the kernel when loading your system. Today, systemd is the most widely used init system.
  • a daemon service: a service to manage background processes. systemd can also be used to be managed daemons (services).
  • a package management system: tooling to manage software (add/remove/search/etc). The most common package managers are Apt (Ubuntu/Debian/Mint), Yum/DNF (Fedora, CentOS, RHEL, SUSE) and pacman (Arch/Manjaro) are the most popular
  • general tools: general tools to interact with your system (ex. ls to list files, mkdir to create directories, ps to list the running processes, etc)
  • libraries: libraries (software extensions) that can be used and shared by multiple programs
  • documentation: software in Linux usually comes with its own documentation that can be consulted without access to the internet.
  • development tools (optional): depending on the vendor, development tools can be pre-installed with the system.
  • a graphical user interface (optional): if you're running a desktop install, most likely your system will be running GNOME or KDE. Servers frequently run GUI-less to reduce their attack surface.

Sustainability Model

It obviously requires money, time a lots of resources to built everything and to guarantee that everything will work on the users and companies' machines. So how do the distributions sustain themselves?

There are essentially three sustainability models for distributions today.

Community-based distributions

Community-based distributions are entities that survive off of donations and often require help from volunteers. The most popular ones these days are:

Commercially-sponsored distributions

Commercially-sponsored distributions are those distributions that receive grants from commercial companies to support the development and maintenance of those systems. Note that there's nothing wrong with this category since most of the distributions tend to run completely independently from their commercial institution. The most popular distributions today are:

Commercial/Enterprise distributions

The last category is the commercial/enterprise Linux distributions. Those are distributions that require a financial commitment from the user or organization that plans to use them. The advantage is bulletproof software and usually a dedicated support to help troubleshooting production issues. The most popular today are:

Conclusion

On this post we reviewed what's usually called a Linux distribution, also know as a distro. We also reviewed which components are included in a distribution and the most popular options on the market today. Is your favorite distribution on that list? Let us know!

See Also

Featured Article

What is a Linux Distribution (aka. Distro)?

New Linux users often encounter the expression "Distribution" (or distro). Let's learn what that means. Photo by Derek O...