Synopses & Reviews
“I have found this book to be a very useful classroom text, as well as a great Linux resource. It teaches Linux using a ground-up approach that gives students the chance to progress with their skills and grow into the Linux world. I have often pointed to this book when asked to recommend a solid Linux reference.”
— Eric Hartwell, Chair, School of Information Technology, ITT Technical Institute
Master All the Techniques You Need to Succeed with Fedora™ or Red Hat® Enterprise Linux®
- The #1 Fedora and RHEL resource—a tutorial AND on-the-job reference
- Master Linux administration and security using the command line, GUI tools, Python, systemd, and firewalld
- Set up key Internet servers, step by step, including Samba, Apache, MariaDB/MySQL, sendmail, OpenSSH, DNS, LDAP, and more
- Brand-new chapter on Virtual Machines and Cloud Computing!
In this comprehensive guide, one of the world’s leading Linux experts brings together all the knowledge and real-world insights you need to master and succeed with today’s versions of Fedora or Red Hat Enterprise Linux. Best-selling author Mark Sobell explains Linux clearly and effectively, focusing on skills you’ll actually need as a user, programmer, or administrator.
Sobell assumes no prior Linux knowledge. He starts at the beginning and walks you through every topic and task that matters, using easy-to-understand examples. Step by step, you’ll learn how to install and configure Linux from the accompanying DVD, navigate its graphical user interface, provide file/printer sharing, configure network servers, secure Linux desktops and networks, work with the command line, administer Linux efficiently, and automate administration using Python and bash.
Mark Sobell has taught hundreds of thousands of Linux and UNIX professionals. He knows every Linux nook and cranny—and he never forgets what it’s like to be new to Linux. Whatever you want to do with Linux—now or in the future—you’ll find it in this book.
Compared with other Linux books, A Practical Guide to Fedora™and Red Hat®Enterprise Linux ®, Seventh Edition, delivers
- Complete, up-to-the-minute coverage of Fedora 19 and RHEL 7 (beta)
- New programming chapters that cover Python and MariaDB/MySQL, plus a new tutorial on using GnuPG to encrypt communications
- Information on state-of-the-art security: SELinux, ACLs, firewalld (firewall-config and firewall-cmd), iptables (system-config-firewall), GnuPG, and OpenSSH
- New chapter on VMs (virtual machines) and cloud computing, including VMware, QEMU/KVM, virt-manager, virsh, GNOME Boxes, and AWS (Amazon Web Services)
- Expanded command-line coverage, including a new chapter that details 32 important utilities
- Practical information on Internet server configuration, including Apache, sendmail, NFSv4, DNS/BIND, the new LDAP Dynamic Server, and IPv6
- Complete “meat-and-potatoes” information on system/network administration, now including GRUB 2, the XFS filesystem, the new Anaconda Installer, the systemd init daemon, firewalld, and NetworkManager
- Detailed instructions on keeping Linux systems up to date, finding software packages, and working with repositories using yum and rpm
- Full coverage of the LPI Linux Essentials exam objectives plus extensive coverage of the CompTIA Linux+ exam objectives; Appendix E provides a map from objectives to pages in the book
- New coverage of find, sort, xz (compression), free, xargs, and the nano editor
- And much more, including a 500+ term glossary and comprehensive indexes
Includes DVD! Get the full version of the Fedora 19 release!
Review
Praise for Previous Editions of A Practical Guide to Fedora™ and Red Hat® Enterprise Linux®
“Since I’m in an educational environment, I found the content of Sobell’s book to be right on target and very helpful for anyone managing Linux in the enterprise. His style of writing is very clear. He builds up to the chapter exercises, which I find to be relevant to real-world scenarios a user or admin would encounter. An IT/IS student would find this book a valuable complement to their education. The vast amount of information is extremely well balanced and Sobell manages to present the content without complicated asides and meandering prose. This is a ‘must have’ for anyone managing Linux systems in a networked environment or anyone running a Linux server. I would also highly recommend it to an experienced computer user who is moving to the Linux platform.”
–Mary Norbury, IT Director, Barbara Davis Center, University of Colorado at Denver, from a review posted on slashdot.org
“I had the chance to use your UNIX books when I when was in college years ago at Cal Poly, San Luis Obispo, CA. I have to say that your books are among the best! They’re quality books that teach the theoretical aspects and applications of the operating system.”
–Benton Chan, IS Engineer
“The book has more than lived up to my expectations from the many reviews I read, even though it targets FC2. I have found something very rare with your book: It doesn’t read like the standard technical text, it reads more like a story. It’s a pleasure to read and hard to put down. Did I say that?! :-)”
–David Hopkins, Business Process Architect
“Thanks for your work and for the book you wrote. There are really few books that can help people to become more efficient administrators of different workstations. We hope (in Russia) that you will continue bringing us a new level of understanding of Linux/UNIX systems.”
–Anton Petukhov
“Mark Sobell has written a book as approachable as it is authoritative.”
–Jeffrey Bianchine, Advocate, Author, Journalist
“Excellent reference book, well suited for the sysadmin of a Linux cluster, or the owner of a PC contemplating installing a recent stable Linux. Don’t be put off by the daunting heft of the book. Sobell has striven to be as inclusive as possible, in trying to anticipate your system administration needs.”
–Wes Boudville, Inventor
“A Practical Guide to Red Hat® Linux® is a brilliant book. Thank you, Mark Sobell.”
–C. Pozrikidis, University of California at San Diego
“This book presents the best overview of the Linux operating system that I have found. . . . [It] should be very helpful and understandable no matter what the reader’s background: traditional UNIX user, new Linux devotee, or even Windows user. Each topic is presented in a clear, complete fashion and very few assumptions are made about what the reader knows. . . . The book is extremely useful as a reference, as it contains a 70-page glossary of terms and is very well indexed. It is organized in such a way that the reader can focus on simple tasks without having to wade through more advanced topics until they are ready.”
–Cam Marshall, Marshall Information Service LLC, Member of Front Range UNIX Users Group [FRUUG], Boulder, Colorado
“Conclusively, this is THE book to get if you are a new Linux user and you just got into RH/Fedora world. There’s no other book that discusses so many different topics and in such depth.”
–Eugenia Loli-Queru, Editor in Chief, OSNews.com
Praise for Other Books by Mark G. Sobell
“This book is a very useful tool for anyone who wants to ‘look under the hood’ so to speak, and really start putting the power of Linux to work. What I find particularly frustrating about man pages is that they never include examples. Sobell, on the other hand, outlines very clearly what the command does and then gives several common, easy-to-understand examples that make it a breeze to start shell programming on one’s own. As with Sobell’s other works, this is simple, straightforward, and easy to read. It’s a great book and will stay on the shelf at easy arm’s reach for a long time.”
–Ray Bartlett, Travel Writer
“Overall I found this book to be quite excellent, and it has earned a spot on the very front of my bookshelf. It covers the real ‘guts’ of Linux–the command line and its utilities–and does so very well. Its strongest points are the outstanding use of examples, and the Command Reference section. Highly recommended for Linux users of all skill levels. Well done to Mark Sobell and Prentice Hall for this outstanding book!”
–Dan Clough, Electronics Engineer and Slackware Linux User
“Totally unlike most Linux books, this book avoids discussing everything via GUI and jumps right into making the power of the command line your friend.”
–Bjorn Tipling, Software Engineer, ask.com
“This book is the best distro-agnostic, foundational Linux reference I’ve ever seen, out of dozens of Linux-related books I’ve read. Finding this book was a real stroke of luck. If you want to really understand how to get things done at the command line, where the power and flexibility of free UNIX-like OSes really live, this book is among the best tools you’ll find toward that end.”
–Chad Perrin, Writer, TechRepublic
“I currently own one of your books, A Practical Guide to Linux®. I believe this book is one of the most comprehensive and, as the title says, practical guides to Linux I have ever read. I consider myself a novice and I come back to this book over and over again.”
–Albert J. Nguyen
“Thank you for writing a book to help me get away from Windows XP and to never touch Windows Vista. The book is great; I am learning a lot of new concepts and commands. Linux is definitely getting easier to use.”
–James Moritz
“I am so impressed by how Mark Sobell can approach a complex topic in such an understandable manner. His command examples are especially useful in providing a novice (or even an advanced) administrator with a cookbook on how to accomplish real-world tasks on Linux. He is truly an inspired technical writer!”
–George Vish II, Senior Education Consultant, Hewlett-Packard Company
“Overall, I think it’s a great, comprehensive Ubuntu book that’ll be a valuable resource for people of all technical levels.”
–John Dong, Ubuntu Forum Council Member, Backports Team Leader
“The JumpStart sections really offer a quick way to get things up and running, allowing you to dig into the details of the book later.”
–Scott Mann, Aztek Networks
“I would so love to be able to use this book to teach a class about not just Ubuntu or Linux but about computers in general. It is thorough and well written with good illustrations that explain important concepts for computer usage.”
–Nathan Eckenrode, New York Local Community Team
“Ubuntu is gaining popularity at the rate alcohol did during Prohibition, and it’s great to see a well-known author write a book on the latest and greatest version. Not only does it contain Ubuntu-specific information, but it also touches on general computer-related topics, which will help the average computer user to better understand what’s going on in the background. Great work, Mark!”
–Daniel R. Arfsten, Pro/ENGINEER Drafter/Designer
“I read a lot of Linux technical information every day, but I’m rarely impressed by tech books. I usually prefer online information sources instead. Mark Sobell’s books are a notable exception. They’re clearly written, technically accurate, comprehensive, and actually enjoyable to read.”
–Matthew Miller, Senior Systems Analyst/Administrator, BU Linux Project, Boston University Officeof Information Technology
“This is well written, clear, comprehensive information for the Linux user of any type, whether trying Ubuntu on for the first time and wanting to know a little about it, or using the book as a very good reference when doing something more complicated like setting up a server. This book’s value goes well beyond its purchase price and it’ll make a great addition to the Linux section of your bookshelf.”
–Linc Fessenden, Host of The LinuxLink TechShow, tllts.org
“The author has done a very good job at clarifying such a detail-oriented operating system. I have extensive Unix and Windows experience and this text does an excellent job at bridging the gaps between Linux, Windows, and Unix. I highly recommend this book to both ‘newbs’ and experienced users. Great job!”
–Mark Polczynski, Information Technology Consultant
“When I first started working with Linux just a short 10 years or so ago, it was a little more difficult than now to get going. . . . Now, someone new to the community has a vast array of resources available on the web, or if they are inclined to begin with Ubuntu, they can literally find almost every single thing they will need in the single volume of Mark Sobell’s A Practical Guide to Ubuntu Linux®.
“I’m sure this sounds a bit like hyperbole. Everything a person would need to know? Obviously not everything, but this book, weighing in at just under 1200 pages, covers so much so thoroughly that there won’t be much left out. From install to admin, networking, security, shell scripting, package management, and a host of other topics, it is all there. GUI and command line tools are covered. There is not really any wasted space or fluff, just a huge amount of information. There are screen shots when appropriate but they do not take up an inordinate amount of space. This book is information-dense.”
–JR Peck, Editor, GeekBook.org
“I have been wanting to make the jump to Linux but did not have the guts to do so–until I saw your familiarly titled A Practical Guide to Red Hat® Linux® at the bookstore. I picked up a copy and am eagerly looking forward to regaining my freedom.”
–Carmine Stoffo, Machine and Process Designer to pharmaceutical industry
“I am currently reading A Practical Guide to Red Hat® Linux® and am finally understanding the true power of the command line. I am new to Linux and your book is a treasure.”
–Juan Gonzalez
“Overall, A Practical Guide to Ubuntu Linux® by Mark G. Sobell provides all of the information a beginner to intermediate user of Linux would need to be productive. The inclusion of the Live DVD of the Gutsy Gibbon release of Ubuntu makes it easy for the user to test-drive Linux without affecting his installed OS. I have no doubts that you will consider this book money well spent.”
–Ray Lodato, Slashdot contributor, www.slashdot.org
Synopsis
Mark Sobell's books have earned a reputation as the most thorough and up-to-date guides to installing, configuring, and working with Linux. They've become legendary for their versatility as both tutorials and references, making them ideal for both entry-level and more advanced readers. As always, Sobell teaches both the "hows" and the "whys" - and readers will find answers and solutions faster than ever, thanks to this edition's completely revamped index system.
Now fully updated for both Fedora Core 19 and Red Hat Enterprise Linux 7, Sobell's new edition of A Practical Guide to Fedora and Red Hat Enterprise Linux walks readers through every essential feature and technique they'll need now and for years to come.
About the Author
Mark G. Sobell is President of Sobell Associates Inc., a consulting firm that specializes in UNIX and Linux training, support, and documentation. He has more than thirty years of experience working with UNIX and Linux systems and is the author of many best-selling books, including A Practical Guide to Linux® Commands, Editors, and Shell Programming, Third Edition, and A Practical Guide to Ubuntu Linux®, Third Edition, both from Prentice Hall.
Table of Contents
Preface xliii
Chapter 1: Welcome to Linux 1
The History of UNIX and GNU–Linux 2
Overview of Linux 11
Choosing an Operating System 19
Chapter Summary 21
Exercises 21
Part I: Installing Fedora and Red Hat Enterprise Linux 23
Chapter 2: Installation Overview 25
Conventions Used in This Book 26
LPI and CompTIA Certification Icons 28
More Information 28
Planning the Installation 29
The Installation Process 44
Downloading an Installation Image File and Writing to/Burning the Installation
Medium 46
Gathering Information About the System 50
Chapter Summary 52
Exercises 53
Advanced Exercises 53
Chapter 3: Step-by-Step Installation 55
The New Anaconda Installer 56
Running a Fedora Live Session 56
Installing Fedora/RHEL 59
Installation Tasks 69
Chapter Summary 86
Exercises 86
Advanced Exercises 86
Part II: Using Fedora and Red Hat Enterprise Linux 87
Chapter 4: Introduction to Fedora and Red Hat Enterprise Linux 89
Curbing Your Power (Superuser/root Privileges) 90
Logging In on the System 90
The GNOME 3 Standard and Classic Desktops 91
Working with the Desktop 97
Using the Nautilus File Manager 102
The Settings Window 107
Getting Help 113
Updating, Installing, and Removing Software Packages 116
Working from the Command Line 119
More About Logging In and Passwords 135
Chapter Summary 138
Exercises 139
Advanced Exercises 140
Chapter 5: The Shell 141
Special Characters 142
Ordinary Files and Directory Files 143
The Command Line 144
Standard Input and Standard Output 151
Running a Command in the Background 163
Filename Generation/Pathname Expansion 165
Builtins 170
Chapter Summary 170
Exercises 171
Advanced Exercises 173
Chapter 6: The Linux Filesystem 175
The Hierarchical Filesystem 176
Ordinary Files and Directory Files 177
Pathnames 181
Working with Directories 183
Access Permissions 191
ACLs: Access Control Lists 198
Links 203
Chapter Summary 209
Exercises 211
Advanced Exercises 212
Chapter 7: The Linux Utilities 215
Basic Utilities 216
Working with Files 224
Compressing and Archiving Files 245
Displaying User and System Information 252
Miscellaneous Utilities 255
Editing Files 262
Chapter Summary 273
Exercises 275
Advanced Exercises 276
Chapter 8: Networking and the Internet 279
Introduction to Networking 280
Types of Networks and How They Work 282
Communicate over a Network 301
Network Utilities 302
Distributed Computing 309
WWW: World Wide Web 319
Chapter Summary 321
Exercises 322
Advanced Exercises 322
Part III: System Administration 325
Chapter 9: The Bourne Again Shell (bash) 327
Background 328
Startup Files 329
Commands That Are Symbols 333
Redirecting Standard Error 333
Writing and Executing a Shell Script 336
Control Operators: Separate and Group Commands 341
Job Control 346
Manipulating the Directory Stack 349
Parameters and Variables 352
Special Characters 366
Locale 368
Time 371
Processes 373
History 376
Aliases 392
Functions 396
Controlling bash: Features and Options 398
Processing the Command Line 403
Chapter Summary 414
Exercises 415
Advanced Exercises 417
Chapter 10: System Administration: Core Concepts 419
Running Commands with root Privileges 422
The systemd init Daemon 438
SysVinit (rc) Scripts: Start and Stop System Services 448
System Operation 448
System Administration Tools 464
Setting Up a Server 481
DHCP: Configures Network Interfaces 491
nsswitch.conf: Which Service to Look at First 495
Getting Help 498
Chapter Summary 498
Exercises 499
Advanced Exercises 500
Chapter 11: Files, Directories, and Filesystems 501
Important Files and Directories 502
File Types 514
Filesystems 519
The XFS Filesystem 527
Chapter Summary 529
Exercises 530
Advanced Exercises 530
Chapter 12: Finding, Downloading, and Installing Software 531
Introduction 532
JumpStart: Installing and Removing Software Packages Using yum 534
Finding the Package That Holds an Application or File You Need 536
yum: Keeps the System Up-to-Date 538
BitTorrent 543
RPM: The RPM Package Manager 546
Installing Non-rpm Software 550
Keeping Software Up-to-Date 552
curl: Downloads Files Noninteractively 553
Chapter Summary 553
Exercises 554
Advanced Exercises 554
Chapter 13: Printing with CUPS 555
Introduction 556
The System Configures a Local Printer Automatically 558
JumpStart I: Configuring a Printer Using system-config-printer 558
JumpStart II: Setting Up a Local or Remote Printer 560
Working with the CUPS Web Interface 565
Configuring Printers 566
Traditional UNIX Printing 573
Printing from Windows 574
Printing to Windows 576
Chapter Summary 577
Exercises 577
Advanced Exercises 578
Chapter 14: Building a Linux Kernel 579
Downloading, Installing, and Prepping the Kernel Source Code 581
Configuring and Compiling the Linux Kernel 584
Installing the Kernel, Modules, and Associated Files 589
GRUB: The Linux Boot Loader 590
dmesg: Displays Kernel Messages 595
Chapter Summary 595
Exercises 596
Advanced Exercises 596
Chapter 15: Administration Tasks 597
Configuring User and Group Accounts 598
Backing Up Files 602
Scheduling Tasks 607
System Reports 611
Maintaining the System 613
Chapter Summary 629
Exercises 630
Advanced Exercises 630
Chapter 16: Configuring and Monitoring a LAN 631
More Information 632
Setting Up the Hardware 632
Configuring the Systems 636
NetworkManager: Configures Network Connections 637
Setting Up Servers 643
Introduction to Cacti 645
Chapter Summary 656
Exercises 656
Advanced Exercises 657
Chapter 17: Setting Up Virtual Machines Locally and in the Cloud 659
VMs (Virtual Machines) 660
QEMU/KVM 663
VMware Player: Installing Fedora on VMware 671
Cloud Computing 676
Chapter Summary 681
Exercises 682
Advanced Exercises 682
Part IV: Using Clients and Setting Up Servers 683
Chapter 18: OpenSSH: Secure Network Communication 685
Introduction to OpenSSH 686
Running the ssh, scp, and sftp OpenSSH Clients 689
Setting Up an OpenSSH Server (sshd) 700
Troubleshooting 706
Tunneling/Port Forwarding 707
Chapter Summary 710
Exercises 710
Advanced Exercises 711
Chapter 19: FTP: Transferring Files Across a Network 713
Introduction to FTP 714
Running the ftp and sftp FTP Clients 716
Setting Up an FTP Server (vsftpd) 724
Chapter Summary 737
Exercises 738
Advanced Exercises 738
Chapter 20: sendmail: Setting Up Mail Servers, Clients, and More 739
Introduction to sendmail 740
Setting Up a sendmail Mail Server 742
JumpStart I: Configuring sendmail on a Client 743
JumpStart II: Configuring sendmail on a Server 744
Working with sendmail Messages 745
Configuring sendmail 748
SpamAssassin 753
Additional Email Tools 758
Authenticated Relaying 764
Chapter Summary 766
Exercises 766
Advanced Exercises 767
Chapter 21: NIS and LDAP 769
Introduction to NIS 770
Running an NIS Client 773
Setting Up an NIS Server 779
LDAP 786
Setting Up an LDAP Server 789
Tools for Working with LDAP 795
Chapter Summary 798
Exercises 799
Advanced Exercises 799
Chapter 22: NFS: Sharing Directory Hierarchies 801
Introduction to NFS 803
Running an NFS Client 805
Setting Up an NFS Server 811
automount: Mounts Directory Hierarchies on Demand 821
Chapter Summary 824
Exercises 824
Advanced Exercises 825
Chapter 23: Samba: Linux and Windows File and Printer Sharing 827
Introduction to Samba 828
Running Samba Clients 832
Setting Up a Samba Server 836
Troubleshooting 846
Chapter Summary 848
Exercises 849
Advanced Exercises 849
Chapter 24: DNS/BIND: Tracking Domain Names and Addresses 851
Introduction to DNS 852
Setting Up a DNS Server 864
Configuring a DNS Server 872
Setting Up Different Types of DNS Servers 885
Chapter Summary 895
Exercises 896
Advanced Exercises 896
Chapter 25: firewalld and iptables: Setting Up a Firewall 897
The firewalld Service 898
JumpStart: Building a Firewall Using firewall-config 900
firewall-config: The Firewall Configuration Window 902
firewall-cmd: Controlling firewalld from the Command Line 906
Introduction to iptables 908
Building a Set of Rules Using iptables 916
Copying Rules to and from the Kernel 922
system-config-firewall: Generates a Set of Rules 923
Sharing an Internet Connection Using NAT 924
Chapter Summary 928
Exercises 929
Advanced Exercises 929
Chapter 26: Apache (httpd): Setting Up a Web Server 931
Introduction 932
Running an Apache Web Server 935
Filesystem Layout 938
Configuration Directives 939
Advanced Configuration 962
Troubleshooting 967
Modules 968
webalizer: Analyzes Web Traffic 975
MRTG: Monitors Traffic Loads 975
Error Codes 975
Chapter Summary 976
Exercises 977
Advanced Exercises 977
Part V: Programming Tools 979
Chapter 27: Programming the Bourne Again Shell (bash) 981
Control Structures 982
File Descriptors 1016
Parameters 1022
Variables 1031
Builtin Commands 1040
Expressions 1056
Implicit Command-Line Continuation 1063
Shell Programs 1064
Chapter Summary 1074
Exercises 1076
Advanced Exercises 1078
Chapter 28: The Python Programming Language 1081
Introduction 1082
Scalar Variables, Lists, and Dictionaries 1086
Control Structures 1092
Reading from and Writing to Files 1097
Regular Expressions 1101
Defining a Function 1102
Using Libraries 1103
Lambda Functions 1107
List Comprehensions 1108
Chapter Summary 1109
Exercises 1110
Advanced Exercises 1110
Chapter 29: The MariaDB SQL Database Management System 1113
History 1114
Notes 1114
Installing a MariaDB Server and Client 1118
Setting Up MariaDB 1119
Examples 1123
Chapter Summary 1135
Exercises 1135
Advanced Exercises 1135
Part VI: Appendixes 1137
Appendix A: Regular Expressions 1139
Characters 1140
Delimiters 1140
Simple Strings 1140
Special Characters 1140
Rules 1143
Bracketing Expressions 1144
The Replacement String 1144
Extended Regular Expressions 1145
Appendix Summary 1147
Appendix B: Help 1149
Solving a Problem 1150
Finding Linux-Related Information 1151
Specifying a Terminal 1153
Appendix C: Security Including GPG 1155
Encryption 1156
File Security 1161
Email Security 1161
Network Security 1162
Host Security 1165
Tutorial: Using GPG to Secure a File 1169
Security Resources 1180
Appendix Summary 1182
Appendix D: Keeping the System Up-to-Date Using apt-get 1183
Using apt-get to Install, Remove, and Update Packages 1184
Using apt-get to Upgrade the System 1185
Other apt-get Commands 1186
Repositories 1186
sources.list: Specifies Repositories for apt-get to Search 1187
Appendix E: LPI and CompTIA Certification 1189
More Information 1190
Linux Essentials 1190
Certification Exam 1 Objectives: LX0-101 1204
Certification Exam 2 Objectives: LX0-102 1220
Glossary 1235
JumpStart Index 1283
File Tree Index 1285
Utility Index 1289
Main Index 1295