What do Linux distributions consist of?
To provide you with a convenient and functional operating system, various Linux distributions combine hundreds and thousands of programs and system components. Each distribution has its own set of components, which allows them to be both very different and very similar.
The software mentioned is developed by various, often unrelated, groups of developers. For example, the Linux kernel is created by Linus Torvalds and members of the Linux community; GNU utilities are written by the GNU project developers and the Free Software Foundation (FSF); the KDE desktop environment is developed by the KDE community; the Firefox browser is developed by Mozilla; and so on.
In this lesson, we will examine the main components that make up any Linux distribution.
Linux distribution components
Linux kernel
The heart of any operating system is its kernel. In 1991, Linus Torvalds announced the first public release of the Linux kernel. Since then, it has evolved greatly, and today thousands of volunteers (both companies and individual software developers) work on its development and support. It’s safe to say that the Linux kernel is found in almost every smart device you encounter in your life, from Android phones to the cars you drive.
The Linux kernel is responsible for connecting the device’s software and hardware, distributing system resources among various applications, initiating input/output processes, and transferring them to the central processor for execution. No operating system can function without a kernel.
Note: The Linux kernel currently contains over 20 million lines of code.
GNU utilities
GNU is a project started in the 1980s by Richard Stallman, founder of the Free Software Foundation (FSF). The project’s goal was to create a completely free operating system that would serve as an alternative to the UNIX operating system. While the GNU developers created all the necessary tools and programs, they were unable to write the kernel itself. Therefore, in 1991, Linus Torvalds created the Linux kernel and then used GNU software and utilities to create a working operating system.
The GNU project includes many different utilities: the bash command shell, the GNU Compiler Collection, the GRUB bootloader, the GTK+ framework, the gzip archiver, the Nano text editor, and other software.
One of the main projects within GNU is the GRUB bootloader:

GRUB bootloader
GRUB is the first program that loads after you press your computer’s power button. GRUB loads the operating system kernel and other components necessary for system operation. Nearly 99% of Linux distributions use the GRUB bootloader. If you have multiple operating systems installed, GRUB provides a menu that allows you to choose which system to boot (e.g., Windows or Linux ).
Note: There are other bootloaders, such as LILO and BURG, but they are not very popular.
Another important utility of the GNU project is the bash shell :

Bash shell
Most Linux systems use the bash shell by default, which provides a command-line interface that allows you to control your computer by entering commands in a terminal window. Shells can also run scripts, which are a set of commands and operations that are executed in the order specified in the script body.
Demons
Daemons are background utility programs (or processes ) whose purpose is to monitor specific OS subsystems and ensure their proper operation. For example, a printer daemon controls printing capabilities, a network daemon monitors and maintains network communications, and so on.
Note: Windows calls such processes “services”, while UNIX-like systems call them “daemons”.
The most well-known daemon is systemd, which manages all other operating system processes. It is the first process executed after the Linux kernel boots. Its job is to manage other daemons and start them as needed, either during boot or at any other time. It controls all services available in the operating system and can enable or disable them as needed.
Package manager
A package manager (or “package manager” ) is a set of software that allows you to manage the process of installing, removing, configuring, and updating various software components.
In Linux, software is packaged. If you want to install an app, library, game, or anything else, you don’t need to search for an installation file online. All you need to do is open the package management system, find, and install the applications you need.
Pay attention to the package format used. Red Hat and many other Linux distribution families use the RPM package format, which has the .rpm extension (similar to .exe in Windows). Debian Linux systems, on the other hand, use the dpkg package management system, which works with .deb packages.
Note: It is not allowed (with some exceptions) to install DEB files on Linux distributions that use RPM packages. However, you can try converting the package from.DEB to.RPM format using a utility called Alien, or search for the corresponding package in your system’s official repositories.
There are many different package managers in Linux, and they vary from distribution to distribution. For example, Ubuntu uses the apt package manager, while Fedora uses dnf, openSUSE uses zypper, and Arch Linux uses pacman.
If you want, for example, to install the Firefox browser on your system, you should run the following command:
For Ubuntu users:
sudo apt install firefox
For Fedora users:
sudo dnf install firefox
For openSUSE users:
sudo zypper install firefox
For Arch Linux users:
sudo pacman install firefox
As you can see, the commands are very similar, but the underlying package management systems they run are very different; the differences lie in how they operate, their speed, and security.
Display server
The display server (or “window interface” ) is a vital part of the operating system, responsible for displaying the graphical user interface on your screen. Icons, windows, and menus—all the graphical objects you see on your screen—are rendered by the display server. Without a display server, you’re doomed to sit in front of a black command line interface, scaling the entire screen of your monitor.
There are many different display servers available. For UNIX-like systems and Linux distributions, the most well-known is X.Org Server, released in 1987 (before the Linux kernel) and still in use today.
Note: Since X.Org Server has been around for over 30 years, it is riddled with security issues. In response, some developers, supported by companies like Red Hat and Intel, have developed a new display protocol called Wayland.
Desktop environment
A desktop environment (or “desktop environment” ) is a type of graphical user interface based on the desktop metaphor, facilitating work with the operating system through a specific set of tools, including icons, windows, panels, menus, widgets, file and display managers, and much more. The most well-known desktop environments for Linux are GNOME and KDE.

GNOME 3.32

KDE Plasma 5
Display manager
Display managers are used to display the user’s welcome screen and launch desktop sessions: they prompt you for your username and password before allowing you to log into the desktop environment. If you use GNOME, the default display manager is GDM. If you choose KDE, your default display manager will be KDM (or SDDM).

Display Manager SDDM
You can use any display manager you want. However, you cannot run more than one display manager at a time.
Custom applications
User applications are the regular apps you use every day, such as the Firefox browser, the LibreOffice office suite, the VLC media player, and so on. These apps can vary greatly from distribution to distribution.
It’s also worth noting that you can run any Linux program in any desktop environment, but programs designed for some desktop environments may display incorrectly or interfere with other processes in others. For example, if you try to run the GNOME Files file manager (formerly Nautilus ) in KDE, it will require the installation of various GNOME libraries and likely launch GNOME desktop processes in the background when you open it. However, the file manager will still be usable.
User applications (like all other packages) are downloaded from their respective repositories.
Conclusion
Linux distributions take the final step: they take all of the above software, combine it, and add their own necessary utilities to create a fully functional operating system.
Explore More IT Terms
A
B
C
D
E
F
H
K
W
- What are databases, and why do they need DBMS and SQL?
- What do Linux distributions consist of?
- What is a GPU in a computer, in simple terms?
- What is Linux? The History of Linux
- What is the OSI Model: A Complete Explanation of the Seven Layers and Their Role in Networking
- Which Linux distribution should you choose? A Linux distribution overview
