Understanding Linux 01: Path to the Linux Guru
Understanding Linux: Path to the Linux Guru
As automation tools get released at an increasing rate, new system engineers are capable of shaping clouds, without knowing anything about what goes in or under the server. Yet the modern tools still depend heavily on the internal Linux capabilities. Without Linux kernel capabilities like cgroups and kernel namespaces, we weren't talking about containers today. It's still dangerous to run a large infrastructure without a strong understanding of the operating system fundamentals.
There are a plethora of guides ready to show how to open and console and which commands to type to get something done. This is not one of them, our goal is to help our readers understand the mechanisms and design behind Linux. General Linux subjects are covered with excessive detail to build intuition. This tutorial aims to be an old school guide about the fundamentals of Linux with no assumption of prior knowledge. This guide is an homage to the way of Linux Gurus.
Linux Guru
Who is a Linux Guru? There is no strict definition, they are often depicted as people who have a very in-depth Linux knowledge. Guru is not a senior system engineer with a dozen distinguishable certifications. It has nothing to do with a degree.
A Linux Guru often possesses the following traits:
- Knowledge about all major distributions, not just some of them
- Ability to configure complicated services without consulting the documentation
- Linux evangelist
- Supportive towards to open source projects
- Not dependent on any form of GUI
- Ability to produce unseen solutions to Linux based problems
Expecting to be a guru after completing this or another tutorial would be futile. This guide is designed to make a power user out of a new user.
Before we begin, it is advised to read the one-page history on tldp.
Parts of the tutorial do not depend on each other. Any part can be skipped, just make sure to check the table of contents before skipping.
Organization and Beginner Notes
Parts of the tutorial do not depend on each other. Any part can be skipped, just make sure to check the table of contents before skipping.
Basic information blocks look like this. The basic information needed to understand the examples are presented in these blocks. Users who are familiar with Linux basics can safely skip these parts.
The Test Environment
Most of the commands are core Linux command is expected to work most distributions. The examples and commands in this tutorial are tested on Debian 10 Buster.
We advise using closer to the original distributions like Slackware, Arch, and Debian for learning purposes. In later sections, we will discuss the distributions and their differences.