Linux and Open Source Projects
System administration is a job that requires the right tools to achieve the required process optimization. To administrate GNU/Linux-based systems, you must have a workstation that facilitates this aforementioned optimization. A Linux workstation provides many advantages in this regard. In my experience, Fedora Linux, a community-developed distribution sponsored by Red Hat, has a recommended set of tools for Linux-based system administration.
Before learning how to configure a workstation for system administration, we’ll review the history of this operating system so that we have a better context and, above all, know how we can help develop the distribution so that we can improve it.
In this chapter, we will learn a little more about the following:
- A brief history of Linux
- Understanding Linux distributions
- The Fedora Project
- The command-line interface
- Desktop environments
A brief history of Linux
Before getting into the subject, I would like to provide a little background on the history of the operating system. As we know, the history of personal computing is somewhat short – only about 50 years, and, speaking of GNU/Linux in particular, a little less than that.
It was dark times at the end of the 1960s when Ken Thompson wrote the first version of Unix on a PDP-7 minicomputer based on Multics, composed of a kernel, a shell, an editor, and an assembler.
In 1970, the development of the operating system continued at AT&T Bell Labs. Now on a PDP-11 machine, Brian Kernighan suggested the name Uniplexed Information & Computing Service (UNICS). However, the BCPL and B languages that were used presented several implementation problems on the new platform. In 1972, Denis Ritchie, using both languages, developed a new high-level language, now known as the C language, adding data typing and other powerful functions. With that, the Unix system...
Understanding Linux distributions
The GNU Project experienced some problems implementing the kernel it had officially developed. Known as Hurd, this kernel is a collection of protocols that formalizes how different components should interact with each other (https://www.gnu.org/software/hurd/index.html). The tools worked well but did not have the right cohesion to integrate with the operating system. When Linus Torvalds released the Linux kernel, many enthusiastic developers ported the GNU code, including the compiler to run on it. These efforts filled in the remaining gaps to get a completely free operating system.
In 1992, Linux and the GNU Project joined forces (http://laurel.datsi.fi.upm.es/~ssoo/IG/download/timeline.html), and Richard Stallman urged to call it GNU/Linux since many of its tools were integrated from the GNU project. This led to the creation of new projects that integrated these GNU tools and the Linux kernel into what we know today as Linux distributions.
...The Fedora Project
Red Hat Linux was released every 6 months and was even available at Best Buy. After several releases, it began to have large enterprise customers, partly thanks to the monopoly lawsuit suffered by Microsoft around 2000, but it did not have a defined support cycle to meet these customers’ needs. The company realized that they were trying to develop their product on two different fronts – on the one hand, looking for the stability required by the industry, while on the other hand, looking for innovation using the latest open source developments.
Thus, they opted to split their efforts into two fundamentally separate entities – Red Hat Enterprise Linux (RHEL) and the Fedora Project – each of which addressed its own problems as best it could.
For RHEL, the job was to make it a solid, stable platform that its customers and partners could count on for 5 to 7-year support cycles. Red Hat first offered an enterprise Linux support subscription...
The command-line interface
As the development of graphical user interfaces progressed, the use of the command line was often discarded. However, it is the main tool for operating system administration in general, whether it’s for system administrators or Advanced and Power users. Apart from Linux-based systems, the CLI is also used on Windows or Mac systems. The use of the command line extends system management and administration capabilities.
Achieving the fluency necessary for maximum efficiency requires practice at every opportunity. Using Linux as a workstation allows us to practice this skill so that we can improve our productivity and efficiency when performing daily tasks.
The default command-line interpreter (shell) in Fedora Linux is Bourne Again Shell (Bash) and can be accessed through different Terminal emulators available with the distribution:
Desktop environments
Fedora’s default desktop environment is GNOME, but it provides us with the alternative of using other desktop environments, either lightweight ones or those with special features, such as those that use different graphic engines and specialized libraries or are focused on performance. These alternatives are offered by the Fedora Project as Spin distributions. You can download a Spin with a preconfigured desktop environment based on Fedora:
Note
For more information about alternative desktops for Fedora, refer to Fedora Spins at https://spins.fedoraproject.org/.
With this, we have come to the end of Chapter 1. Let’s quickly recap what we learned.
Summary
In this chapter, we briefly walked through the history of the Unix operating system, which taught us about the beginning and development of Linux and its distributions. Apart from teaching us how the project that develops the distribution that we will use as a workstation for system administration operates, it helped us learn how we can be part of it and improve the distribution while we perform our day-to-day tasks.
In the next chapter, we will learn about some best practices and tips that will help ensure we have a good installation that will help us develop our work.
Further reading
To learn more about the topics that were covered in the chapter, please visit the following links:
- Timeline of GNU/Linux and Unix: http://laurel.datsi.fi.upm.es/~ssoo/IG/download/timeline.html
- Overview of the GNU System, GNU Operating System: https://www.gnu.org/gnu/gnu-history.html
- Linux and GNU – GNU Project – Free Software Foundation: https://www.gnu.org/gnu/linux-and-gnu.html
- Red Hat brand standards – Our history: https://www.redhat.com/en/about/brand/standards/history
- A Short History of Fedora Linux (Video), YouTube: https://www.youtube.com/watch?v=NlNlcLD2zRM
- CentOS Stream: A contribution path to Red Hat Enterprise Linux: https://www.redhat.com/en/resources/centos-stream-datasheet