You are previewing Ubuntu® Linux® Bible.
O'Reilly logo
Ubuntu® Linux® Bible

Book Description

Everything you need to know—and then some!

It's the fastest-growing, coolest Linux distribution out there, and now you can join the excitement with this information-packed guide. Want to edit graphics? Create a spreadsheet? Manage groups? Set up an NFS server? You'll learn it all and more with the expert guidance, tips, and techniques in this first-ever soup-to-nuts book on Ubuntu. From the basics for newcomers to enterprise management for system administrators, it's what you need to succeed with Ubuntu.

  • Master the fundamentals for desktop and networks

  • Send e-mail, share files, edit text, and print

  • Download music, watch DVDs, and play games

  • Use Ubuntu on laptops, go wireless, or synch it with your PDA

  • Set up Web, mail, print, DNS, DHCP, and other servers

  • Manage groups and secure your network

What's on the CD-ROM?

Test-drive Ubuntu on your computer without changing a thing using the bootable Ubuntu Desktop Live CD included with this book. If you decide to install it permanently, a simple, easy-to-use installer is provided. Also on the CD, you'll find:

  • Popular open-source software for Microsoft(r) Windows(r), such as AbiWord, Firefox(r), GIMP, and more

  • An easy-to-use application that simplifies installing these programs on your Microsoft Windows system

System Requirements: Please see the "About the CD-ROM Appendix" for details and complete system requirements.

Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.

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 Linux
      2. Part II: Ubuntu for Desktop Users
      3. Part III: Ubuntu for System Administrators
      4. Part IV: Configuring Servers on Ubuntu
    3. Conventions Used in This Book
    4. Getting an Ubuntu CD-ROM
  6. I. Getting Started with Ubuntu Linux
    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 Linux 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. Installation Requirements
        1. 1.4.1. Supported System Types
        2. 1.4.2. Hardware Requirements
        3. 1.4.3. Time Requirements
      5. 1.5. Ubuntu CDs
      6. 1.6. Support for Ubuntu Linux
        1. 1.6.1. Community Support and Information
          1. 1.6.1.1. Blogs
          2. 1.6.1.2. Forums
          3. 1.6.1.3. IRC
          4. 1.6.1.4. Mailing Lists
          5. 1.6.1.5. What's on the Fridge?
        2. 1.6.2. Documentation
        3. 1.6.3. Commercial Support for Ubuntu Linux
          1. 1.6.3.1. Paid Support from Canonical, Ltd.
          2. 1.6.3.2. The Ubuntu Marketplace
      7. 1.7. Getting More Information About Ubuntu
      8. 1.8. Summary
    2. 2. Installing Ubuntu
      1. 2.1. Getting a 64-bit or PPC Desktop CD
      2. 2.2. Booting the Desktop CD
      3. 2.3. Installing Ubuntu Linux from the Desktop CD
        1. 2.3.1. Booting Ubuntu Linux
        2. 2.3.2. Booting Ubuntu Linux on Dual-Boot Systems
        3. 2.3.3. The First Time You Boot Ubuntu Linux
      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 Microsoft Windows Partitions From the Desktop CD
          2. 2.4.2.2. Accessing PPC Macintosh Partitions From the Desktop CD
        3. 2.4.3. Using Desktop CD Persistence
          1. 2.4.3.1. Formatting and Labeling Your External Storage Device
          2. 2.4.3.2. Modifying Kernel Command-Line Arguments for Persistent Storage
        4. 2.4.4. Copying Files to Other Machines Over a Network
      5. 2.5. Installing Windows Programs from the Desktop CD
        1. 2.5.1. Summary
    3. 3. Installing Ubuntu on Special-Purpose Systems
      1. 3.1. Overview of Dual-Boot Systems
        1. 3.1.1. Your Computer's Boot Process
        2. 3.1.2. Configuring a System for Dual-Booting
        3. 3.1.3. Repartitioning an Existing Disk
          1. 3.1.3.1. Defragmenting Microsoft Windows Systems
          2. 3.1.3.2. Defragmenting Mac OS X Systems
          3. 3.1.3.3. Repartitioning Microsoft Windows Systems Using the Ubuntu Desktop CD
          4. 3.1.3.4. Repartitioning PPC Macintosh Systems Using the Ubuntu Desktop CD
      2. 3.2. Getting a Different Install CD
      3. 3.3. Booting from a Server or Alternate Install CD
      4. 3.4. Install Options on the Server Install CD
        1. 3.4.1. Installing an Ubuntu Server
        2. 3.4.2. Manually Specifying Your Partition Layout
        3. 3.4.3. Installing an Ubuntu LAMP Server
        4. 3.4.4. Booting Your Server for the First Time
      5. 3.5. Install Options on the Alternate Install CD
        1. 3.5.1. Installing an Ubuntu Desktop System in Text Mode
        2. 3.5.2. Installing Ubuntu Linux in OEM Mode
        3. 3.5.3. Installing a Server from the Alternate Install CD
      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 Mount Points
        2. 4.2.2. Local Filesystems: Standard and Journaling
        3. 4.2.3. 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. Default Permissions When Creating Files and Directories
        4. 4.4.4. 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 Menus
          1. 5.5.3.1. Adding Applications to the Applications Menu
          2. 5.5.3.2. Adding Items to Any Menu
      6. 5.6. Customizing Your Desktop
        1. 5.6.1. Customizing Mouse Behavior
        2. 5.6.2. Configuring Display 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. Changing Desktop Backgrounds
        6. 5.6.6. Switching Themes
        7. 5.6.7. 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 a Window Manager
      10. 5.10. Summary
    3. 6. Using Command-Line Tools
      1. 6.1. Why Use the Command Line?
      2. 6.2. Executing Commands from the Command Line
      3. 6.3. What's a Shell?
      4. 6.4. Getting to a Shell
        1. 6.4.1. Using the GNOME Terminal Application
        2. 6.4.2. Using the X Window System Terminal Application
      5. 6.5. Popular Command-Line Commands
        1. 6.5.1. Moving Around in the Linux Filesystem
        2. 6.5.2. Copying, Moving, Renaming, and Deleting Files and Directories
        3. 6.5.3. Changing File and Directory Permissions
        4. 6.5.4. Finding Commands That Do Specific Things
      6. 6.6. Working with the Bash Shell
        1. 6.6.1. Using Command History
        2. 6.6.2. Using Command and Filename Completion
        3. 6.6.3. Using Wildcards
        4. 6.6.4. Pipes and Input and Output Redirection
        5. 6.6.5. Introducing Job Control
        6. 6.6.6. Exploring the Bash Configuration File
        7. 6.6.7. Using Environment Variables
        8. 6.6.8. Defining and Using Aliases
      7. 6.7. Summary
    4. 7. Working with Text Files on Ubuntu
      1. 7.1. Introduction to Linux Text Editors
      2. 7.2. Using vi
        1. 7.2.1. Starting and Exiting vi
        2. 7.2.2. Inserting Text in vi
        3. 7.2.3. Moving Around in vi
        4. 7.2.4. Deleting and Changing Text in vi
        5. 7.2.5. Cutting, Copying, and Pasting in vi
        6. 7.2.6. Searching for and Replacing Text in vi
        7. 7.2.7. Undoing Changes in vi
        8. 7.2.8. Using Multiple Windows in vi
        9. 7.2.9. Customizing vim
        10. 7.2.10. Graphical Versions of vi
        11. 7.2.11. More Information About vi and vim
      3. 7.3. Using emacs
        1. 7.3.1. A Few Words About emacs Commands
        2. 7.3.2. Emacs Terminology
        3. 7.3.3. Starting and Exiting emacs
        4. 7.3.4. Moving Around in emacs
        5. 7.3.5. Cutting, Copying, and Pasting in emacs
        6. 7.3.6. Searching for and Replacing Text in emacs
        7. 7.3.7. Working with Multiple Windows and Buffers in emacs
        8. 7.3.8. Customizing emacs
          1. 7.3.8.1. Changing Key Bindings
          2. 7.3.8.2. Setting Variables
          3. 7.3.8.3. Specifying Modes
          4. 7.3.8.4. Changing File Associations
          5. 7.3.8.5. Defining Your Own Functions
        9. 7.3.9. Getting More Information About emacs
      4. 7.4. Using gedit
      5. 7.5. Other Text Editors for Ubuntu
      6. 7.6. Summary
    5. 8. Reading and Sending Mail with Evolution
      1. 8.1. Starting Evolution
      2. 8.2. Using the Evolution Setup Assistant
      3. 8.3. Sending and Receiving Mail
        1. 8.3.1. Sending Mail in Evolution
        2. 8.3.2. Setting Evolution Preferences for Sending and Viewing Mail
        3. 8.3.3. Undeleting Mail Messages
        4. 8.3.4. Creating and Using Mail Folders
        5. 8.3.5. Using Search Folders
      4. 8.4. Filtering Incoming Mail
        1. 8.4.1. Automatically Processing Incoming Mail
        2. 8.4.2. Automatically Checking for Junk Mail
      5. 8.5. Additional Sources of Information About Evolution
      6. 8.6. Summary
    6. 9. Surfing the Web with Firefox
      1. 9.1. A Quick History of Firefox
      2. 9.2. Starting Firefox
      3. 9.3. The Firefox User Interface
        1. 9.3.1. Standard Parts of a Firefox Window
        2. 9.3.2. Using the Mouse in Firefox
        3. 9.3.3. Special and Not-So-Special Firefox Features
      4. 9.4. Configuring Firefox
        1. 9.4.1. Setting Your Home Page
        2. 9.4.2. Controlling Popups, JavaScript, and More
        3. 9.4.3. Configuring Your Privacy Settings
      5. 9.5. Working with Bookmarks
        1. 9.5.1. Creating Bookmarks in Firefox
        2. 9.5.2. Managing Your Bookmarks
        3. 9.5.3. Creating Live Bookmarks
      6. 9.6. Enhancing Firefox
        1. 9.6.1. Adding Firefox Extensions
        2. 9.6.2. Adding New Firefox Themes
      7. 9.7. Summary
    7. 10. Creating and Publishing Documents
      1. 10.1. Using Document Markup Languages on Ubuntu
        1. 10.1.1. Installing TeX on Your Ubuntu System
        2. 10.1.2. Using TeX Markup
        3. 10.1.3. Introducing LaTeX Markup
        4. 10.1.4. Formatting and Previewing DVI Files
        5. 10.1.5. Using Graphical Tools To Work with TeX and LaTeX
        6. 10.1.6. More Information About TeX and LaTeX
      2. 10.2. Word Processing with OpenOffice.org Writer
        1. 10.2.1. Installing Files for Writer
        2. 10.2.2. Taking a Quick Tour of Writer
        3. 10.2.3. Personalizing Writer
        4. 10.2.4. Using Wizards to Create Documents
        5. 10.2.5. Modifying Document Styles and Layout
        6. 10.2.6. Creating and Using Templates
        7. 10.2.7. Importing Documents from Other Word Processors
          1. 10.2.7.1. More Information About Writer
      3. 10.3. Desktop Publishing with Scribus
        1. 10.3.1. Installing Scribus on Ubuntu
        2. 10.3.2. Taking a Quick Scribus Tutorial
        3. 10.3.3. More Information About Scribus
      4. 10.4. Other Word Processors and Office Suites for Linux
      5. 10.5. Summary
    8. 11. Other Office Software: Spreadsheets and Presentations
      1. 11.1. Introduction to Spreadsheets: A Quick Tutorial
      2. 11.2. Using Gnumeric
        1. 11.2.1. Starting Gnumeric
        2. 11.2.2. Taking a Quick Tour of Gnumeric
        3. 11.2.3. Invoking Functions in Gnumeric
        4. 11.2.4. Specifying the Type of Data in a Cell
        5. 11.2.5. Importing Existing Spreadsheets
      3. 11.3. Using OpenOffice.org Calc
        1. 11.3.1. Installing Files for OpenOffice.org Calc
        2. 11.3.2. Starting Calc
        3. 11.3.3. Taking a Quick Tour of Calc
        4. 11.3.4. Invoking Functions in Calc
        5. 11.3.5. Specifying The Type of Data in a Cell
        6. 11.3.6. Importing Existing Spreadsheets
          1. 11.3.6.1. Supported Import Formats
          2. 11.3.6.2. Importing Spreadsheets Using the Document Converter
      4. 11.4. Using OpenOffice.org Impress
        1. 11.4.1. Installing Files for Impress
        2. 11.4.2. Starting Impress
          1. 11.4.2.1. Using the Presentation Wizard
        3. 11.4.3. Taking a Quick Tour of Impress
        4. 11.4.4. Creating a Presentation
        5. 11.4.5. Importing Existing Presentations
        6. 11.4.6. Summary
    9. 12. Working with Graphics
      1. 12.1. Overview of Digital Graphics Terminology
      2. 12.2. Using GIMP
        1. 12.2.1. Starting GIMP
        2. 12.2.2. A Quick Tour of GIMP
        3. 12.2.3. Sample GIMP Tasks
          1. 12.2.3.1. Taking Screen Shots Using GIMP
          2. 12.2.3.2. Converting and Reducing Images Using GIMP
        4. 12.2.4. More Information About GIMP
      3. 12.3. Using OpenOffice.org Draw
        1. 12.3.1. Installing OpenOffice.org Draw
        2. 12.3.2. Starting Draw
        3. 12.3.3. A Quick Tour of Draw
        4. 12.3.4. More Information About OpenOffice.org Draw
      4. 12.4. Using Inkscape for Vector Graphics
        1. 12.4.1. Installing Inkscape
        2. 12.4.2. Starting Inkscape
        3. 12.4.3. A Quick Tour of Inkscape
        4. 12.4.4. More Information About Inkscape
      5. 12.5. Summary
    10. 13. Working with Multimedia
      1. 13.1. Overview of Digital Audio and Video Terminology
      2. 13.2. Configuring Sound Devices, Levels, and System Sounds
        1. 13.2.1. Testing and Customizing System Sounds
        2. 13.2.2. Setting System Sound Levels
        3. 13.2.3. Getting Detailed Information About Your Sound Hardware
        4. 13.2.4. Setting CD and DVD Preferences
      3. 13.3. Installing the gstreamer Framework and Plug-ins
        1. 13.3.1. Installing Microsoft Windows Codecs on Your System
          1. 13.3.1.1. Installing Software to Play Encrypted DVDs on Your System
      4. 13.4. Working with CDs
        1. 13.4.1. Playing CDs Using Sound Juicer
        2. 13.4.2. Ripping CDs Using Sound Juicer
        3. 13.4.3. Burning CDs Using Serpentine
      5. 13.5. Working with Other Audio Sources
        1. 13.5.1. Playing Audio Files and Internet Radio Using Rhythmbox
          1. 13.5.1.1. Creating Playlists
          2. 13.5.1.2. Adding Internet Radio Stations
          3. 13.5.1.3. Adding Podcasts
        2. 13.5.2. Converting Audio File Formats
          1. 13.5.2.1. Installing Sound Converter
          2. 13.5.2.2. Using Sound Converter
      6. 13.6. Working with DVDs on Ubuntu
        1. 13.6.1. Playing DVDs
        2. 13.6.2. Ripping DVDs
        3. 13.6.3. Copying DVDs and Burning DVD Images Using k3b
          1. 13.6.3.1. Installing k3b
          2. 13.6.3.2. Burning an ISO Image to DVD with k3b
          3. 13.6.3.3. Copying a DVD with k3b
          4. 13.6.3.4. More Information about k3b
      7. 13.7. Summary
    11. 14. Would You Like to Play a Game?
      1. 14.1. Default GNOME Games
        1. 14.1.1. Card Games
          1. 14.1.1.1. AisleRiot Solitaire
          2. 14.1.1.2. Blackjack
          3. 14.1.1.3. Freecell Patience
          4. 14.1.1.4. Tali
        2. 14.1.2. Board Games
          1. 14.1.2.1. Ataxx
          2. 14.1.2.2. Five or More
          3. 14.1.2.3. Iagno
          4. 14.1.2.4. Klotski
          5. 14.1.2.5. Mahjongg
          6. 14.1.2.6. Mines
          7. 14.1.2.7. Tetravex
        3. 14.1.3. Video Games
          1. 14.1.3.1. Four-in-a-Row
          2. 14.1.3.2. Gnometris
          3. 14.1.3.3. Nibbles
          4. 14.1.3.4. Robots
          5. 14.1.3.5. Same Gnome
      2. 14.2. Other Popular Games in the Ubuntu Repositories
        1. 14.2.1. Billions and Billions of Versions of Chess
        2. 14.2.2. Go
        3. 14.2.3. Monopoly Clones
        4. 14.2.4. Scrabble Clones
      3. 14.3. Summary
    12. 15. Connecting to Other Systems
      1. 15.1. Establishing Secure Connections to Other Systems
        1. 15.1.1. Logging in to Remote Systems Using ssh
        2. 15.1.2. Enabling the SSH Daemon on Your System
      2. 15.2. Connecting to Other Systems Using VNC
        1. 15.2.1. Getting VNC Client and Server Software for Your Other Platforms
          1. 15.2.1.1. The vino VNC server for Ubuntu
          2. 15.2.1.2. VNC Clients and Servers for Mac OS X
          3. 15.2.1.3. VNC Clients and Servers for Windows
        2. 15.2.2. Using vncviewer
      3. 15.3. Connecting to Remote Windows Terminal Servers
        1. 15.3.1. Using rdesktop for Terminal Server Connections
        2. 15.3.2. Using tsclient for Terminal Server Connections
      4. 15.4. Using Other Remote Connection Software
      5. 15.5. Summary
    13. 16. File Transfer and Sharing on Ubuntu
      1. 16.1. Transferring Files to Other Systems
        1. 16.1.1. Using FTP
          1. 16.1.1.1. Connecting to an FTP Server from the GNOME Desktop
          2. 16.1.1.2. Connecting to an FTP Server from the Command-Line
          3. 16.1.1.3. Connecting to an FTP Server Using Graphical Clients
        2. 16.1.2. Accessing Shares on Remote Windows Systems
        3. 16.1.3. Accessing NFS Directories from Linux Systems
      2. 16.2. Peer-to-Peer File Sharing on Ubuntu
        1. 16.2.1. Installing and Using gtk-gnutella
          1. 16.2.1.1. Installing gtk-gnutella
          2. 16.2.1.2. Using gtk-gnutella
        2. 16.2.2. Using BitTorrent on Ubuntu
          1. 16.2.2.1. Using gnome-btdownload
          2. 16.2.2.2. Finding Torrents
          3. 16.2.2.3. Getting More Information About BitTorrent
      3. 16.3. Summary
    14. 17. Consumer Electronics and Ubuntu
      1. 17.1. Configuring Your System for Consumer Electronics Devices
        1. 17.1.1. Configuring Digital and Digital Video Camera Recognition
        2. 17.1.2. Configuring iPod and Other Digital Audio Player Recognition
        3. 17.1.3. Configuring PDA and Smart Phone Recognition
        4. 17.1.4. Configuring Flash Card and Other Digital Media Recognition
      2. 17.2. Digital Cameras and Ubuntu
      3. 17.3. PDAs, Smart Phones, and Ubuntu
        1. 17.3.1. Configuring and Synchronizing Palm OS Devices
        2. 17.3.2. Synchronizing Data with Microsoft Windows Devices
          1. 17.3.2.1. Installing Multisync, Plug-ins, Libraries, and Related Tools
          2. 17.3.2.2. Defining Synchronization Pairs
          3. 17.3.2.3. Synchronizing Devices Using Multisync
      4. 17.4. iPods, Other Digital Audio Players, and Ubuntu
        1. 17.4.1. Working with an iPod from Ubuntu
          1. 17.4.1.1. Installing gtkpod
          2. 17.4.1.2. Attaching Your iPod
          3. 17.4.1.3. Using gtkpod
            1. 17.4.1.3.1. Adding Music to your iPod
            2. 17.4.1.3.2. Creating and Editing Playlists on Your iPod
            3. 17.4.1.3.3. Writing Changes to Your iPod
          4. 17.4.1.4. Safely Disconnecting Your iPod
        2. 17.4.2. Working with Other Digital Audio Players
      5. 17.5. Reading CompactFlash and SD Cards
      6. 17.6. Summary
    15. 18. Software Development on Ubuntu
      1. 18.1. Installing and Using Development Software on Ubuntu
        1. 18.1.1. Installing GCC Compilers, make, and Friends
        2. 18.1.2. GCC Compiler Overview
        3. 18.1.3. Using GCC's C Compiler
        4. 18.1.4. Creating Simple Makefiles
      2. 18.2. Using an Integrated Development Environment
        1. 18.2.1. Popular IDEs for Linux
        2. 18.2.2. Installing Eclipse
        3. 18.2.3. Using Eclipse for C Application Development
          1. 18.2.3.1. Starting Eclipse for the First Time
          2. 18.2.3.2. Creating a New Source Project in Eclipse
          3. 18.2.3.3. Importing an Existing Source project into Eclipse
        4. 18.2.4. Getting More Information About Eclipse
      3. 18.3. Source Code Control Software
        1. 18.3.1. The Concurrent Versioning System (CVS)
        2. 18.3.2. Installing and Using Subversion
          1. 18.3.2.1. Installing Subversion
          2. 18.3.2.2. Setting Up a Subversion Repository
          3. 18.3.2.3. Importing Projects into a Subversion Repository
          4. 18.3.2.4. Setting Up a Subversion Server
            1. 18.3.2.4.1. Configuring Apache2 for Subversion Support
            2. 18.3.2.4.2. Configuring the svnserve Server
          5. 18.3.2.5. Checking Files Out of a Subversion Repository
          6. 18.3.2.6. Committing Changes to a Subversion Repository
          7. 18.3.2.7. Getting More Information About Subversion
      4. 18.4. Summary
  8. III. Ubuntu for System Administrators
    1. 19. Understanding the Ubuntu Startup and Shutdown Processes
      1. 19.1. Overview of the Ubuntu Linux Startup Process
        1. 19.1.1. The Boot Monitor or BIOS
        2. 19.1.2. The Boot Loader
      2. 19.2. Loading the Kernel
        1. 19.2.1. Loading and Using an Initial RAM Disk or RAM Filesystem
        2. 19.2.2. The Init Process
      3. 19.3. Examining the Boot Process with Boot Chart
      4. 19.4. Optimizing the Ubuntu Boot Process
      5. 19.5. The Ubuntu Linux Shutdown Process
      6. 19.6. Summary
    2. 20. Adding, Removing, and Updating Software
      1. 20.1. Overview of Ubuntu Package Management Software
      2. 20.2. Ubuntu Repositories and Components
        1. 20.2.1. Enabling Additional Repository Components
        2. 20.2.2. Enabling Additional Repository Sources Using a Text Editor
        3. 20.2.3. Enabling Additional Repository Sources Using the Software Properties Tool
        4. 20.2.4. Problems Adding or Accessing Nonstandard Repositories
        5. 20.2.5. Mixing Ubuntu and Debian Repositories
      3. 20.3. Exploring Your System Using dpkg and Friends
        1. 20.3.1. Listing the Packages that are Installed on Your System
        2. 20.3.2. Listing the Packages that are Available for Your System
        3. 20.3.3. Listing Information About a Package
        4. 20.3.4. Listing the Contents of a Package
        5. 20.3.5. Determining What Package Provides an Existing File
        6. 20.3.6. Determining What Package Provides a Missing File
      4. 20.4. Using apt-get to Add and Remove Software
        1. 20.4.1. Upgrading Your System Using apt-get
        2. 20.4.2. Smart System Upgrades Using apt-get
        3. 20.4.3. Retrieving Package Source Code Using apt-get
        4. 20.4.4. Satisfying Build Dependencies Using apt-get
      5. 20.5. Using aptitude to Add and Remove Software
        1. 20.5.1. Tips and Tricks for Using the aptitude User Interface
        2. 20.5.2. Using aptitude to Install Recommended Software
        3. 20.5.3. Advantages of Using aptitude to Install and Remove Software
      6. 20.6. Using Synaptic to Add and Remove Software
        1. 20.6.1. Configuring Synaptic Preferences
        2. 20.6.2. Searching for Software in Synaptic
        3. 20.6.3. Installing Packages in Synaptic
        4. 20.6.4. Removing Packages in Synaptic
      7. 20.7. Using the Ubuntu Update Manager
      8. 20.8. Converting Packages from Other Package Formats
      9. 20.9. Keeping your System Lean, Mean, and Pristine
      10. 20.10. Summary
    3. 21. Managing Users, Groups, Authentication, and Advanced Permissions
      1. 21.1. Creating and Managing Users and Groups
        1. 21.1.1. Creating New Users
        2. 21.1.2. Managing Existing Users
        3. 21.1.3. Creating New Groups
        4. 21.1.4. Managing Existing Groups
      2. 21.2. PAMs and the Linux Authentication Process
        1. 21.2.1. PAM Configuration Files for Applications and Services
        2. 21.2.2. Example: PAMs Used by the Login Process
        3. 21.2.3. Configuration Files for Various PAMs
        4. 21.2.4. What If PAM Configuration Files Are Missing?
      3. 21.3. Customizing the sudo Command on Ubuntu Systems
      4. 21.4. Using ACLs for Sophisticated File Sharing
        1. 21.4.1. Overview of Linux ACLs
        2. 21.4.2. Installing ACL Commands on Ubuntu
        3. 21.4.3. Activating Filesystem Support for ACLs
        4. 21.4.4. Working with ACLs from the Command Line
          1. 21.4.4.1. Overview of Command-Line Utilities for ACLs
          2. 21.4.4.2. Displaying Current ACLs from the Command Line
          3. 21.4.4.3. Setting ACLs from the Command Line
        5. 21.4.5. Working with ACLs Using Graphical Tools
      5. 21.5. Summary
    4. 22. Backing Up and Restoring Files
      1. 22.1. Backups 101
        1. 22.1.1. Why Do Backups?
        2. 22.1.2. Different Types of Backups
        3. 22.1.3. Verifying and Testing Backups
        4. 22.1.4. Deciding What To Back Up
      2. 22.2. Backup Software for Linux
        1. 22.2.1. Local Backup and Restore Software for Linux
        2. 22.2.2. Network-Oriented Backup Software for Linux
      3. 22.3. Backing Up Files to Local, Removable Media
        1. 22.3.1. Archiving and Restoring Files Using tar
        2. 22.3.2. Making an Up-to-Date Copy of a Local Directory Using cp
        3. 22.3.3. Making an Up-to-Date Copy of a Remote Directory Using rsync
      4. 22.4. Installing and Using the backuppc Utility
        1. 22.4.1. Installing backuppc
        2. 22.4.2. Configuring backuppc
        3. 22.4.3. Identifying Hosts to Back Up
        4. 22.4.4. Defining a Backup Using rsyncd
        5. 22.4.5. Defining a Backup Using SMB
        6. 22.4.6. Starting Backups in backuppc
        7. 22.4.7. Restoring from Backups in backuppc
      5. 22.5. Summary
    5. 23. Adding Hardware and Attaching Peripherals
      1. 23.1. Adding a Printer
      2. 23.2. Using a Scanner
      3. 23.3. Using External Disks and CD/DVD Drives
        1. 23.3.1. Configuring Automatic Device Detection
        2. 23.3.2. Troubleshooting Automatic Device Detection
      4. 23.4. Adding Internal Disks and CD/DVD Drives
        1. 23.4.1. Adding EIDE/ATA Drives
        2. 23.4.2. Adding SATA Drives
        3. 23.4.3. Adding SCSI Drives
        4. 23.4.4. Troubleshooting Boot Problems After Adding New Drives
          1. 23.4.4.1. Changes to BIOS Hard Disk and Boot Device Priority Settings
          2. 23.4.4.2. Problems After Adding IDE Drives to a SATA System
          3. 23.4.4.3. Problems Related to SATA Drive Name Changes
          4. 23.4.4.4. Changing GRUB Boot Loader Information
          5. 23.4.4.5. Problems After Adding SATA Drives to a SCSI System
        5. 23.4.5. Locating, Partitioning, and Formatting New Drives
          1. 23.4.5.1. Using the Graphical Disks Utility to Examine and Format Drives
          2. 23.4.5.2. Using Command-Line Tools to Identify Drives and Partitions
          3. 23.4.5.3. Using Command-Line Utilities to Partition and Format Drives
      5. 23.5. Using PCMCIA Cards
      6. 23.6. Adding PCI Cards
      7. 23.7. Examining and Troubleshooting Devices Graphically
      8. 23.8. Summary
    6. 24. Network Configuration and Security
      1. 24.1. Networking 101
      2. 24.2. Manually Configuring Your Network Hardware
      3. 24.3. Manually Configuring Modem Connections
      4. 24.4. Defining and Using Multiple Network Configurations
      5. 24.5. Network Testing with GNOME's Network Tools
      6. 24.6. Tips for Securing Your System
      7. 24.7. Installing a Firewall
        1. 24.7.1. Overview of Linux Firewalling and Packet Filtering
        2. 24.7.2. Installing and Configuring a Firewall Using Lokkit
          1. 24.7.2.1. Installing Lokkit
          2. 24.7.2.2. Using Lokkit to Set Up a Basic Firewall
      8. 24.8. Summary
    7. 25. Going Wireless
      1. 25.1. Overview of Wireless Technologies
      2. 25.2. Configuring Wireless Ethernet Interfaces
      3. 25.3. Command-Line Tools for Wireless Networking
      4. 25.4. Installing and Using Windows Networking Drivers
        1. 25.4.1. Installing NDIS Wrapper and Friends
        2. 25.4.2. Installing Microsoft Windows Drivers
        3. 25.4.3. NDIS Wrapper Tips and Tricks
      5. 25.5. Summary
  9. IV. Configuring Servers on Ubuntu
    1. 26. Setting Up a Web Server
      1. 26.1. World Wide Web 101
      2. 26.2. Introduction to Web Servers and Apache
      3. 26.3. Installing Apache
        1. 26.3.1. Installing Apache from the Command Line
        2. 26.3.2. Installing Apache Using Synaptic
      4. 26.4. Apache 2 File Locations
      5. 26.5. Configuring Apache
      6. 26.6. Troubleshooting
      7. 26.7. More Information
      8. 26.8. Summary
    2. 27. Setting Up a Mail Server
      1. 27.1. Introduction to Mail Servers
        1. 27.1.1. Popular Linux Mail Transfer Agents
          1. 27.1.1.1. Exim
          2. 27.1.1.2. Postfix
          3. 27.1.1.3. Qmail
          4. 27.1.1.4. Sendmail
        2. 27.1.2. Why Run Your Own Mail Server?
      2. 27.2. Installing Postfix and Friends
        1. 27.2.1. Built-in Postfix Configuration Models
        2. 27.2.2. Installing Postfix and Friends from the Command Line
        3. 27.2.3. Installing Postfix and Friends Using Synaptic
      3. 27.3. Configuring Postfix
        1. 27.3.1. Postfix Configuration Files
        2. 27.3.2. Identifying Trusted Hosts and Domains
        3. 27.3.3. Rewriting Addresses in Outgoing Mail
        4. 27.3.4. Accepting Mail for an Entire Domain
      4. 27.4. Activating Qpopper for POP/POP3 Support
      5. 27.5. Adding SPAM Filtering and Virus Scanning to Postfix
        1. 27.5.1. Greylisting via postgrey
        2. 27.5.2. Adding Postfix Parameters to Reject Bogus Mail
        3. 27.5.3. Integrating MailScanner, SpamAssassin, and ClamAV with Postfix
      6. 27.6. More Information
      7. 27.7. Summary
    3. 28. Setting Up a DHCP Server
      1. 28.1. Overview of DHCP
      2. 28.2. Installing a DHCP Server
      3. 28.3. Managing a DHCP Server from the Command Line
        1. 28.3.1. Creating DHCP Configuration Files Using a Text Editor
        2. 28.3.2. Specifying Additional DHCP Server Configuration File Entries
      4. 28.4. Managing a DHCP Server Graphically
      5. 28.5. Troubleshooting DHCP
      6. 28.6. Summary
    4. 29. Setting Up a DNS Server
      1. 29.1. Overview of DNS and BIND
      2. 29.2. Installing a DNS Server Using Synaptic
      3. 29.3. Overview of BIND Configuration Files
      4. 29.4. Creating DNS Zone and Reverse Lookup Files
        1. 29.4.1. Using Common Entries for Zone and Reverse Lookup Files: SOA and $TTL
        2. 29.4.2. Creating Zone Files
        3. 29.4.3. Creating Reverse Lookup Files
        4. 29.4.4. Incorporating Zone and Reverse Lookup Files with BIND
      5. 29.5. Restarting and Testing Your Name Server
      6. 29.6. Troubleshooting DNS
      7. 29.7. Getting More Information about DNS and BIND
      8. 29.8. Summary
    5. 30. Setting Up a Print Server
      1. 30.1. Linux and Unix Printing History
      2. 30.2. Enabling Remote Hosts to Access Your CUPS Print Server
      3. 30.3. Enabling Administrative Operations via the CUPS Web Interface
      4. 30.4. Integrating Windows Printing with an Ubuntu Print Server
      5. 30.5. Integrating Mac OS X Printing with an Ubuntu Print Server
      6. 30.6. Troubleshooting Remote Printing
        1. 30.6.1. Checking the CUPS Log Files
        2. 30.6.2. Accessing Controls for Portions of the CUPS Web Interface
        3. 30.6.3. Handling Preformatted print Jobs
      7. 30.7. Getting More Information About CUPS
      8. 30.8. Summary
    6. 31. Setting Up an NFS Server
      1. 31.1. Overview of the Network File System
        1. 31.1.1. Understanding how NFS Works
        2. 31.1.2. Comparing Different Versions of NFS
      2. 31.2. Installing an NFS Server and Related Packages
      3. 31.3. Using the Shared Folder Tool to Export Directories
      4. 31.4. Verifying NFS Operations
      5. 31.5. Manually Exporting Directories in /etc/exports
      6. 31.6. Getting More Information About NFS and Related Software
      7. 31.7. Summary
    7. 32. Setting Up a Samba Server
      1. 32.1. Overview of Microsoft Windows File Sharing
      2. 32.2. Introducing Samba
      3. 32.3. Installing the Samba Server and Friends
      4. 32.4. Samba Server Configuration Essentials
        1. 32.4.1. Identifying Your Workgroup or Domain
        2. 32.4.2. Configuring Samba Authentication
        3. 32.4.3. Sharing Printers and Home Directories Using Samba
        4. 32.4.4. Verifying the Samba Configuration File
        5. 32.4.5. Testing Samba Availability and Services
      5. 32.5. Using the Shared Folder Tool to Share Directories
      6. 32.6. Getting More Information About Samba
      7. 32.7. Summary
    8. 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. Using the CD with Mac OS
      5. A.5. What's on the CD
        1. A.5.1. Applications
      6. A.6. Troubleshooting
        1. A.6.1. Customer Care