Bookmark this page

Chapter 1.  Introduction to Linux

Abstract

Goal

Define and explain the purpose of Linux, and Linux distributions.

Sections
  • Linux Distributions (and Guided Exercise)

  • Introduction to Linux (Quiz)

Linux Distributions

Objectives

  • Define Linux as a kernel and as an operating system.

The Linux Kernel

Although people often refer to Linux as an operating system, it is actually a kernel. In computer science, a kernel is software responsible for booting the system. The kernel loads drivers to recognize attached devices (such as a keyboard, mouse, display, and so on), and manages software processes. Linux was initially started by Linus Torvalds in 1991, then a computer science student in Finland.

Torvalds made the kernel available to everyone by using the GNU General Public License (GPL) to license the code. This licensing mode ensures that the licensed code can be used for any purpose, as long as public changes are contributed back to the project. After Torvalds announced the project to other developers on the Internet, programmers from all over the world contributed code to the Linux kernel. Among those early contributors was Red Hat, which has contributed to the development of the Linux operating system since 1993.

In 1998, Christine Peterson coined the term open source to describe code that was built collaboratively and shared freely.

Linux gained popularity among developers because all its code was available to study, modify, and share. Linux was adopted by systems administrators all over the world. The Linux kernel, combined with applications written by the Gnu's Not UNIX (GNU) project, was similar to the existing UNIX server operating system, but ran on commodity hardware.

Today, Linux is available to any user who wants to run it, and any developer who wants to build it. It is common on servers, in the cloud, on desktops and laptops, and on consumer devices such as Android, Chromebooks, and the Steam Deck.

The Purpose of a Kernel

When you power on a computer, a chip on the motherboard that is loaded with firmware searches for a hard drive that contains an application called a boot loader. A boot loader is software that loads the operating system code into memory for its execution.

After the computer locates the boot loader, the boot loader takes control over the boot process and locates the kernel. The kernel is loaded into memory, probes the hardware, and loads the appropriate drivers for the computer hardware it detects. The service manager launches and provides networking, graphics, sound, a login screen, and so on.

After the boot process is complete, the kernel continues to run in the background, but you are presented with a login prompt so that you can open an interface to the applications on the computer. On Linux, you have access to two interfaces. The Graphical User Interface (GUI) is a point-and-click interface in which data is represented by icons and visual displays. The shell, sometimes also called a terminal or a console, is a text-only prompt that allows you to type and run commands.

Many Linux users make frequent use of both interfaces. The GUI provides the familiar conventions of a desktop, such as icons for files and folders, menus, and so on. The shell is efficient, programmable, and faster than using a GUI over a network. This course teaches both.

Overview of Linux Distributions

Individuals and companies build Linux from its constituent parts and then distribute it online for others to use. When you download Linux as an operating system, you are downloading a distribution of Linux. A distribution (often called a distro for short) is a distinct build of the Linux operating system, and can be produced by anyone with the skills and need to create one.

Most distributions are built for a specific purpose. For example, Raspberry Pi is a low-powered embedded system the size of a credit card, so it runs a Linux distribution that provides only the special drivers and services required by its hardware.

There is even less software in Red Hat's Universal Base Image (UBI) because it is used as the foundation for cloud services that do not require the libraries that physical computers do. By contrast, the Fedora distribution contains drivers for the latest consumer hardware to ensure that printers, sound cards, graphic cards, webcams, and other peripherals function as expected.

The most prominent distributions of Linux tend to be those produced consistently and reliably. Some distributions are supported by businesses like Red Hat, while others are volunteer efforts. Popular Linux distributions include the following projects:

  • Red Hat Enterprise Linux (RHEL) is a popular distribution on servers and the cloud. RHEL focuses on stability and long-term support, and is developed by Red Hat.

  • CentOS is the development platform for Red Hat Enterprise Linux. CentOS is developed by Red Hat and volunteers.

  • Fedora focuses on a rapid release schedule so that it can provide the newest features. It is used as the foundation for both CentOS and RHEL. Fedora is developed by volunteers supported by Red Hat.

  • Debian is a volunteer project focused on stability and long-term support. There are many distributions derived from Debian.

Changing between Linux distributions is a little like getting a new mobile phone. The basic concepts transfer, but you might have to learn which application to use to install apps, where the button is to join a network, how to change a specific setting, or how to log out.

This course will help you become familiar with Linux technologies that are common across many Linux systems, whether you use Linux on your laptop or as a container running on an OpenShift cluster in the cloud. You will learn how to interact with the desktop, as well as the essential commands you need to work efficiently in a Linux terminal.

Identifying the Linux Distribution of a System

This course is based on Red Hat Enterprise Linux systems. Like many other distributions, Red Hat Enterprise Linux uses the GNOME desktop as its GUI. Because distributions use so many common components, it is not always obvious which distribution you are using.

You can identify the distribution of a Linux system in different ways. For example, you can view the system information from the Settings application in the GUI. This information includes memory, processor, storage, and other system properties.

To access the system information, after you log in to the system, click Activities in the top left of your desktop. Then in the search field, type Settings. Click the result, or press Enter on your keyboard. In the Settings window, scroll to the bottom of the list in the left panel and click About. You can verify the distribution name along with the operating system version in the OS Name box.

References

For more information about open source, refer to What is Open Source at https://learn.spidernet.pl/en/topics/open-source/what-is-open-source

For more information about GNU, refer to the GNU official website at https://www.gnu.org/home.en.html

Revision: rh104-9.1-3d1f2bc