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:

 

365

                                         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 :

 

365

                                              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.

 

365

                                       GNOME 3.32

 

365

                                    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).

 

365

                                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


Share this term: Facebook X LinkedIn WhatsApp Email

Leave a Reply

Your email address will not be published. Required fields are marked *