Using and Administering Linux

From Zero to SysAdmin

About this course

This Linux training course, “Using and Administering Linux – Zero to SysAdmin,” consists of three volumes. Each of these three volumes is closely connected and they build upon each other. It is not possible to start with Volume 2 or Volume 3 because they both depend upon a virtual environment – a virtual network and a virtual machine – that are created in Volume 1 and that is modified by many of the experiments in all three volumes.

This Linux training course differs from others because it is a complete self-study course. You should start at the beginning of Volume 1 and read the text, perform all of the experiments, and do all of the chapter exercises through to the end of Volume 3. If you do this, even if you are starting from zero knowledge about Linux, you can learn the tasks necessary to becoming a Linux System Administrator, a SysAdmin.

Another difference this course has over others, is that all of the experiments are performed on one or more virtual machines (VMs) in a virtual network. Using the free software, VirtualBox, you will create this virtual environment on any reasonably sized host, whether Linux or Windows. In this virtual environment you are free to experiment on your own, make mistakes that could damage the Linux installation of a hardware host, and still be able to recover completely by restoring the Linux VM host from any one of multiple snapshots. This flexibility to take risks and yet recover easily makes it possible to learn more than would otherwise be possible.

I have always found that I learn more from my mistakes than I ever have when things work as they are supposed to. For this reason I suggest that, rather than immediately reverting to an earlier snapshot when you run into trouble, you try to figure out how the problem was created and how best to recover from it. If, after a reasonable period of time, you have not resolved the problem, that would be the point at which reverting to a snapshot would make sense.

One visible difference between this course and other typical courses of this genre is the 8-1/2” x 11” format of this course so that each volume looks and feels like a workbook. Inside, each chapter has specific learning objectives, interactive experiments, and review exercises that include both hands-on experiments and some review questions. I learned this format when I worked as a course developer for IBM from 1978 through 1981. It is a tried and true format that works well for self study.

These courses present a complete, end to end Linux training course for students like you who know before you start that you want to learn to be a Linux System Administrator – a SysAdmin. This Linux course will allow you to learn Linux right from the beginning with the objective of becoming a SysAdmin.

Many Linux training courses begin with the assumption that the first course a student should take is one designed to start them as users. Those courses may discuss the role of root in system administration, but ignore topics that are important to future SysAdmins. Other courses ignore system administration altogether. A typical second course will introduce the student to system administration, while a third may tackle advanced administration topics.

In this course we will dive deep into Linux system administration almost from the very beginning. You will learn many of the Linux tools required to use and administer Linux workstations and servers – usually multiple tools that can be applied to each of these tasks. This course contains many experiments to provide you with the kind of hands-on experiences that SysAdmins appreciate. All of these experiments guide you one step at a time into the elegant and beautiful depths of the Linux experience. You will learn that Linux is simple and that simplicity is what makes it both elegant and knowable.

Based on my own years working with Unix and Linux, the course materials contained in these three volumes are designed to introduce you to the practical, daily tasks you will perform as a Linux user and, at the same time, as a Linux system administrator – SysAdmin. But I do not know everything – that is just not possible – no SysAdmin does. Further, no two SysAdmins know exactly the same things because that, too is impossible. We have each started with different knowledge and skills; we have different goals; we have different experiences because the systems on which we work have failed in different ways, had different hardware, were embedded in different networks, had different distributions installed, and many other differences. We use different tools and approaches to problem solving because the many different mentors and teachers we had used different sets of tools from each other; we use different Linux distributions; we think differently; and we know different things about the hardware on which Linux runs. Our past is much of what makes us what we are and what defines us as SysAdmins.

So I will show you things in this course – things that I think are important for you to know – things that, in my opinion, will provide you with the skills to use your own curiosity and creativity to find solutions that I would never think of to problems I have never encountered.

What this course is not

This course is not a certification study guide. It is not designed to help you pass a certification test of any type. This course is intended purely to help you become a good or perhaps even great SysAdmin, not to pass a test.

There are a few good certification tests. Red Hat and Cisco certifications are among the best because they are based on the test-taker’s ability to perform specific tasks. I am not familiar with any of the other certification tests because I have not taken them. But the courses you can take and books you can purchase to help you pass those tests are designed to help you pass the tests and not to administer a Linux host or network. That does not make them bad – just different from this course.

Content overview

This quick overview of the contents of each volume should serve as a quick orientation guide if you need to locate specific information. If you are trying to decide whether to purchase this book and its companion volumes, it will give you a good overview of the entire course.

Using and Administering Linux: Volume 1

Zero to SysAdmin: Getting Started

On Amazon ISBN-13: 978-1484250488

Volume 1 of this training course introduces operating systems in general and Linux in particular. It briefly explores the The Linux Philosophy for SysAdmins1 in preparation for the rest of the course.

Chapter 4 then guides you through the use of VirtualBox to create a virtual machine (VM) and a virtual network to use as a test laboratory for performing the many experiments that are used throughout the course. In Chapter 5, you will install the Xfce version of Fedora – a popular and powerful Linux distribution – on the VM. In Chapter 6 you will learn to use the Xfce desktop which will enable you to leverage your growing command line interface (CLI) expertise as you proceed through the course.

Chapters 7 and 8 will get you started using the Linux command line and introduce you to some of the basic Linux commands and their capabilities. In Chapter 9 you will learn about data streams and the Linux tools used to manipulate them. And in Chapter 10 you will learn a bit about several text editors which are indispensable to advanced Linux users and system administrators.

Chapter 11 through 13 start your work as a SysAdmin and takes you through some specific tasks such as installing software updates and new software. Chapters 14 and 15 discuss more terminal emulators and some advanced shell skills. In Chapter 16 you will learn about the sequence of events that take place as the computer boots and Linux starts up. Chapter 17 shows you how to configure your shell to personalize it in ways that can seriously enhance your command line efficiency.

Finally, Chapter 18 and 19 dive into all things file and filesystems.

  1. Introduction
  2. Introduction to operating systems
  3. The Linux Philosophy
  4. Preparation
  5. Installing Linux
  6. Using the Xfce desktop
  7. The Linux command line
  8. Linux core utilities
  9. Data streams
  10. Text editors
  11. Working as root
  12. Installing updates and new software
  13. Tools for Problem solving
  14. Terminal mania
  15. Advanced Shell Topics
  16. Linux boot and startup
  17. Shell configuration
  18. Files, Directories, and Links
  19. Filesystems

Using and Administering Linux: Volume 2

Zero to SysAdmin: Advanced Topics

On Amazon ISBN-13: 978-1484254547

Volume 2 of Using and Administering Linux introduces you to some incredibly powerful and useful advanced topics that every SysAdmin must know.

In Chapters 1 and 2 you will experience an in-depth exploration of logical volume management – and what that even means – as well as the use of file managers to manipulate files and directories. Chapter 3 introduces the concept that, in Linux, everything is a file. You will also learn some fun and interesting uses of the fact that everything is a file.

In Chapter 4 you will learn to use several tools that enable the SysAdmin to manage and monitor running processes. Chapter 5 enables you to experience the power of the special filesystems, such as /proc, that enable us as SysAdmins to monitor and tune the kernel while it is running – without a reboot.

Chapter 6 will introduce you to regular expressions and the power that using them for pattern matching can bring to the command line, while Chapter 7 discusses managing printers and printing from the command line. In Chapter 8 you will use several tools to unlock the secrets of the hardware in which your Linux operating system is running.

Chapters 9 through 11 show you how to do some simple – and not so simple – command line programming and how to automate various administrative tasks.

You will begin to learn the details of networking in Chapter 12, and Chapters 13 through 15 show you how to manage the many services that are required in a Linux system. You will also explore the underlying software that manages the hardware and can detect when hardware devices such as USB thumb drives are installed and how the system reacts to that.

Chapter 15 shows you how to use the logs and journals to look for clues to problems and confirmation that things are working correctly.

Chapters 17 and 18 show you how to enhance the security of your Linux systems, including how to perform easy local and remote backups.

  1. Logical Volume Management
  2. File Managers
  3. Everything is a file
  4. Managing Processes
  5. Special filesystems
  6. Regular expressions
  7. Printing
  8. Hardware detection
  9. Command line programming
  10. Automation with BASH scripts
  11. Time and Automation
  12. Networking
  13. systemd
  14. dbus and Udev
  15. Using logs and journals
  16. Managing users
  17. Security
  18. Backups

Using and Administering Linux: Volume 3

Zero to SysAdmin: Network Services

On Amazon ISBN-13: 978-1484254844

In Volume 3 of Using and Administering Linux you will start by creating a new VM on the existing virtual network. This new VM will be used as a server for the rest of this course and it will replace some of the functions performed by the virtual router that is part of our virtual network.

Chapter 2 begins this transformation from simple workstation to server by adding a new network interface card (NIC) to the VM so that it can act as a firewall and router, then changing its network configuration from DHCP to static. This includes configuring both NICs so that one is connected to the existing virtual router so as to allow connections to the outside world, and so that the other NIC connects to the new “inside” network that will contain the existing VM.

Chapters 3 and 4 guide you through setting up the necessary services, DHCP and DNS, that are required to support a managed, internal network, and Chapter 5 takes you through configuration of SSHD to provide secure remote access between Linux hosts. In Chapter 6 you will convert the new server into a router with a simple yet effective firewall.

You will learn to install and configure an enterprise class email server that can detect and block most spam and malware in Chapters 7 through 9. Chapter 10 takes you through setting up a web server and in Chapter 11 you will set up WordPress, a flexible and powerful content management system.

In Chapter 12 you return to email by setting up a mailing list using MailMan. Then Chapter 13 guides you through sharing files to both Linux and Windows hosts. Sometimes accessing a desktop remotely is the only way to do some things so in Chapter 14 you will do just that.

Chapter 15 shows you how to set up a time server on your network and how to determine its accuracy. Although we have incorporated security in all aspects of what has already been covered, Chapter 16 covers some additional security topics.

Chapter 17 discusses package management from the other direction by guiding you through the process of creating an RPM package for the distribution of your own scripts and configuration files.

Finally, Chapter 18 will get you started in the right direction because I know you are going to ask, “Where do I go from here?”

  1. Preparation
  2. Server Configuration
  3. DHCP
  4. Name services – DNS
  5. Remote access with SSH
  6. Routing and Firewalls
  7. Introducing Email
  8. Email clients
  9. Combating spam
  10. Apache web server
  11. WordPress
  12. Mailing lists
  13. File sharing with NFS and SAMBA
  14. Using remote desktop access
  15. Does anybody know what time it is?
  16. Security
  17. Advanced Package Management
  18. Where do I go from here?

1Both, David, The Linux Philosophy for SysAdmins, Apress, 2018