List of JumpStarts xxxix
Preface xli
Chapter 1: Welcome to Linux 1
The History of UNIX and GNU–Linux 2
What Is so Good About Linux? 6
Overview of Linux 11
Additional Features of Linux 16
Conventions Used in This Book 18
Chapter Summary 20
Exercises 20
Part I: Installing Fedora/RHEL Linux 23
Chapter 2: Installation Overview 25
The Desktop Live CD and the Install DVD 26
More Information 27
Planning the Installation 28
The Installation Process 43
Downloading and Burning a CD/DVD 44
Gathering Information About the System 48
Chapter Summary 49
Exercises 50
Advanced Exercises 50
Chapter 3: Step-by-Step Installation 51
Running a Fedora Live Session 52
Installing Fedora/RHEL 54
Installation Tasks 67
gnome-control-center/Displays: Configures the Display 85
Chapter Summary 85
Exercises 86
Advanced Exercises 86
Part II: Getting Started with Fedora/RHEL 87
Chapter 4: Introduction to Fedora and Red Hat Enterprise Linux 89
Curbing Your Power (Superuser/root Privileges) 90
A Tour of the Fedora/RHEL Desktop 90
Getting the Most Out of the Desktop 112
Updating, Installing, and Removing Software Packages 122
Where to Find Documentation 125
More About Logging In 134
Working from the Command Line 139
Chapter Summary 142
Exercises 143
Advanced Exercises 144
Chapter 5: The Linux Utilities 145
Special Characters 146
Basic Utilities 147
Working with Files 149
| (Pipe): Communicates Between Processes 156
Four More Utilities 157
Compressing and Archiving Files 159
Locating Utilities 164
Displaying User and System Information 166
Communicating with Other Users 170
Email 171
Tutorial: Using vim to Create and Edit a File 172
Chapter Summary 179
Exercises 182
Advanced Exercises 183
Chapter 6: The Linux Filesystem 185
The Hierarchical Filesystem 186
Directory Files and Ordinary Files 187
Pathnames 191
Working with Directories 194
Access Permissions 202
ACLs: Access Control Lists 208
Links 213
Chapter Summary 219
Exercises 221
Advanced Exercises 222
Chapter 7: The Shell 225
The Command Line 226
Standard Input and Standard Output 232
Running a Command in the Background 242
Filename Generation/Pathname Expansion 244
Builtins 249
Chapter Summary 250
Exercises 251
Advanced Exercises 252
Part III: Digging into Fedora/RHEL 255
Chapter 8: Linux GUIs: X and GNOME 257
X Window System 258
The Nautilus File Browser Window 266
The Nautilus Spatial View (RHEL) 272
GNOME Utilities 273
Chapter Summary 277
Exercises 277
Advanced Exercises 278
Chapter 9: The Bourne Again Shell 279
Background 280
Shell Basics 281
Parameters and Variables 301
Special Characters 315
Processes 316
History 319
Aliases 334
Functions 338
Controlling bash: Features and Options 340
Processing the Command Line 344
Chapter Summary 354
Exercises 356
Advanced Exercises 357
Chapter 10: Networking and the Internet 359
Introduction to Networking 360
Types of Networks and How They Work 362
Communicate Over a Network 381
Network Utilities 382
Distributed Computing 390
WWW: World Wide Web 400
Chapter Summary 402
Exercises 403
Advanced Exercises 404
Part IV: System Administration 405
Chapter 11: System Administration: Core Concepts 407
Running Commands with root Privileges 409
The init Daemon 426
System Operation 448
Rescue Installed System 457
Securing a System 458
System Administration Tools 469
Setting Up a Server 477
DHCP: Configures Network Interfaces 489
nsswitch.conf: Which Service to Look at First 494
Getting Help 497
Chapter Summary 497
Exercises 498
Advanced Exercises 499
Chapter 12: Files, Directories, and Filesystems 501
Important Files and Directories 502
File Types 514
Filesystems 519
Chapter Summary 528
Exercises 528
Advanced Exercises 528
Chapter 13: Finding, Downloading, and Installing Software 531
Introduction 532
JumpStart: Installing and Removing Packages Using yum 534
Finding the Package That Holds an Application or File You Need 537
yum: Keeps the System Up-to-Date 538
BitTorrent 545
RPM: The RPM Package Manager 547
Installing Non-rpm Software 551
Keeping Software Up-to-Date 553
wget: Downloads Files Noninteractively 555
Chapter Summary 556
Exercises 557
Advanced Exercises 557
Chapter 14: Printing with CUPS 559
Introduction 560
Fedora/RHEL Configures a Local Printer Automatically 562
JumpStart I: Configuring a Printer Using system-config-printer 562
JumpStart II: Setting Up a Local or Remote Printer 565
Working with the CUPS Web Interface 568
Configuring Printers 570
Traditional UNIX Printing 577
Print from Windows 579
Printing to Windows 581
Chapter Summary 581
Exercises 582
Advanced Exercises 582
Chapter 15: Building a Linux Kernel 583
Downloading, Installing, and Prepping the Kernel Source Code 585
Configuring and Compiling the Linux Kernel 588
Installing the Kernel, Modules, and Associated Files 594
GRUB: The Linux Boot Loader 595
dmesg: Displays Kernel Messages 597
Chapter Summary 598
Exercises 598
Advanced Exercises 599
Chapter 16: Administration Tasks 601
Configuring User and Group Accounts 602
Backing Up Files 605
Scheduling Tasks 611
System Reports 615
Maintaining the System 617
MySQL 635
Chapter Summary 643
Exercises 643
Advanced Exercises 644
Chapter 17: Configuring and Monitoring a LAN 645
Setting Up the Hardware 646
Configuring the Systems 650
NetworkManager: Configures Network Connections 651
Setting Up Servers 656
Introduction to Cacti 657
More Information 668
Chapter Summary 668
Exercises 669
Advanced Exercises 669
Part V: Using Clients and Setting Up Servers 671
Chapter 18: OpenSSH: Secure Network Communication 673
Introduction to OpenSSH 674
Running the ssh, scp, and sftp OpenSSH Clients 677
Setting Up an OpenSSH Server (sshd) 688
Troubleshooting 695
Tunneling/Port Forwarding 696
Chapter Summary 698
Exercises 699
Advanced Exercises 699
Chapter 19 FTP: Transferring Files Across a Network 701
Introduction to FTP 702
Running the ftp and sftp FTP Clients 704
Setting Up an FTP Server (vsftpd) 712
Chapter Summary 726
Exercises 726
Advanced Exercises 726
Chapter 20: sendmail: Setting Up Mail Servers, Clients, and More 729
Introduction to sendmail 730
Setting Up a sendmail Mail Server 732
JumpStart I: Configuring sendmail on a Client 733
JumpStart II: Configuring sendmail on a Server 734
Working with sendmail Messages 735
Configuring sendmail 739
SpamAssassin 744
Additional Email Tools 749
Authenticated Relaying 754
Chapter Summary 756
Exercises 757
Advanced Exercises 757
Chapter 21: NIS and LDAP 759
Introduction to NIS 760
Running an NIS Client 763
Setting Up an NIS Server 769
LDAP 776
Setting Up an LDAP Server 779
Tools for Working with LDAP 784
Chapter Summary 788
Exercises 789
Advanced Exercises 789
Chapter 22: NFS: Sharing Directory Hierarchies 791
Introduction to NFS 793
Running an NFS Client 795
Setting Up an NFS Server 801
automount: Mounts Directory Hierarchies on Demand 811
Chapter Summary 814
Exercises 815
Advanced Exercises 815
Chapter 23: Samba: Linux and Windows File and Printer Sharing 817
Introduction to Samba 818
Running Samba Clients 822
Setting Up a Samba Server 826
Troubleshooting 840
Chapter Summary 843
Exercises 844
Advanced Exercises 844
Chapter 24: DNS/BIND: Tracking Domain Names and Addresses 845
Introduction to DNS 846
Setting Up a DNS Server 858
Configuring a DNS Server 866
Setting Up Different Types of DNS Servers 879
Chapter Summary 889
Exercises 890
Advanced Exercises 890
Chapter 25: system-config-firewall and iptables: Setting Up a Firewall 891
JumpStart: Building a Firewall Using system-config-firewall 893
Introduction to iptables 895
Building a Set of Rules Using iptables 902
Copying Rules to and from the Kernel 908
system-config-firewall: Generates a Set of Rules 909
Sharing an Internet Connection Using NAT 910
Chapter Summary 914
Exercises 914
Advanced Exercises 915
Chapter 26: Apache (httpd): Setting Up a Web Server 917
Introduction 918
Running an Apache Web Server 920
Filesystem Layout 923
Configuration Directives 925
The Fedora/RHEL httpd.conf File 947
Advanced Configuration 950
Troubleshooting 956
Modules 957
webalizer: Analyzes Web Traffic 963
MRTG: Monitors Traffic Loads 964
Error Codes 964
Chapter Summary 965
Exercises 965
Advanced Exercises 966
Part VI: Programming Tools 967
Chapter 27: Programming the Bourne Again Shell 969
Control Structures 971
File Descriptors 1003
Parameters and Variables 1006
Builtin Commands 1018
Expressions 1032
Shell Programs 1040
Chapter Summary 1050
Exercises 1052
Advanced Exercises 1053
Chapter 28: The Perl Scripting Language 1057
Introduction to Perl 1058
Variables 1066
Control Structures 1073
Working with Files 1082
Sort 1086
Subroutines 1087
Regular Expressions 1090
CPAN Modules 1095
Examples 1098
Chapter Summary 1101
Exercises 1102
Advanced Exercises 1102
Part VII: Appendixes 1103
Appendix A: Regular Expressions 1105
Characters 1106
Delimiters 1106
Simple Strings 1106
Special Characters 1106
Rules 1109
Bracketing Expressions 1110
The Replacement String 1110
Extended Regular Expressions 1111
Appendix Summary 1113
Appendix B: Help 1115
Solving a Problem 1116
Finding Linux-Related Information 1117
Specifying a Terminal 1122
Appendix C: Security 1125
Encryption 1126
File Security 1131
Email Security 1131
Network Security 1132
Host Security 1135
Security Resources 1140
Appendix Summary 1143
Appendix D: The Free Software Definition 1145
Glossary 1149
JumpStart Index 1199
File Tree Index 1201
Utility Index 1205
Main Index 1211
PART I 1 Installing Fedora and Red Hat Enterprise Linux 2 Installation Overview 3 Step-by-Step Installation PART II Getting Started with Fedora and Red Hat Enterprise Linux 4 Introduction to Fedora and Red Hat Enterprise Linux 5 The Linux Utilities 6 The Linux Filesystem 7 The Shell PART III Digging into Fedora and Red Hat Enterprise Linux 8 Linux GUIs: X and GNOME 9 The Bourne Again Shell 10 Networking and the Internet PART IV System Administration 11 System Administration: Core Concepts 12 Files, Directories, and Filesystems 13 Downloading and Installing Software 14 Printing with CUPS 15 Rebuilding the Linux Kernel 16 Administration Tasks 17 Configuring and Monitoring a LAN PART V Using Clients and Setting Up Servers 18 OpenSSH: Secure Network Communication 19 F TP: Transferring Files Across a Network 20 sendmail: Setting Up Mail Clients, Servers, and More 21 NIS and LDAP 22 NFS: Sharing Filesystems 23 Samba: Integrating Linux and Windows 24 DNS/BIND: Tracking Domain Names and Addresses 25 iptables: Setting Up a Firewall 26 Apache (httpd): Setting Up a Web Server PART VI Programming Tools 27 Programming the Bourne Again Shell 28 The Perl Scripting Language PART VII Appendixes A Regular Expressions B Help C Security D The Free Software Definition Glossary
Mark G. Sobell is President of Sobell Associates Inc., a consulting firm that specializes in UNIX and Linux training, support, and custom software development. He has more than twenty-five 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, Second Edition, and A Practical Guide to Ubuntu Linux®, Third Edition, both from Prentice Hall.
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
![]() |
Ask a Question About this Product More... |
![]() |