HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
“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
The #1 Fedora and RHEL resource—a tutorial AND on-the-job reference
Master Linux administration and security using GUI-based tools, the command line, and Perl scripts
Set up key Internet servers, step by step, including Samba, Apache, sendmail, DNS, LDAP, FTP, and more
Master All the Techniques You Need to Succeed with Fedora™ and Red Hat® Enterprise Linux®
In this book, one of the world’s leading Linux experts brings together all the knowledge you need to master Fedora or Red Hat Enterprise Linux and succeed with it in the real world. Best-selling author Mark Sobell explains Linux clearly and effectively, focusing on skills you’ll actually use as a user, programmer, or administrator. Now an even more versatile learning resource, this edition adds skill objectives at the beginning of each chapter.
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/print sharing, configure network servers, secure Linux desktops and networks, work with the command line, administer Linux efficiently, and even automate administration with Perl scripts.
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 here.
Compared with the other Linux books out there, A Practical Guide to Fedora™ and Red Hat® Enterprise Linux®, Sixth Edition, delivers
Includes DVD! Get the full version of the Fedora 15 release!
The DVD included with the book contains Fedora Linux release 15. The exact same contents in the form of an ISO image can be downloaded from this web site: http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/15/Fedora/i386/iso/
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
Download the Appendix: A Practical Guide to the CompTIA® Linux+ Exams LX0-101 and LX0-102