You are previewing Ubuntu® Linux® Bible: Featuring Ubuntu 10.04 LTS, Third Edition.
O'Reilly logo
Ubuntu® Linux® Bible: Featuring Ubuntu 10.04 LTS, Third Edition

Book Description

The best resource on the very latest for Ubuntu and Kubuntu users!

Ubuntu is a free, open-source, Linux-based operating system that can run on desktops, laptops, netbooks, and servers. If you've joined the millions of users around the world who prefer open-source OS-and Ubuntu in particular-this book is perfect for you. It walks you through the very latest on Ubuntu 9.10 and 10.04, also discussing applications from the KDE version Kubuntu, with pages of step-by-step instruction, helpful tips, and expert techniques.

  • Walks you through Ubuntu 9.10 and Ubuntu 10.04, the latest versions of one of the most highly regarded open-source operating systems in the world

  • Explores new changes and features, including synchronization of packages from other distributions, the latest Linux kernel enhancements, and the latest release of GNOME

  • Discusses applications from the KDE version of Ubuntu, called Kubuntu, making this book a top resource for both Ubuntu and Kubuntu users

  • Offers step-by-step instruction, valuable tips, and sound guidance for home, business, and academic users

  • Comes with a CD with a ready-to-run version of Ubuntu 9.10

Updating your Ubuntu? Ubuntu Linux 9.10 and 10.04 Bible, Third Edition is the book you need to succeed!

Table of Contents

  1. Copyright
  2. About the Author
  3. Credits
  4. Acknowledgments
  5. Introduction
    1. Who Should Read This Book
    2. How This Book Is Organized
      1. Part I: Getting Started with Ubuntu
      2. Part II: Ubuntu for Desktop Users
      3. Part III: Ubuntu for System Administrators
    3. Conventions Used in This Book
      1. Tips, Notes, and Cautions
  6. I. Getting Started With Ubuntu
    1. 1. The Ubuntu Linux Project
      1. 1.1. Background
        1. 1.1.1. Why Use Linux?
        2. 1.1.2. What Is a Linux Distribution?
      2. 1.2. Introducing Ubuntu Linux
        1. 1.2.1. The Ubuntu Manifesto
        2. 1.2.2. Ubuntu Release Schedule
        3. 1.2.3. Ubuntu Update and Maintenance Commitments
        4. 1.2.4. Ubuntu and the Debian Project
      3. 1.3. Why Choose Ubuntu?
      4. 1.4. What Versions of Ubuntu Are Available?
        1. 1.4.1. Desktop and Laptop Users
        2. 1.4.2. Netbook/MID Users
        3. 1.4.3. Server Users
      5. 1.5. Installation Requirements
        1. 1.5.1. Supported System Types
        2. 1.5.2. Hardware Requirements
        3. 1.5.3. Time Requirements
      6. 1.6. Ubuntu CDs
      7. 1.7. Support for Ubuntu
        1. 1.7.1. Community Support and Information
          1. 1.7.1.1. Blogs
          2. 1.7.1.2. Ubuntu Forums
          3. 1.7.1.3. IRC
          4. 1.7.1.4. Mailing Lists
          5. 1.7.1.5. What's on the Fridge?
        2. 1.7.2. Documentation
        3. 1.7.3. Commercial Support for Ubuntu Linux
          1. 1.7.3.1. Paid Support from Canonical, Ltd.
          2. 1.7.3.2. The Ubuntu Marketplace
      8. 1.8. Getting More Information about Ubuntu
      9. 1.9. Summary
    2. 2. Installing Ubuntu
      1. 2.1. Getting a 64-Bit Desktop CD
      2. 2.2. Booting from a Desktop CD
      3. 2.3. Installing Ubuntu from a Desktop CD
        1. 2.3.1. Booting Ubuntu
        2. 2.3.2. Booting Ubuntu on Dual-Boot Systems
        3. 2.3.3. The First Time You Boot Ubuntu
      4. 2.4. Test-Driving Ubuntu Linux
        1. 2.4.1. Exploring the Desktop CD's Examples Folder
        2. 2.4.2. Accessing Your Hard Drive from the Desktop CD
          1. 2.4.2.1. Accessing Existing Partitions from a Desktop CD
        3. 2.4.3. Copying Files to Other Machines over a Network
        4. 2.4.4. Using Desktop CD Persistence
      5. 2.5. Wubi: Installing Ubuntu on Windows
      6. 2.6. Summary
    3. 3. Installing Ubuntu on Special-Purpose Systems
      1. 3.1. Getting a Different Install CD
      2. 3.2. Booting from a Server or Alternate Install CD
      3. 3.3. Install Options on the Server Install CD
        1. 3.3.1. Installing an Ubuntu Server
        2. 3.3.2. Manually Specifying Your Partition Layout
        3. 3.3.3. Booting Your Server for the First Time
      4. 3.4. Installing an Ubuntu Enterprise Cloud
      5. 3.5. Install Options on the Alternate Install CD
        1. 3.5.1. Installing a Desktop System in Text Mode
        2. 3.5.2. Installing in OEM Mode
        3. 3.5.3. Installing a Command-Line System
        4. 3.5.4. Installing an LTSP Server
      6. 3.6. Summary
  7. II. Ubuntu for Desktop Users
    1. 4. Basic Linux System Concepts
      1. 4.1. Working with Files and Directories
        1. 4.1.1. Standard Linux Directories
        2. 4.1.2. Other Common Directories on Linux Systems
      2. 4.2. Introduction to Linux Filesystems
        1. 4.2.1. Disks, Partitions, and Mountpoints
        2. 4.2.2. Introducing Logical Volumes
        3. 4.2.3. Local Filesystems: Standard and Journaling
        4. 4.2.4. Network Filesystems
      3. 4.3. Working with Partitions and Filesystems
        1. 4.3.1. Mounting Filesystems
        2. 4.3.2. Automatically Mounting Filesystems at Boot Time
        3. 4.3.3. Automatically Mounting Removable Media Filesystems
      4. 4.4. Understanding Linux Permissions
        1. 4.4.1. Basic Concepts: Users and Groups
        2. 4.4.2. File and Directory Permissions under Linux
        3. 4.4.3. Performing Privileged Operations in Ubuntu
      5. 4.5. Summary
    2. 5. Using the GNOME Desktop
      1. 5.1. What's a Desktop? Graphical Environments for Linux
      2. 5.2. Using the Mouse
      3. 5.3. GNOME Desktop Overview
      4. 5.4. GNOME Application Windows
      5. 5.5. Menus in GNOME
        1. 5.5.1. Panel Menus
          1. 5.5.1.1. The Application Menu
          2. 5.5.1.2. The Places Menu
          3. 5.5.1.3. The System Menu
        2. 5.5.2. Context-Sensitive Menus
        3. 5.5.3. Customizing GNOME Menus
      6. 5.6. Customizing Your Desktop
        1. 5.6.1. Customizing Mouse Behavior
        2. 5.6.2. Configuring Screen Resolution
        3. 5.6.3. Customizing Panels
          1. 5.6.3.1. Customizing Panel Properties
          2. 5.6.3.2. Customizing Panel Contents
        4. 5.6.4. Configuring the Screensaver
        5. 5.6.5. Configuring Power Management
        6. 5.6.6. Changing Desktop Backgrounds
        7. 5.6.7. Switching Themes
        8. 5.6.8. Assistive Technologies for Using GNOME
      7. 5.7. GNOME Keyboard Shortcuts
      8. 5.8. Introducing the Nautilus File Manager
        1. 5.8.1. Basic Operations in Nautilus
        2. 5.8.2. Examples of Using Nautilus
          1. 5.8.2.1. Exploring the Filesystem
          2. 5.8.2.2. Copying Files or Directories
          3. 5.8.2.3. Selecting Multiple Files and Directories
          4. 5.8.2.4. Moving Files or Directories
          5. 5.8.2.5. Renaming a File or Directory
          6. 5.8.2.6. Creating a Directory
        3. 5.8.3. Getting More Information about Nautilus
      9. 5.9. Using the Tracker Desktop Search Application
        1. 5.9.1. Searching with Tracker
        2. 5.9.2. Configuring Tracker
        3. 5.9.3. Using the GNOME Deskbar Applet
      10. 5.10. Using a Window Manager
      11. 5.11. Summary
    3. 6. Using the Compiz Window Manager
      1. 6.1. What Is Compositing? Why All the Fuss?
      2. 6.2. Compiz History: Compiz, Emerald, Beryl, and Friends
      3. 6.3. Enabling Special Effects in Compiz
        1. 6.3.1. Using the Appearance Preferences Application
        2. 6.3.2. Detailed Compiz Configuration
          1. 6.3.2.1. Configuring Compiz Using GNOME Configuration Tools
          2. 6.3.2.2. Installing and Using CompizConfig Settings Manager
      4. 6.4. Other Useful Packages for Compiz
        1. 6.4.1. Installing and Using the Avant Window Navigator
        2. 6.4.2. Other Dock Software for Ubuntu Systems
        3. 6.4.3. Using Emerald and the Emerald Theme Manager
      5. 6.5. Summary
    4. 7. Managing E-Mail and Personal Information with Evolution
      1. 7.1. Starting Evolution
      2. 7.2. Using the Evolution Setup Assistant
      3. 7.3. Sending and Receiving Mail
        1. 7.3.1. Sending Mail in Evolution
        2. 7.3.2. Setting Evolution Preferences for Sending and Viewing Mail
        3. 7.3.3. Undeleting Mail Messages
        4. 7.3.4. Creating and Using Mail Folders
        5. 7.3.5. Using Search Folders
      4. 7.4. Filtering Incoming Mail
        1. 7.4.1. Automatically Processing Incoming Mail
        2. 7.4.2. Automatically Checking for Junk Mail
      5. 7.5. Accessing Free and Web-Based E-Mail
        1. 7.5.1. Reading Gmail from a Desktop Mail Client
          1. 7.5.1.1. Selecting a Transport Protocol in Gmail
          2. 7.5.1.2. Accessing Gmail Using POP
          3. 7.5.1.3. Accessing Gmail Using IMAP
        2. 7.5.2. Reading Mail from Other Web-Based Mail Providers
          1. 7.5.2.1. Installing and Using FreePOPs!
          2. 7.5.2.2. Creating POP Accounts for Use with FreePOPs!
      6. 7.6. Managing Contacts
        1. 7.6.1. Configuring Evolution's Contact Support
          1. 7.6.1.1. Configuring Contact/E-Mail Interaction
          2. 7.6.1.2. Accessing Remote Contact Information via LDAP
        2. 7.6.2. Adding and Editing Contact Information
        3. 7.6.3. Defining Mailing Lists
      7. 7.7. Managing Your Calendar
        1. 7.7.1. Basic Calendar Configuration
          1. 7.7.1.1. Defining Your Work Day and Work Hours
          2. 7.7.1.2. Setting Event Granularity on Your Calendar
        2. 7.7.2. Creating and Editing Personal Calendar Entries
        3. 7.7.3. Creating and Editing Meetings
        4. 7.7.4. Integrating Online Calendars
        5. 7.7.5. Publishing Your Free/Busy Information
      8. 7.8. Additional Sources of Information about Evolution
      9. 7.9. Summary
    5. 8. Surfing the Web with Firefox
      1. 8.1. A Quick History of Firefox
      2. 8.2. Starting Firefox
      3. 8.3. The Firefox User Interface
        1. 8.3.1. Standard Parts of a Firefox Window
        2. 8.3.2. Using the Mouse in Firefox
        3. 8.3.3. Special and Not-So-Special Firefox Features
      4. 8.4. Configuring Firefox
        1. 8.4.1. Setting Your Home Page
        2. 8.4.2. Controlling Pop-Ups, JavaScript, and More
        3. 8.4.3. Configuring Your Privacy Settings
      5. 8.5. Working with Bookmarks
        1. 8.5.1. Creating Bookmarks in Firefox
        2. 8.5.2. Managing Your Bookmarks
        3. 8.5.3. Creating Live Bookmarks
      6. 8.6. Enhancing Firefox
        1. 8.6.1. Registering for Add-Ons
        2. 8.6.2. Viewing Installed Firefox Add-Ons, Themes, and Personas
        3. 8.6.3. Adding Firefox Add-Ons, Themes, and Personas
        4. 8.6.4. Adding New Firefox Plug-Ins
      7. 8.7. Summary
    6. 9. Migrating from Windows Systems
      1. 9.1. Overview of Migration Scenarios
      2. 9.2. Backing Up Your Personal Data
      3. 9.3. Migrating E-Mail to Linux
        1. 9.3.1. Migrating Mail via Thunderbird
          1. 9.3.1.1. Where Thunderbird Stores Its Mail
          2. 9.3.1.2. Installing or Updating Thunderbird
          3. 9.3.1.3. Importing Mail into Thunderbird: New Users
          4. 9.3.1.4. Importing Mail into Thunderbird: Existing Users
          5. 9.3.1.5. Importing Thunderbird Mail into Evolution
        2. 9.3.2. Manually Migrating Mail
          1. 9.3.2.1. Migrating Outlook Express Mail with readdbx
          2. 9.3.2.2. Migrating Outlook Mail with readpst
      4. 9.4. Migrating Web/Browser Settings to Linux
        1. 9.4.1. Migrating from Firefox to Firefox
          1. 9.4.1.1. Checking Your Ubuntu System First
          2. 9.4.1.2. Migrating an Existing Profile
          3. 9.4.1.3. Troubleshooting Profile Migration
        2. 9.4.2. Migrating from Internet Explorer/Safari to Firefox
        3. 9.4.3. Migrating Just Your Bookmarks
          1. 9.4.3.1. Exporting Internet Explorer Bookmarks
          2. 9.4.3.2. Exporting Safari Bookmarks
          3. 9.4.3.3. Importing Bookmarks into Firefox
      5. 9.5. Working with Windows Application Data
      6. 9.6. Summary
    7. 10. Sending and Receiving Instant Messages
      1. 10.1. Instant Messaging Overview
      2. 10.2. Getting an Instant Messaging Account
      3. 10.3. Instant Messaging on Ubuntu with Empathy
        1. 10.3.1. Starting Empathy
        2. 10.3.2. Configuring Instant Messaging Accounts in Empathy
          1. 10.3.2.1. Importing Pidgin Accounts
          2. 10.3.2.2. Defining Existing Accounts Manually
          3. 10.3.2.3. Creating a New Account
          4. 10.3.2.4. Seeing People Online Nearby
          5. 10.3.2.5. Adding and Removing Empathy Accounts
        3. 10.3.3. Using Empathy
          1. 10.3.3.1. Adding Contacts in Empathy
          2. 10.3.3.2. Reviewing Past Conversations
          3. 10.3.3.3. Exiting Empathy
        4. 10.3.4. Getting More Information about Empathy
      4. 10.4. Instant Messaging on Ubuntu with Pidgin
        1. 10.4.1. Configuring Instant Messaging Accounts in Pidgin
        2. 10.4.2. Using Pidgin
          1. 10.4.2.1. Connecting to Your IM Accounts in Pidgin
          2. 10.4.2.2. Adding Buddies in Pidgin
          3. 10.4.2.3. Organizing Buddies in Pidgin
          4. 10.4.2.4. Viewing Buddies in Pidgin
          5. 10.4.2.5. Logging Your Conversations
          6. 10.4.2.6. Exiting Pidgin
        3. 10.4.3. Getting More Information about Pidgin
      5. 10.5. Using IRC
        1. 10.5.1. Using IRC in Empathy
        2. 10.5.2. Getting More Information about IRC
      6. 10.6. Other Instant Messaging Packages
      7. 10.7. Resolving IM Communication Problems
      8. 10.8. Summary
    8. 11. Using Command-Line Tools
      1. 11.1. Why Use the Command Line?
      2. 11.2. Executing Commands from the Command Line
      3. 11.3. What's a Shell?
      4. 11.4. Getting to a Shell
        1. 11.4.1. Using the GNOME Terminal Application
        2. 11.4.2. Using the X Window System Terminal Application
      5. 11.5. Popular Command-Line Commands
        1. 11.5.1. Moving Around in the Linux Filesystem
        2. 11.5.2. Copying, Moving, Renaming, and Deleting Files and Directories
        3. 11.5.3. Changing File and Directory Permissions
        4. 11.5.4. Finding Commands That Do Specific Things
      6. 11.6. Working with the Bash Shell
        1. 11.6.1. Using Command History
        2. 11.6.2. Using Command and Filename Completion
        3. 11.6.3. Using Wildcards
        4. 11.6.4. Pipes and Input and Output Re-Direction
        5. 11.6.5. Introducing Job Control
        6. 11.6.6. Exploring the Bash Configuration File
        7. 11.6.7. Using Environment Variables
        8. 11.6.8. Defining and Using Aliases
      7. 11.7. Summary
    9. 12. Working with Text Files
      1. 12.1. Introduction to Linux Text Editors
      2. 12.2. Using vi
        1. 12.2.1. Starting and Exiting vi
        2. 12.2.2. Inserting Text in vi
        3. 12.2.3. Moving Around in vi
        4. 12.2.4. Deleting and Changing Text in vi
        5. 12.2.5. Cutting, Copying, and Pasting in vi
        6. 12.2.6. Searching for and Replacing Text in vi
        7. 12.2.7. Undoing Changes in vi
        8. 12.2.8. Using Multiple Windows in vi
        9. 12.2.9. Customizing vim
        10. 12.2.10. Graphical Versions of vi
        11. 12.2.11. More Information about vi and vim
      3. 12.3. Using Emacs
        1. 12.3.1. A Few Words about Emacs Commands
        2. 12.3.2. Emacs Terminology
        3. 12.3.3. Starting and Exiting Emacs
        4. 12.3.4. Moving Around in Emacs
        5. 12.3.5. Cutting, Copying, and Pasting in Emacs
        6. 12.3.6. Searching for and Replacing Text in Emacs
        7. 12.3.7. Working with Multiple Windows and Buffers in Emacs
        8. 12.3.8. Customizing Emacs
          1. 12.3.8.1. Changing Key Bindings
          2. 12.3.8.2. Setting Variables
          3. 12.3.8.3. Specifying Modes
          4. 12.3.8.4. Changing File Associations
          5. 12.3.8.5. Defining Your Own Functions
        9. 12.3.9. Getting More Information about Emacs
      4. 12.4. Using gedit
      5. 12.5. Other Text Editors for Linux Systems
      6. 12.6. Summary
    10. 13. Creating and Publishing Documents
      1. 13.1. Using Document Markup Languages
        1. 13.1.1. Using TeX and LaTeX
        2. 13.1.2. More Information about TeX and LaTeX
      2. 13.2. Word Processing with OpenOffice.org Writer
        1. 13.2.1. Installing Files for Writer
        2. 13.2.2. Taking a Quick Tour of Writer
        3. 13.2.3. Personalizing Writer
        4. 13.2.4. Using Wizards to Create Documents
        5. 13.2.5. Modifying Document Styles and Layout
        6. 13.2.6. Creating and Using Templates
        7. 13.2.7. Importing Documents from Other Word Processors
        8. 13.2.8. More Information about Writer
      3. 13.3. Desktop Publishing with Scribus
        1. 13.3.1. Installing Scribus
        2. 13.3.2. A Quick Scribus Tutorial
        3. 13.3.3. More Information about Scribus
      4. 13.4. Other Word Processors and Office Suites
      5. 13.5. Summary
    11. 14. Other Office Software: Spreadsheets and Presentations
      1. 14.1. Introduction to Spreadsheets
      2. 14.2. Using OpenOffice.org Calc
        1. 14.2.1. Starting Calc
        2. 14.2.2. Taking a Quick Tour of Calc
        3. 14.2.3. A Quick Calc Tutorial
        4. 14.2.4. Invoking Functions in Calc
        5. 14.2.5. Specifying the Type of Data in a Cell
        6. 14.2.6. Importing Existing Spreadsheets into Calc
          1. 14.2.6.1. Supported Import Formats
          2. 14.2.6.2. Importing Spreadsheets Using the Document Converter
      3. 14.3. Creating and Using OpenOffice.org Presentations
        1. 14.3.1. Starting Impress
          1. 14.3.1.1. Using the Presentation Wizard
        2. 14.3.2. Taking a Quick Tour of Impress
        3. 14.3.3. Creating a Presentation
        4. 14.3.4. Importing Existing Presentations
      4. 14.4. Summary
    12. 15. Working with Graphics
      1. 15.1. Overview of Digital Graphics Terminology
      2. 15.2. Using GIMP
        1. 15.2.1. Starting GIMP
        2. 15.2.2. A Quick Tour of GIMP
        3. 15.2.3. Sample GIMP Tasks
          1. 15.2.3.1. Taking Screenshots Using GIMP
          2. 15.2.3.2. Converting and Reducing Images Using GIMP
        4. 15.2.4. More Information about GIMP
      3. 15.3. Photo Editing Overview
      4. 15.4. Using OpenOffice.org Draw
        1. 15.4.1. Starting Draw
        2. 15.4.2. A Quick Tour of Draw
      5. 15.5. More Information about OpenOffice.org Draw
      6. 15.6. Vector Graphics Tools for Linux
        1. 15.6.1. Using Inkscape
          1. 15.6.1.1. Starting Inkscape
          2. 15.6.1.2. A Quick Tour of Inkscape
          3. 15.6.1.3. More Information about Inkscape
      7. 15.7. Other Graphics Applications
      8. 15.8. Summary
    13. 16. Working with Multimedia
      1. 16.1. Overview of Digital Audio and Video Terminology
      2. 16.2. Configuring Sound Devices, Levels, and System Sounds
        1. 16.2.1. Specifying and Testing Sound Devices
        2. 16.2.2. Setting System Sound Levels
        3. 16.2.3. Testing and Customizing System Sounds
        4. 16.2.4. Getting Detailed Information about Your Sound Hardware
        5. 16.2.5. Setting Blank CD and DVD Preferences
      3. 16.3. Exploring the Linux Multimedia Stack
        1. 16.3.1. Introducing Drivers, Servers, and Frameworks
          1. 16.3.1.1. Linux Sound APIs
          2. 16.3.1.2. Linux Sound Servers
          3. 16.3.1.3. Linux Multimedia Frameworks
          4. 16.3.1.4. What Should You Care About?
        2. 16.3.2. Configuring the GStreamer Framework and Plug-Ins
        3. 16.3.3. Configuring PulseAudio
      4. 16.4. Playing CDs and DVDs
        1. 16.4.1. Playing Audio CDs Using Rhythmbox
        2. 16.4.2. Installing Software to Play Encrypted DVDs
        3. 16.4.3. Playing DVDs with Totem
      5. 16.5. Ripping Audio CDs
        1. 16.5.1. Ripping Audio CDs Using Rhythmbox
        2. 16.5.2. Ripping Audio CDs Using k3b
        3. 16.5.3. Backing Up DVDs from the Command Line
      6. 16.6. Creating CDs and DVDs
        1. 16.6.1. Burning CDs Using Brasero
          1. 16.6.1.1. Creating Audio CDs with Brasero
          2. 16.6.1.2. Burning CD and DVD Images Using Brasero
        2. 16.6.2. Burning Data CDs and DVDs Using Nautilus
        3. 16.6.3. Burning CDs and DVDs Using k3b
          1. 16.6.3.1. Burning an Audio CD Using k3b
          2. 16.6.3.2. Burning an ISO Image to CD or DVD with k3b
          3. 16.6.3.3. Copying a CD or DVD with k3b
      7. 16.7. Working with Other Audio Sources
        1. 16.7.1. Playing Audio Files and Internet Radio Using Rhythmbox
          1. 16.7.1.1. Creating Playlists
          2. 16.7.1.2. Playing and Adding Internet Radio Stations
          3. 16.7.1.3. Adding and Playing Podcasts
        2. 16.7.2. Converting Audio File Formats
      8. 16.8. Summary
    14. 17. Would You Like to Play a Game?
      1. 17.1. GNOME Games on Ubuntu
        1. 17.1.1. Card Games
          1. 17.1.1.1. AisleRiot Solitaire
          2. 17.1.1.2. Tali
        2. 17.1.2. Board Games
          1. 17.1.2.1. Chess
          2. 17.1.2.2. Five or More
          3. 17.1.2.3. gbrainy
          4. 17.1.2.4. Iagno
          5. 17.1.2.5. Klotski
          6. 17.1.2.6. Lights Off
          7. 17.1.2.7. Mahjongg
          8. 17.1.2.8. Mines
          9. 17.1.2.9. Sudoku
          10. 17.1.2.10. Tetravex
        3. 17.1.3. Video Games
          1. 17.1.3.1. Four-in-a-Row
          2. 17.1.3.2. Nibbles
          3. 17.1.3.3. Quadrapassel
          4. 17.1.3.4. Robots
          5. 17.1.3.5. Swell Foop
      2. 17.2. Other Popular Games
        1. 17.2.1. Billions and Billions of Versions of Chess
        2. 17.2.2. Go
        3. 17.2.3. Monopoly Clones
        4. 17.2.4. Scrabble Clones
        5. 17.2.5. Unique Arcade Games for Linux
          1. 17.2.5.1. Atomic Tanks
          2. 17.2.5.2. DOOM
          3. 17.2.5.3. Frozen Bubble
          4. 17.2.5.4. Metal Blob Solid
          5. 17.2.5.5. Tux Racer
          6. 17.2.5.6. More Great Arcade Games
      3. 17.3. Summary
    15. 18. Consumer Electronics and Ubuntu
      1. 18.1. Configuring Your System for Consumer Electronics Devices
        1. 18.1.1. Default Actions
        2. 18.1.2. Customizing Digital Device Recognition
      2. 18.2. Working with Your Digital Camera
      3. 18.3. Working with iPods and Other Digital Audio Players
        1. 18.3.1. Digital Audio Players and Rhythmbox on Ubuntu
          1. 18.3.1.1. Playing Music
          2. 18.3.1.2. Copying Music to an Audio Player
          3. 18.3.1.3. Copying Music from an Audio Player
          4. 18.3.1.4. Removing Music from an Audio Player
          5. 18.3.1.5. Creating, Renaming, and Editing Playlists
          6. 18.3.1.6. Disconnecting Your Audio Player
        2. 18.3.2. Working with an iPod Using gtkpod
          1. 18.3.2.1. Attaching Your iPod
          2. 18.3.2.2. Using gtkpod
            1. 18.3.2.2.1. Adding Music to Your iPod
            2. 18.3.2.2.2. Creating and Editing Playlists on Your iPod
          3. 18.3.2.3. Writing Changes to Your iPod
          4. 18.3.2.4. Safely Disconnecting Your iPod
      4. 18.4. Working with CompactFlash and SD Cards
      5. 18.5. Summary
    16. 19. Adding, Removing, and Updating Software
      1. 19.1. Installing Software with the Ubuntu Software Center
      2. 19.2. Package Management Software Overview
      3. 19.3. Ubuntu Repositories and Components
        1. 19.3.1. Enabling Additional Repository Components
        2. 19.3.2. Other Repositories of Interest
        3. 19.3.3. Enabling Additional Repository Sources Using the Software Sources Tool
        4. 19.3.4. Problems Adding or Accessing Nonstandard Repositories
      4. 19.4. Exploring Your System Using dpkg and Friends
        1. 19.4.1. Listing the Packages That Are Installed on Your System
        2. 19.4.2. Listing the Packages That Are Available for Your System
        3. 19.4.3. Listing Information about a Package
        4. 19.4.4. Listing the Contents of a Package
        5. 19.4.5. Determining What Package Provides an Existing File
        6. 19.4.6. Determining What Package Provides a Missing File
      5. 19.5. Using apt-get to Add and Remove Software
        1. 19.5.1. Upgrading Your System Using apt-get
        2. 19.5.2. Smart System Upgrades Using apt-get
        3. 19.5.3. Retrieving Package Source Code Using apt-get
        4. 19.5.4. Satisfying Build Dependencies Using apt-get
      6. 19.6. Using aptitude to Add and Remove Software
        1. 19.6.1. Tips and Tricks for Using the aptitude User Interface
        2. 19.6.2. Using aptitude to Install Recommended Software
        3. 19.6.3. Advantages of Using aptitude to Install and Remove Software
      7. 19.7. Using Synaptic to Add and Remove Software
        1. 19.7.1. Configuring Synaptic Preferences
        2. 19.7.2. Searching for Software in Synaptic
        3. 19.7.3. Installing Packages in Synaptic
        4. 19.7.4. Removing Packages in Synaptic
      8. 19.8. Using the Ubuntu Update Manager
      9. 19.9. Converting Packages from Other Package Formats
      10. 19.10. Keeping Your System Lean, Mean, and Pristine
      11. 19.11. Summary
    17. 20. Adding Hardware and Attaching Peripherals
      1. 20.1. Adding a Printer
        1. 20.1.1. Configuring an Existing Printer
        2. 20.1.2. Manually Defining a New Printer
      2. 20.2. Using a Scanner
        1. 20.2.1. Using Simple Scan
        2. 20.2.2. Using XSane
      3. 20.3. Adding Internal Disks and CD/DVD Drives
        1. 20.3.1. Adding EIDE/PATA Drives
        2. 20.3.2. Adding SATA Drives
        3. 20.3.3. Adding SCSI Drives
        4. 20.3.4. Troubleshooting Boot Problems After Adding New Drives
          1. 20.3.4.1. Changes to BIOS Hard Disk and Boot Device Priority Settings
          2. 20.3.4.2. Problems After Adding IDE Drives to a SATA System
          3. 20.3.4.3. Problems Related to SATA Drive Name Changes
          4. 20.3.4.4. Temporarily Changing GRUB Boot Loader Information
          5. 20.3.4.5. Problems After Adding PATA/SATA Drives to an SCSI System
        5. 20.3.5. Locating, Partitioning, and Formatting New Drives
          1. 20.3.5.1. Using the GNOME Partition Editor to Examine and Format Drives
          2. 20.3.5.2. Using Command-Line Tools to Identify Drives and Partitions
          3. 20.3.5.3. Using Command-Line Utilities to Partition and Format Drives
      4. 20.4. Using PCMCIA Cards
      5. 20.5. Adding PCI Cards
      6. 20.6. Examining and Troubleshooting Devices Graphically
      7. 20.7. Summary
    18. 21. Network Configuration and Security
      1. 21.1. Networking 101
      2. 21.2. Configuring Your Network Hardware
        1. 21.2.1. Using the Network Manager
          1. 21.2.1.1. Configuring Wired Connections
          2. 21.2.1.2. Configuring Wireless Connections
          3. 21.2.1.3. Configuring a VPN Connection
        2. 21.2.2. Configuration Files for Network Interfaces
      3. 21.3. Network Testing with Network Tools
      4. 21.4. Tips for Securing Your System
      5. 21.5. Installing a Firewall
        1. 21.5.1. Overview of Linux Firewalling and Packet Filtering
        2. 21.5.2. Installing and Configuring a Firewall
      6. 21.6. Summary
    19. 22. Going Wireless
      1. 22.1. Overview of Wireless Technologies
      2. 22.2. Using Wicd
        1. 22.2.1. Installing Wicd
        2. 22.2.2. Using Wicd
        3. 22.2.3. Configuring Wicd
      3. 22.3. Command-Line Tools for Wireless Networking
      4. 22.4. Installing and Using Windows Networking Drivers
        1. 22.4.1. Installing NDIS Wrapper and Friends
        2. 22.4.2. Installing Microsoft Windows Drivers
        3. 22.4.3. NDIS Wrapper Tips and Tricks
      5. 22.5. Summary
    20. 23. Software Development on Ubuntu
      1. 23.1. Installing and Using Development Software
        1. 23.1.1. Installing GCC Compilers, make, and Friends
        2. 23.1.2. GCC Compiler Overview
        3. 23.1.3. Using GCC's C Compiler
        4. 23.1.4. Creating Simple Makefiles
      2. 23.2. Using an Integrated Development Environment
        1. 23.2.1. Popular IDEs for Linux
        2. 23.2.2. Installing Eclipse
        3. 23.2.3. Using Eclipse for C Application Development
          1. 23.2.3.1. Starting Eclipse
          2. 23.2.3.2. Getting Add-Ons and Updates
          3. 23.2.3.3. Creating a New Source Project in Eclipse
          4. 23.2.3.4. Importing an Existing Source Project into Eclipse
        4. 23.2.4. Getting More Information about Eclipse
      3. 23.3. Source Code Control Software
        1. 23.3.1. The Concurrent Versioning System (CVS)
        2. 23.3.2. Installing and Using Subversion
          1. 23.3.2.1. Installing Subversion
          2. 23.3.2.2. Setting Up a Subversion Repository
          3. 23.3.2.3. Importing Projects into a Subversion Repository
          4. 23.3.2.4. Setting Up a Subversion Server
            1. 23.3.2.4.1. Configuring Apache2 for Subversion Support
            2. 23.3.2.4.2. Configuring the svnserve Server
          5. 23.3.2.5. Checking Files Out of a Subversion Repository
          6. 23.3.2.6. Committing Changes to a Subversion Repository
          7. 23.3.2.7. Getting More Information about Subversion
      4. 23.4. Summary
    21. 24. Using Virtual Machines and Emulators
      1. 24.1. Overview of Virtualization and Emulation
        1. 24.1.1. Why Virtualize?
        2. 24.1.2. Types of Virtual Machines
        3. 24.1.3. What Kinds of Virtualization Can I Use?
        4. 24.1.4. Selecting a Virtualization Technology
        5. 24.1.5. Popular Emulation Software for Linux
        6. 24.1.6. Managing Virtual and Emulated Machines
        7. 24.1.7. Getting More Information about Virtualization
      2. 24.2. Installing and Using VirtualBox
        1. 24.2.1. VirtualBox Overview
        2. 24.2.2. Installing VirtualBox
        3. 24.2.3. Creating a Virtual Machine in VirtualBox
        4. 24.2.4. Installing an Operating System in a Virtual Machine
        5. 24.2.5. Installing VirtualBox Guest Additions
        6. 24.2.6. Starting and Stopping Virtual Machines
        7. 24.2.7. Networking and VirtualBox
        8. 24.2.8. Fixing Virtual Machine Boot/Installation Problems
      3. 24.3. Installing and Using KVM
        1. 24.3.1. Installing KVM and Related Packages
        2. 24.3.2. Creating a Disk for a KVM Virtual Machine
        3. 24.3.3. Installing an Operating System in a Virtual Machine
        4. 24.3.4. Starting a KVM Virtual Machine
        5. 24.3.5. Networking for KVM
          1. 24.3.5.1. Using KVM with User Networking
          2. 24.3.5.2. Using KVM with a Virtual Bridge
      4. 24.4. Installing and Using QEMU
      5. 24.5. Summary
    22. 25. Connecting to Other Systems
      1. 25.1. Establishing Secure Connections to Other Systems
        1. 25.1.1. Logging In to Remote Systems Using ssh
        2. 25.1.2. Enabling Incoming SSH Connections to Your System
      2. 25.2. Connecting to Other Systems Using VNC
        1. 25.2.1. Configuring a VNC Server
          1. 25.2.1.1. Enabling and Configuring Ubuntu's Vino VNC Server
        2. 25.2.2. VNC Client and Server Software for Other Systems
          1. 25.2.2.1. VNC Servers and Clients for Mac OS X
          2. 25.2.2.2. VNC Clients and Servers for Windows
        3. 25.2.3. Using Ubuntu's Remote Desktop Viewer
      3. 25.3. Connecting to Remote Windows Terminal Servers
        1. 25.3.1. Using rdesktop for Terminal Server Connections
        2. 25.3.2. Using Ubuntu's tsclient for Terminal Server Connections
      4. 25.4. Using Other Remote Connection Software
      5. 25.5. Summary
    23. 26. File Transfer and Sharing
      1. 26.1. Transferring Files to Other Systems
        1. 26.1.1. Using FTP
          1. 26.1.1.1. Connecting to an FTP Server from the GNOME Desktop
          2. 26.1.1.2. Connecting to an FTP Server from the Command Line
          3. 26.1.1.3. Connecting to an FTP Server Using Graphical Clients
        2. 26.1.2. Accessing Shares on Windows Systems
          1. 26.1.2.1. Locating Windows Shares
          2. 26.1.2.2. Mounting Windows Shares at Boot Time
          3. 26.1.2.3. Connecting to Windows Shares from the GNOME Desktop
          4. 26.1.2.4. Connecting to Windows Shares from the Command Line
        3. 26.1.3. Accessing NFS Directories from Linux Systems
      2. 26.2. Peer-to-Peer File Sharing on Ubuntu
        1. 26.2.1. Installing and Using gtk-gnutella
          1. 26.2.1.1. Installing gtk-gnutella
          2. 26.2.1.2. Using gtk-gnutella
        2. 26.2.2. Using BitTorrent
          1. 26.2.2.1. Using Transmission on Ubuntu Systems
          2. 26.2.2.2. Finding Torrents
          3. 26.2.2.3. Getting More Information about BitTorrent
      3. 26.3. Summary
  8. III. Ubuntu for System Administrators
    1. 27. Managing Users, Groups, and Authentication
      1. 27.1. Creating and Managing Users and Groups
        1. 27.1.1. Managing Users and Groups on Ubuntu Systems
          1. 27.1.1.1. Creating New Users
          2. 27.1.1.2. Managing Existing Users
          3. 27.1.1.3. Creating New Groups
          4. 27.1.1.4. Managing Existing Groups
      2. 27.2. PAMs and the Linux Authentication Process
        1. 27.2.1. PAM Configuration Files for Applications and Services
        2. 27.2.2. Example: PAMs Used by the Login Process
        3. 27.2.3. Configuration Files for Various PAMs
        4. 27.2.4. What if PAM Configuration Files Are Missing?
      3. 27.3. Customizing the sudo Command
      4. 27.4. Configuring Kerberos Authentication
        1. 27.4.1. Installing Kerberos Client and Server Commands
        2. 27.4.2. Configuring NTP on Servers and Clients
          1. 27.4.2.1. Configuring an NTP Server
          2. 27.4.2.2. Configuring an NTP Client
        3. 27.4.3. Setting Up a Kerberos Server
        4. 27.4.4. Setting Up a Kerberos Client
      5. 27.5. Summary
    2. 28. Backing Up and Restoring Files
      1. 28.1. Backups 101
        1. 28.1.1. Why Do Backups?
        2. 28.1.2. Different Types of Backups
        3. 28.1.3. Verifying and Testing Backups
        4. 28.1.4. Deciding What to Back Up
      2. 28.2. Backup Software for Linux
        1. 28.2.1. Local Backup and Restore Software for Linux
        2. 28.2.2. Network-Oriented Backup Software for Linux
      3. 28.3. Backing Up Files to Local, Removable Media
        1. 28.3.1. Archiving and Restoring Files Using tar
        2. 28.3.2. Making an Up-to-Date Copy of a Local Directory Using cp
        3. 28.3.3. Making an Up-to-Date Copy of a Remote Directory Using rsync
      4. 28.4. Installing and Using BackupPC
        1. 28.4.1. Installing and Configuring BackupPC
        2. 28.4.2. Identifying Hosts to Back Up
        3. 28.4.3. Defining a Backup Using rsyncd
        4. 28.4.4. Defining a Backup Using SMB
        5. 28.4.5. Starting Backups in BackupPC
        6. 28.4.6. Restoring from Backups in BackupPC
      5. 28.5. Backing Up and Mirroring to the Cloud with Ubuntu One
      6. 28.6. Linux Time Machines
      7. 28.7. Summary
    3. 29. Setting Up a Web Server
      1. 29.1. World Wide Web 101
      2. 29.2. Introduction to Web Servers and Apache
      3. 29.3. Installing Apache
      4. 29.4. Apache 2 File Locations
      5. 29.5. Configuring Apache
      6. 29.6. Troubleshooting
      7. 29.7. More Information
      8. 29.8. Summary
    4. 30. Setting Up a Mail Server
      1. 30.1. Introduction to Mail Servers
        1. 30.1.1. Popular Linux Mail Transfer Agents
          1. 30.1.1.1. exim
          2. 30.1.1.2. Postfix
          3. 30.1.1.3. qmail
          4. 30.1.1.4. Sendmail
        2. 30.1.2. Why Run Your Own Mail Server?
      2. 30.2. Installing Postfix and Friends
        1. 30.2.1. Packages to Install
        2. 30.2.2. Built-In Postfix Configuration Models
      3. 30.3. Configuring Postfix
        1. 30.3.1. Postfix Configuration Files
        2. 30.3.2. Identifying Trusted Hosts and Domains
        3. 30.3.3. Rewriting Addresses in Outgoing Mail
        4. 30.3.4. Accepting Mail for an Entire Domain
      4. 30.4. Activating Qpopper for POP/POP3 Support
      5. 30.5. Adding Spam Filtering and Virus Scanning to Postfix
        1. 30.5.1. Greylisting via Postgrey
        2. 30.5.2. Adding Postfix Parameters to Reject Bogus Mail
        3. 30.5.3. Integrating MailScanner, SpamAssassin, and ClamAV with Postfix
      6. 30.6. More Information
      7. 30.7. Summary
    5. 31. Setting Up a DHCP Server
      1. 31.1. Overview of DHCP
      2. 31.2. Installing a DHCP Server
      3. 31.3. Managing a DHCP Server from the Command Line
        1. 31.3.1. Creating DHCP Configuration Files Using a Text Editor
        2. 31.3.2. Specifying Additional DHCP Server Configuration File Entries
      4. 31.4. Managing a DHCP Server Graphically
      5. 31.5. Troubleshooting DHCP
      6. 31.6. Summary
    6. 32. Setting Up a DNS Server
      1. 32.1. Overview of DNS and BIND
      2. 32.2. Installing a DNS Server
      3. 32.3. Overview of BIND Configuration Files
      4. 32.4. Creating DNS Zone and Reverse Lookup Files
        1. 32.4.1. Using Common Entries for Zone and Reverse Lookup Files: SOA and $TTL
        2. 32.4.2. Creating Zone Files
        3. 32.4.3. Creating Reverse Lookup Files
        4. 32.4.4. Incorporating Zone and Reverse Lookup Files with BIND
      5. 32.5. Restarting and Testing Your Name Server
      6. 32.6. Troubleshooting DNS
      7. 32.7. Getting More Information about DNS and BIND
      8. 32.8. Summary
    7. 33. Setting Up a Print Server
      1. 33.1. Linux and UNIX Printing History
      2. 33.2. Enabling Remote Hosts to Access Your CUPS Print Server
        1. 33.2.1. Enabling Remote Printing on Ubuntu Systems
      3. 33.3. Troubleshooting Remote Printing
        1. 33.3.1. Checking the CUPS Log Files
        2. 33.3.2. Accessing Controls for Portions of the CUPS Web Interface
        3. 33.3.3. Handling Preformatted Print Jobs
      4. 33.4. Getting More Information About CUPS
      5. 33.5. Summary
    8. 34. Setting Up an NFS Server
      1. 34.1. Overview of the Network File System
        1. 34.1.1. How NFS Works
        2. 34.1.2. Comparing Different Versions of NFS
      2. 34.2. Installing an NFS Server
      3. 34.3. Configuring an NFS Server
        1. 34.3.1. Configuring Common NFS Options
        2. 34.3.2. Configuring NFS Kernel Server Options
        3. 34.3.3. Setting Up the Pseudo-Filesystem and Exported Directories
        4. 34.3.4. Defining Exported Directories in /etc/exports
      4. 34.4. Mounting NFS Directories on Clients
      5. 34.5. Debugging NFS Problems
        1. 34.5.1. Verifying RPC Services
        2. 34.5.2. Verifying Filesystem Export
        3. 34.5.3. Debugging NFS Operations
      6. 34.6. Getting More Information about NFS
      7. 34.7. Summary
    9. 35. Setting Up a Samba Server
      1. 35.1. Overview of Microsoft Windows File Sharing
      2. 35.2. Introducing Samba
      3. 35.3. Installing the Samba Server and Friends
      4. 35.4. Samba Server Configuration Essentials
        1. 35.4.1. Identifying Your Workgroup or Domain
        2. 35.4.2. Configuring Samba Authentication
        3. 35.4.3. Sharing Printers and Home Directories Using Samba
        4. 35.4.4. Verifying the Samba Configuration File
        5. 35.4.5. Testing Samba Availability and Services
      5. 35.5. Sharing Other Directories via Samba
      6. 35.6. Getting More Information about Samba
      7. 35.7. Summary
  9. A. What's on the CD-ROM?
    1. A.1. System Requirements
    2. A.2. Using the CD with Windows
    3. A.3. Using the CD with Linux
    4. A.4. What's on the CD?
    5. A.5. Troubleshooting
      1. A.5.1. Customer Care