Christopher Negus
Linux Bible
Introduction
You can't learn Linux without using it.
I've come to that conclusion over more than a decade of teaching people to learn Linux. You can't just read a book; you can't just listen to a lecture. You need someone to guide you and you need to jump in and do it.
In 1999, Wiley published my Red Hat Linux Bible. The book's huge success gave me the opportunity to become a full-time, independent Linux author. For about a decade, I wrote dozens of Linux books and explored the best ways to explain Linux from the quiet of my small home office.
In 2008, I hit the road. I was hired by Red Hat, Inc., as a full-time instructor, teaching Linux to professional system administrators seeking Red Hat Certified Engineer (RHCE) certification. In my three years as a Linux instructor, I honed my teaching skills in front of live people whose Linux experience ranged from none to experienced professional.
In the previous edition, I turned my teaching experience into text to take a reader from someone who has never used Linux to someone with the skills to become a Linux professional. In this edition, I set out to extend those skills into the cloud. The focus of this ninth edition of the Linux Bible can be summed up in these ways:
● Beginner to certified professional: As long as you have used a computer, mouse, and keyboard, you can start with this book. I tell you how to get Linux, begin using it, step through critical topics, and ultimately excel at administering and securing it.
● System administrator–focused: When you are finished with this book, you will know how to use Linux and how to modify and maintain it. All the topics needed to become a Red Hat Certified Engineer are covered in this book. That said, many software developers have also used this book to understand how to work on a Linux system as a development platform or target for their applications.
● Emphasis on command-line tools: Although point-and-click interfaces for managing Linux have improved greatly in recent years, many advanced features can only be utilized by typing commands and editing configuration files manually. I teach you how to become proficient with the Linux command-line shell and occasionally compare shell features with graphical tools for accomplishing the same tasks.
● Aimed at fewer Linux distributions: In previous editions, I described about 18 different Linux distributions. With only a few notable exceptions, most popular Linux distributions are either Red Hat–based (Red Hat Enterprise Linux, Fedora, CentOS, and so on) or Debian-based (Ubuntu, Linux Mint, KNOPPIX, and so on). Although this book most thoroughly covers Red Hat distributions, I have increased coverage of Ubuntu throughout in this edition (because that's what many of the biggest Linux fans start with).
● Many, many demos and exercises: Instead of just telling you what Linux does, I actually show you what it does. Then, to make sure you got it, you have the opportunity to try exercises yourself. Every procedure and exercise has been tested to work in Fedora or Red Hat Enterprise Linux. Most work in Ubuntu as well.
● Lead into cloud technologies: Linux is at the heart of most technological advances in cloud computing today. That means you need a solid understanding of Linux to work effectively in tomorrow's data centers. Learn Linux basics in the front of this book. Then in the last few chapters, I demonstrate how you can try out Linux systems as hypervisors, cloud controllers, and virtual machines, as well as manage virtual networks and networked storage.
How This Book Is Organized
The book is organized to enable you to start off at the very beginning with Linux and grow to become a professional Linux system administrator and power user.
Part I, “Getting Started,” includes two chapters designed to help you understand what Linux is and get you started with a Linux desktop:
● Chapter 1, “Starting with Linux,” covers topics such as what the Linux operating system is, where it comes from, and how to get started using it.
● Chapter 2, “Creating the Perfect Linux Desktop,” provides information on how you can create a desktop system and use some of the most popular desktop features.
Part II, “Becoming a Linux Power User,” provides in-depth details on how to use the Linux shell, work with filesystems, manipulate text files, manage processes, and use shell scripts:
● Chapter 3, “Using the Shell,” includes information on how to access a shell, run commands, recall commands (using history), and do tab completion. The chapter also describes how to use variables, aliases, and man pages (traditional Linux command reference pages).
● Chapter 4, “Moving around the Filesystem,” includes commands for listing, creating, copying, and moving files and directories. More advanced topics in this chapter include filesystem security, such as file ownership, permissions, and access control lists.
● Chapter 5, “Working with Text Files,” includes everything from basic text editors to tools for finding files and searching for text within files.
● Chapter 6, “Managing Running Processes,” describes how to see what processes are running on your system and change those processes. Ways of changing processes include killing, pausing, and sending other types of signals.
● Chapter 7, “Writing Simple Shell Scripts,” includes shell commands and functions you can gather together into a file to run as a command itself.
In Part III, “Becoming a Linux System Administrator,” you learn how to administer Linux systems:
● Chapter 8, “Learning System Administration,” provides information on basic graphical tools, commands, and configuration files for administering Linux systems.
● Chapter 9, “Installing Linux,” covers common installation tasks, such as disk partitioning and initial software package selection, as well as more advanced installation tools, such as installing from kickstart files.
● Chapter 10, “Getting and Managing Software,” provides an understanding of how software packages work and how to get and manage software packages.
● Chapter 11, “Managing User Accounts,” discusses tools for adding and deleting users and groups, as well as how to centralize user account management.
● Chapter 12, “Managing Disks and Filesystems,” provides information on adding partitions, creating filesystems, and mounting filesystems, as well as working with logical volume management.
In Part IV, “Becoming a Linux Server Administrator,” you learn to create powerful network servers and the tools needed to manage them:
● Chapter 13, “Understanding Server Administration,” covers remote logging, monitoring tools, and the Linux boot process.
● Chapter 14, “Administering Networking,” discusses how to configure networking.
● Chapter 15, “Starting and Stopping Services,” provides information on starting and stopping services.
● Chapter