Home > Store

Practical Guide to Ubuntu Linux (Versions 8.10 and 8.04), A, 2nd Edition

Register your product to gain access to bonus material or receive a coupon.

Practical Guide to Ubuntu Linux (Versions 8.10 and 8.04), A, 2nd Edition


  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2009
  • Edition: 2nd
  • Book
  • ISBN-10: 0-13-700388-9
  • ISBN-13: 978-0-13-700388-4

The Most Complete, Easy-to-Follow Guide to Ubuntu Linux

Mark Sobell’s A Practical Guide to Ubuntu Linux®, Second Edition, isn’t just the most thorough and up-to-date reference to installing, configuring, and working with Ubuntu. It also provides comprehensive server coverage you won’t find in any other Ubuntu book.

The fully updated JumpStart sections help you get complex servers running quickly. Whatever your questions may be, the completely revamped index gives you even faster access to the answers you’re searching for. And a brand new chapter on Perl programming teaches you the basics of this powerful system administration language.

Sobell walks you through every feature and technique you’ll need, from installing Ubuntu to working with GNOME, Samba, exim4, Apache, DNS, NIS, LDAP, ufw, firestarter, and iptables. His exceptionally clear explanations demystify everything from system security to Windows file/printer sharing. You’ll find full chapters on running Ubuntu from the command line and GUI, administering systems and security, setting up networks and Internet servers, and much more. 

Along the way, you’ll learn both the “hows” and the “whys” of Ubuntu. Sobell knows every Linux nook and cranny: 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, this book gives you all you need–and more.

The world’s most practical Ubuntu Linux book is now even more useful!

This book delivers

  • Hundreds of easy-to-follow, easy-to-use examples
  • Updated JumpStarts for setting up Samba, Apache, Mail, FTP, NIS, OpenSSH, DNS, and other complex servers
  • Deeper coverage of the command line, GNOME GUI, and desktop customization
  • Coverage of crucial Ubuntu topics such as sudo and the Upstart init daemon
  • More detailed, usable coverage of Internet server configuration, including Apache, exim4, and DNS/BIND
  • More state-of-the-art security techniques, including firewall setup using ufw, firestarter, and iptables,
    plus a full chapter on OpenSSH
  • Deeper coverage of essential system and network administration tasks–from managing users to
    CUPS printing, configuring LANs to building a kernel
  • Complete instructions on keeping Ubuntu systems up-to-date using aptitude, Synaptic, and the Software Sources window
  • And much more...including a 500+ term glossary and five detailed appendixes 

Includes DVD!  Get the full version of the Ubuntu 8.10 (Intrepid Ibex) release!

Sample Content

Table of Contents

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? 7

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/DVD 26

More Information 26

Planning the Installation 27

The Installation Process 41

Downloading and Burning a CD/DVD 42

Gathering Information About the System 46

Chapter Summary 47

Exercises 48

Advanced Exercises 48

Chapter 3: Step-by-Step Installation 49

Basic Installation from the Live/Install Desktop CD/DVD 50

Graphical Partitioners 58

Upgrading to a New Release 64

Installing KDE 65

Setting Up a Dual-Boot System 66

Advanced Installation 67

Chapter Summary 81

Exercises 81

Advanced Exercises 81

PART II: Getting Started with Ubuntu Linux 83

Chapter 4: Introduction to Ubuntu Linux 85

Curbing Your Power: root Privileges/sudo 86

A Tour of the Ubuntu Linux Desktop 87

Getting the Most out of the Desktop 104

Updating, Installing, and Removing Software Packages 116

Where to Find Documentation 121

More About Logging In 130

Working from the Command Line 135

Controlling Windows: Advanced Operations 138

Chapter Summary 140

Exercises 142

Advanced Exercises 142

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 160

Locating Commands 164

Obtaining 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 186

Pathnames 191

Working with Directories 193

Access Permissions 201

ACLs: Access Control Lists 207

Links 212

Chapter Summary 218

Exercises 220

Advanced Exercises 222

Chapter 7: The Shell 223

The Command Line 224

Standard Input and Standard Output 229

Running a Command in the Background 240

Filename Generation/Pathname Expansion 242

Builtins 247

Chapter Summary 247

Exercises 248

Advanced Exercises 250

PART III: Digging into Ubuntu Linux 251

Chapter 8: Linux GUIs: X and GNOME 253

X Window System 254

The Nautilus File Browser Window 262

GNOME Utilities 269

Chapter Summary 272

Exercises 273

Advanced Exercises 274

Chapter 9: The Bourne Again Shell 275

Background 276

Shell Basics 277

Parameters and Variables 296

Special Characters 310

Processes 312

History 314

Aliases 330

Functions 333

Controlling bash: Features and Options 336

Processing the Command Line 340

Chapter Summary 349

Exercises 351

Advanced Exercises 353

Chapter 10: Networking and the Internet 355

Types of Networks and How They Work 357

Communicate Over a Network 372

Network Utilities 374

Distributed Computing 381

Usenet 391

WWW: World Wide Web 393

Chapter Summary 395

Exercises 396

Advanced Exercises 397

PART IV: System Administration 399

Chapter 11: System Administration: Core Concepts 401

Running Commands with root Privileges 403

The Upstart Event-Based init Daemon 416

System Operation 426

Avoiding a Trojan Horse 436

Getting Help 438

Textual System Administration Utilities 438

Setting Up a Server 443

nsswitch.conf: Which Service to Look at First 458

PAM 461

Chapter Summary 466

Exercises 467

Advanced Exercises 467

Chapter 12: Files, Directories, and Filesystems 469

Important Files and Directories 470

File Types 482

Filesystems 487

Chapter Summary 497

Exercises 497

Advanced Exercises 498

Chapter 13: Downloading and Installing Software 499

JumpStart: Installing and Removing Packages Using aptitude 501

Finding the Package That Holds a File You Need 503

APT: Keeps the System Up-to-Date 504

dpkg: The Debian Package Management System 514

BitTorrent 521

Installing Non-dpkg Software 523

wget: Downloads Files Noninteractively 525

Chapter Summary 526

Exercises 527

Advanced Exercises 527

Chapter 14: Printing with CUPS 529

Introduction 530

JumpStart I: Configuring a Local Printer 531

system-config-printer: Configuring a Printer 532

JumpStart II: Setting Up a Local or Remote Printer Using the CUPS Web Interface 538

Traditional UNIX Printing 542

Configuring Printers 543

Printing from Windows 550

Printing to Windows 552

Chapter Summary 552

Exercises 552

Advanced Exercises 553

Chapter 15: Building a Linux Kernel 555

Prerequisites 556

Downloading the Kernel Source Code 557

Read the Documentation 559

Configuring and Compiling the Linux Kernel 559

Installing the Kernel, Modules, and Associated Files 566

Rebooting 567

grub: The Linux Boot Loader 567

dmesg: Displays Kernel Messages 575

Chapter Summary 576

Exercises 576

Advanced Exercises 576

Chapter 16: Administration Tasks 577

Configuring User and Group Accounts 578

Backing Up Files 582

Scheduling Tasks 588

System Reports 591

parted: Reports on and Partitions a Hard Disk 593

Keeping Users Informed 597

Creating Problems 598

Solving Problems 599

Chapter Summary 610

Exercises 610

Advanced Exercises 611

Chapter 17: Configuring a LAN 613

Setting Up the Hardware 614

Configuring the Systems 617

Setting Up Servers 622

More Information 623

Chapter Summary 623

Exercises 624

Advanced Exercises 624

PART V: Using Clients and Setting Up Servers 625

Chapter 18: OpenSSH: Secure Network Communication 627

Introduction to OpenSSH 628

Running the ssh, scp, and sftp OpenSSH Clients 631

Setting Up an OpenSSH Server (sshd) 640

Troubleshooting 644

Tunneling/Port Forwarding 645

Chapter Summary 648

Exercises 648

Advanced Exercises 649

Chapter 19: FTP: Transferring Files Across a Network 651

Introduction to FTP 652

Running the ftp and sftp FTP Clients 654

Setting Up an FTP Server (vsftpd) 663

Chapter Summary 675

Exercises 676

Advanced Exercises 676

Chapter 20: exim4: Setting Up Mail Servers, Clients, and More 677

Introduction to exim4 678

Setting up a Mail Server (exim4) 679

Working with exim4 Messages 684

Configuring an exim4 Mail Server 688

SpamAssassin 691

Additional Email Tools 695

Authenticated Relaying 700

Chapter Summary 702

Exercises 702

Advanced Exercises 703

Chapter 21: NIS and LDAP 705

Introduction to NIS 706

Running an NIS Client 708

Setting Up an NIS Server 714

LDAP 722

Setting Up an LDAP Server 724

Other Tools for Working with LDAP 731

Chapter Summary 734

Exercises 735

Advanced Exercises 735

Chapter 22: NFS: Sharing Filesystems 737

Introduction to NFS 738

Running an NFS Client 740

Setting Up an NFS Server 746

automount: Mounts Directory Hierarchies on Demand 756

Chapter Summary 759

Exercises 759

Advanced Exercises 760

Chapter 23: Samba: Linux and Windows File and Printer Sharing 761

Introduction to Samba 762

Setting up a Samba Server 764

Working with Linux Shares from Windows 776

Working with Windows Shares from Linux 777

Troubleshooting 779

Chapter Summary 782

Exercises 782

Advanced Exercises 782

Chapter 24: DNS/BIND: Tracking Domain Names and Addresses 783

Introduction to DNS 784

Setting Up a DNS Server 796

Setting Up Different Types of DNS Servers 811

Chapter Summary 821

Exercises 821

Advanced Exercises 822

Chapter 25: firestarter, ufw, and iptables: Setting Up a Firewall 823

Introduction to firestarter 824

firestarter: Setting Up and Maintaining a Firewall 826

ufw: The Uncomplicated Firewall 834

Introduction to iptables 836

Building a Set of Rules Using iptables 841

Copying Rules to and from the Kernel 847

Sharing an Internet Connection Using NAT 848

Chapter Summary 852

Exercises 853

Advanced Exercises 853

Chapter 26: Apache: Setting Up a Web Server 855

Introduction 856

Running a Web Server (Apache) 858

Configuration Directives 865

Configuration Files 888

Advanced Configuration 891

Troubleshooting 896

Modules 897

webalizer: Analyzes Web Traffic 904

MRTG: Monitors Traffic Loads 904

Error Codes 904

Chapter Summary 905

Exercises 906

Advanced Exercises 906

PART VI: Programming Tools 907

Chapter 27: Programming the Bourne Again Shell 909

Control Structures 910

File Descriptors 943

Parameters and Variables 946

Builtin Commands 958

Expressions 972

Shell Programs 980

Chapter Summary 990

Exercises 992

Advanced Exercises 994

Chapter 28: Perl 997

Introduction to Perl 998

Variables 1004

Control Structures 1011

Working with Files 1020

Sort 1023

Subroutines 1025

Regular Expressions 1027

CPAN Modules 1033

Examples 1035

Chapter Summary 1038

Exercises 1039

Advanced Exercises 1039

PART VII: Appendixes 1041

Appendix A: Regular Expressions 1043

Characters 1044

Delimiters 1044

Simple Strings 1044

Special Characters 1044

Rules 1047

Bracketing Expressions 1048

The Replacement String 1048

Extended Regular Expressions 1049

Appendix Summary 1051

Appendix B: Help 1053

Solving a Problem 1054

Finding Linux-Related Information 1055

Specifying a Terminal 1060

Appendix C: Security 1063

Encryption 1064

File Security 1069

Email Security 1069

Network Security 1070

Host Security 1073

Security Resources 1078

Appendix Summary 1081

Appendix D: The Free Software Definition 1083

Appendix E: The Linux 2.6 Kernel 1087

Native Posix Thread Library (NPTL) 1088

IPSecurity (IPSec) 1088

Asynchronous I/O (AIO) 1088

O(1) Scheduler 1089

OProfile 1089

kksymoops 1089

Reverse Map Virtual Memory (rmap VM) 1089

HugeTLBFS: Translation Look-Aside Buffer Filesystem 1090

remap_file_pages 1090

2.6 Network Stack Features (IGMPv3, IPv6, and Others) 1090

Internet Protocol Virtual Server (IPVS) 1091

Access Control Lists (ACLs) 1091

4GB-4GB Memory Split: Physical Address Extension (PAE) 1091

Scheduler Support for HyperThreaded CPUs 1091

Block I/O (BIO) Block Layer 1091

Support for Filesystems Larger Than 2 Terabytes 1092

New I/O Elevators 1092

Interactive Scheduler Response Tuning 1092

Glossary 1093

JumpStart Index 1143

File Tree Index 1145

Utility Index 1149

Main Index 1155


Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020