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.
The Most Complete, Easy-to-Follow Guide to Ubuntu Linux
Mark Sobell’s A Practical Guide to Ubuntu Linux®, Third Edition, is the most thorough and up-to-date reference to installing, configuring, and working with Ubuntu, and also offers comprehensive coverage of servers—critical for anybody interested in unleashing the full power of Ubuntu.
This edition has been fully updated for Ubuntu 10.04 (Lucid Lynx), a milestone Long Term Support (LTS) release, which Canonical will support on desktops until 2013 and on servers until 2015.
Sobell walks you through every essential feature and technique, from installing Ubuntu to working with GNOME, Samba, exim4, Apache, DNS, NIS, LDAP, gufw, firestarter, iptables, even Perl scripting. His exceptionally clear explanations demystify everything from networking to security.
You’ll find full chapters on running Ubuntu from the command line and desktop (GUI), administrating systems, setting up networks and Internet servers, and much more. Fully updated JumpStart sections help you get complex servers running—often in as little as five minutes.
Sobell draws on his immense Linux knowledge to explain both the “hows” and the “whys” of Ubuntu. He’s taught hundreds of thousands of readers and never forgets what it’s like to be new to Linux. Whether you’re a user, administrator, or programmer, you’ll find everything you need here—now, and for many years to come.
The world’s most practical Ubuntu Linux book is now even more useful!
This book delivers
Includes DVD! Get the full version of Lucid Lynx, the latest Ubuntu LTS release!
List of JumpStarts xxxvii
Preface xxxix
Chapter 1: Welcome to Linux 1
Ubuntu Linux 2
The History of UNIX and GNU—Linux 3
What Is So Good About Linux? 6
Overview of Linux 12
Additional Features of Linux 17
Conventions Used in This Book 19
Chapter Summary 21
Exercises 22
Part I: Installing Ubuntu Linux 23
Chapter 2: Installation Overview 25
The Live/Install Desktop CD and the Live/Install DVD 26
More Information 26
Planning the Installation 27
The Installation Process 42
Downloading and Burning a CD/DVD 43
Gathering Information About the System 47
Chapter Summary 49
Exercises 49
Advanced Exercises 49
Chapter 3: Step-by-Step Installation 51
Booting from a Live/Install Desktop CD or a Live/Install DVD 52
Graphical Partition Editors 63
Upgrading to a New Release 74
Installing KDE 75
Setting Up a Dual-Boot System 76
Advanced Installation 77
Chapter Summary 93
Exercises 94
Advanced Exercises 94
Part II: Getting Started with Ubuntu Linux 95
Chapter 4: Introduction to Ubuntu Linux 97
Curbing Your Power: root Privileges/sudo 98
A Tour of the Ubuntu Desktop 99
Getting Help 116
Updating, Installing, and Removing Software Packages 131
Where to Find Documentation 136
More About Logging In 144
Working from the Command Line 150
Controlling Windows: Advanced Operations 153
Chapter Summary 156
Exercises 157
Advanced Exercises 158
Chapter 5: The Linux Utilities 159
Special Characters 160
Basic Utilities 161
Working with Files 163
| (Pipe): Communicates Between Processes 170
Four More Utilities 171
Compressing and Archiving Files 174
Locating Commands 178
Obtaining User and System Information 180
Communicating with Other Users 184
Email 185
Tutorial: Using vim to Create and Edit a File 186
Chapter Summary 193
Exercises 196
Advanced Exercises 197
Chapter 6: The Linux Filesystem 199
The Hierarchical Filesystem 200
Directory Files and Ordinary Files 200
Pathnames 205
Working with Directories 207
Access Permissions 215
ACLs: Access Control Lists 221
Links 226
Chapter Summary 232
Exercises 234
Advanced Exercises 236
Chapter 7: The Shell 237
The Command Line 238
Standard Input and Standard Output 243
Running a Command in the Background 254
Filename Generation/Pathname Expansion 256
Builtins 261
Chapter Summary 261
Exercises 262
Advanced Exercises 264
Part III: Digging into Ubuntu Linux 265
Chapter 8: Linux GUIs: X and GNOME 267
X Window System 268
The Nautilus File Browser Window 276
The Nautilus Spatial View 282
GNOME Utilities 284
Chapter Summary 288
Exercises 289
Advanced Exercises 289
Chapter 9: The Bourne Again Shell 291
Background 292
Shell Basics 293
Parameters and Variables 312
Special Characters 326
Processes 328
History 330
Aliases 346
Functions 349
Controlling bash: Features and Options 352
Processing the Command Line 356
Chapter Summary 365
Exercises 367
Advanced Exercises 369
Chapter 10: Networking and the Internet 371
Types of Networks and How They Work 373
Communicate over a Network 388
Network Utilities 390
Distributed Computing 397
Usenet 407
WWW: World Wide Web 409
Chapter Summary 411
Exercises 412
Advanced Exercises 413
Part IV: System Administration 415
Chapter 11: System Administration: Core Concepts 417
Running Commands with root Privileges 419
The Upstart Event-Based init Daemon 432
System Operation 443
Avoiding a Trojan Horse 453
Getting Help 454
Textual System Administration Utilities 455
Setting Up a Server 460
nsswitch.conf: Which Service to Look at First 475
PAM 478
Chapter Summary 483
Exercises 484
Advanced Exercises 484
Chapter 12: Files, Directories, and Filesystems 487
Important Files and Directories 488
File Types 500
Filesystems 505
Chapter Summary 514
Exercises 515
Advanced Exercises 515
Chapter 13: Downloading and Installing Software 517
JumpStart: Installing and Removing Packages Using aptitude 519
Finding the Package That Holds a File You Need 521
APT: Keeps the System Up-to-Date 522
dpkg: The Debian Package Management System 532
BitTorrent 539
Installing Non-dpkg Software 541
wget: Downloads Files Noninteractively 543
Chapter Summary 544
Exercises 545
Advanced Exercises 545
Chapter 14: Printing with CUPS 547
Introduction 548
JumpStart I: Configuring a Local Printer 549
system-config-printer: Configuring a Printer 550
JumpStart II: Setting Up a Local or Remote Printer Using the CUPS Web
Interface 555
Traditional UNIX Printing 558
Configuring Printers 560
Printing from Windows 566
Printing to Windows 568
Chapter Summary 568
Exercises 569
Advanced Exercises 569
Chapter 15: Building a Linux Kernel 571
Prerequisites 572
Downloading the Kernel Source Code 573
Read the Documentation 575
Configuring and Compiling the Linux Kernel 575
Installing the Kernel, Modules, and Associated Files 582
Rebooting 583
GRUB: The Linux Boot Loader 583
dmesg: Displays Kernel Messages 589
Chapter Summary 590
Exercises 590
Advanced Exercises 591
Chapter 16: Administration Tasks 593
Configuring User and Group Accounts 594
Backing Up Files 599
Scheduling Tasks 605
System Reports 608
parted: Reports on and Partitions a Hard Disk 611
Keeping Users Informed 614
Creating Problems 615
Solving Problems 616
MySQL 628
Chapter Summary 635
Exercises 636
Advanced Exercises 636
Chapter 17: Configuring and Monitoring a LAN 637
Setting Up the Hardware 638
Configuring the Systems 641
NetworkManager: Configures Network Connections 642
Setting Up Servers 646
Introduction to Cacti 647
More Information 658
Chapter Summary 659
Exercises 660
Advanced Exercises 660
Part V: Using Clients and Setting Up Servers 661
Chapter 18: OpenSSH: Secure Network Communication 663
Introduction to OpenSSH 664
Running the ssh, scp, and sftp OpenSSH Clients 667
Setting Up an OpenSSH Server (sshd) 676
Troubleshooting 680
Tunneling/Port Forwarding 681
Chapter Summary 684
Exercises 684
Advanced Exercises 685
Chapter 19: FTP: Transferring Files Across a Network 687
Introduction to FTP 688
Running the ftp and sftp FTP Clients 690
Setting Up an FTP Server (vsftpd) 699
Chapter Summary 711
Exercises 712
Advanced Exercises 712
Chapter 20: exim4: Setting Up Mail Servers, Clients, and More 713
Introduction to exim4 714
Setting Up a Mail Server (exim4) 715
Working with exim4 Messages 720
Configuring an exim4 Mail Server 724
SpamAssassin 727
Additional Email Tools 731
Authenticated Relaying 736
Chapter Summary 738
Exercises 738
Advanced Exercises 739
Chapter 21: NIS and LDAP 741
Introduction to NIS 742
Running an NIS Client 744
Setting Up an NIS Server 750
LDAP 758
Setting Up an LDAP Server 760
Other Tools for Working with LDAP 767
Chapter Summary 770
Exercises 771
Advanced Exercises 771
Chapter 22: NFS: Sharing Filesystems 773
Introduction to NFS 774
Running an NFS Client 776
Setting Up an NFS Server 782
automount: Mounts Directory Hierarchies on Demand 792
Chapter Summary 795
Exercises 795
Advanced Exercises 795
Chapter 23: Samba: Linux and Windows File and Printer Sharing 797
Introduction to Samba 798
Setting Up a Samba Server 800
Working with Linux Shares from Windows 814
Working with Windows Shares from Linux 815
Troubleshooting 817
Chapter Summary 819
Exercises 820
Advanced Exercises 820
Chapter 24: DNS/BIND: Tracking Domain Names and Addresses 821
Introduction to DNS 822
Setting Up a DNS Server 834
Setting Up Different Types of DNS Servers 850
Chapter Summary 860
Exercises 860
Advanced Exercises 861
Chapter 25: firestarter, gufw, and iptables: Setting Up a Firewall 863
Introduction to firestarter 864
firestarter: Setting Up and Maintaining a Firewall 866
ufw: The Uncomplicated Firewall 874
gufw: The Graphical Interface to ufw 876
Introduction to iptables 880
Building a Set of Rules Using iptables 885
Copying Rules to and from the Kernel 891
Sharing an Internet Connection Using NAT 892
Chapter Summary 896
Exercises 897
Advanced Exercises 897
Chapter 26: Apache: Setting Up a Web Server 899
Introduction 900
Running a Web Server (Apache) 902
Configuration Directives 909
Configuration Files 932
Advanced Configuration 935
Troubleshooting 940
Modules 941
webalizer: Analyzes Web Traffic 948
MRTG: Monitors Traffic Loads 948
Error Codes 948
Chapter Summary 949
Exercises 950
Advanced Exercises 950
Part VI: Programming Tools 951
Chapter 27: Programming the Bourne Again Shell 953
Control Structures 954
File Descriptors 987
Parameters and Variables 990
Builtin Commands 1002
Expressions 1016
Shell Programs 1024
Chapter Summary 1034
Exercises 1036
Advanced Exercises 1038
Chapter 28: The Perl Scripting Language 1041
Introduction to Perl 1042
Variables 1049
Control Structures 1057
Working with Files 1066
Sort 1069
Subroutines 1071
Regular Expressions 1073
CPAN Modules 1079
Examples 1081
Chapter Summary 1085
Exercises 1085
Advanced Exercises 1086
Part VII: Appendixes 1087
Appendix A: Regular Expressions 1089
Characters 1090
Delimiters 1090
Simple Strings 1090
Special Characters 1090
Rules 1093
Bracketing Expressions 1094
The Replacement String 1094
Extended Regular Expressions 1095
Appendix Summary 1097
Appendix B: Help 1099
Solving a Problem 1100
Finding Linux-Related Information 1101
Specifying a Terminal 1106
Appendix C: Security 1109
Encryption 1110
File Security 1115
Email Security 1115
Network Security 1116
Host Security 1119
Security Resources 1124
Appendix Summary 1127
Appendix D: The Free Software Definition 1129
Glossary 1133
JumpStart Index 1183
File Tree Index 1185
Utility Index 1189
Main Index 1195