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

Book Description

The everyday Linux user can easily get overwhelmed by the complexity of the new software that exists when creating an Ubuntu system. This book covers the basics of creating a new system from scratch and explains what software is installed. You’ll take a tour of installing the Ubuntu Linux distribution system in most environments, including nontraditional situations such as dual-boot and text-based installations. Plus, clear explanations of each of the installed applications show you how to get the most out of each application, rather than simply using them as they exist.

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. Conventions and Features
        1. Secrets
    3. Minimum Requirements
    4. Where to Go from Here
  6. 1. Starting Out with Ubuntu
    1. 1. What is Ubuntu?
      1. 1.1. What Is Linux?
        1. 1.1.1. The Linux Kernel
          1. 1.1.1.1. System Memory Management
          2. 1.1.1.2. Software Program Management
          3. 1.1.1.3. Hardware Management
          4. 1.1.1.4. Filesystem Management
        2. 1.1.2. The GNU Utilities
          1. 1.1.2.1. The Core GNU Utilities
          2. 1.1.2.2. The Shell
        3. 1.1.3. The Linux Desktop Environment
          1. 1.1.3.1. The X Windows System
          2. 1.1.3.2. The GNOME Desktop
          3. 1.1.3.3. The KDE Desktop
          4. 1.1.3.4. Other Desktops
      2. 1.2. Linux Distributions
        1. 1.2.1. Core Linux Distributions
        2. 1.2.2. Specialized Linux Distributions
        3. 1.2.3. The Linux LiveCD
      3. 1.3. What Is Ubuntu?
        1. 1.3.1. Ubuntu Versions
        2. 1.3.2. Ubuntu Release Schedule
        3. 1.3.3. Ubuntu Cousins
      4. 1.4. Summary
    2. 2. Playing with the LiveCD
      1. 2.1. The Ubuntu LiveCD
      2. 2.2. Downloading Ubuntu
        1. 2.2.1. Downloading from the Web
          1. 2.2.1.1. Finding the Right Version
          2. 2.2.1.2. Interrupting and Restarting the Download
        2. 2.2.2. Using BitTorrent to Download
          1. 2.2.2.1. Installing P2P Software
          2. 2.2.2.2. Start the Download Process
        3. 2.2.3. Verifying the File
          1. 2.2.3.1. Using MD5 Sums
          2. 2.2.3.2. Calculating MD5 Sums
            1. 2.2.3.2.1. Mac OS X and Linux
            2. 2.2.3.2.2. Windows
      3. 2.3. Creating the LiveCD
        1. 2.3.1. Burning CDs in Linux
        2. 2.3.2. Burning CDs in Mac OS X
        3. 2.3.3. Burning CDs in Windows
      4. 2.4. Booting the LiveCD
        1. 2.4.1. The Boot Process
        2. 2.4.2. Using Ubuntu
        3. 2.4.3. The LiveCD Desktop
        4. 2.4.4. Storing Files
          1. 2.4.4.1. Using the Windows Partition
          2. 2.4.4.2. Using USB Devices
          3. 2.4.4.3. Using Network Shares
      5. 2.5. Running Ubuntu in Windows
        1. 2.5.1. The Wubi Project
        2. 2.5.2. Installing in Windows
        3. 2.5.3. Running Ubuntu in Windows
      6. 2.6. Summary
    3. 3. Installing Ubuntu
      1. 3.1. Preparing Your PC
        1. 3.1.1. System Requirements
        2. 3.1.2. Creating a Place for Ubuntu
          1. 3.1.2.1. Installing a Second Hard Drive
          2. 3.1.2.2. Partitioning an Existing Hard Drive
            1. 3.1.2.2.1. Examining the Current Hard Drive Setup
            2. 3.1.2.2.2. Determining Free Space
            3. 3.1.2.2.3. Defragmenting Files
      2. 3.2. Installing from the LiveCD
        1. 3.2.1. Select a Language
        2. 3.2.2. Select a Time Zone
        3. 3.2.3. Select a Keyboard
        4. 3.2.4. Prepare the Disk Space
        5. 3.2.5. Create a Login ID
        6. 3.2.6. Migrate Documents and Settings
        7. 3.2.7. Review Options
      3. 3.3. Installing from the Alternate Install CD
        1. 3.3.1. Guided Partitions
        2. 3.3.2. Manual Partitions
      4. 3.4. Server Installation
        1. 3.4.1. Main Installation
        2. 3.4.2. Server Programs
          1. 3.4.2.1. The DNS Server
          2. 3.4.2.2. The LAMP Server
          3. 3.4.2.3. The Tomcat Server
          4. 3.4.2.4. The Mail Server
          5. 3.4.2.5. The OpenSSH Server
          6. 3.4.2.6. The PostgreSQL Server
          7. 3.4.2.7. The Print Server
          8. 3.4.2.8. The Samba File Server
      5. 3.5. Upgrading Ubuntu
      6. 3.6. Summary
    4. 4. Exploring the Desktop
      1. 4.1. Desktop Features
        1. 4.1.1. The Top Panel
          1. 4.1.1.1. The Menu Area
            1. 4.1.1.1.1. The Applications Menu
            2. 4.1.1.1.2. The Places Menu
            3. 4.1.1.1.3. The System Menu
          2. 4.1.1.2. The Quick-launch Area
          3. 4.1.1.3. The Applet Section
        2. 4.1.2. The Desktop Workspace
        3. 4.1.3. The Bottom Panel
          1. 4.1.3.1. The Desktop Viewer
          2. 4.1.3.2. The Taskbar Area
          3. 4.1.3.3. The Workspace Switcher
          4. 4.1.3.4. The Trash Icon
      2. 4.2. Modifying the Desktop
        1. 4.2.1. Adding to the Panel Menus
        2. 4.2.2. Adding Panel Applets
          1. 4.2.2.1. Application Launchers
          2. 4.2.2.2. The Deskbar
          3. 4.2.2.3. Creating a New Menu
        3. 4.2.3. Adding Desktop Icons
      3. 4.3. Desktop Appearance
        1. 4.3.1. The Desktop Theme
        2. 4.3.2. The Background
        3. 4.3.3. Fonts
        4. 4.3.4. Interface
        5. 4.3.5. Visual Effects
      4. 4.4. Accessibility Features
        1. 4.4.1. Preferred Applications
          1. 4.4.1.1. Visual Tools
          2. 4.4.1.2. Typing Tools
        2. 4.4.2. Keyboard Features
        3. 4.4.3. Mouse Features
      5. 4.5. Summary
  7. 2. Starting Out with Ubuntu
    1. 5. File Management
      1. 5.1. The Linux Filesystem
        1. 5.1.1. Filepaths
        2. 5.1.2. Filenames
      2. 5.2. Nautilus
        1. 5.2.1. Nautilus Window Components
          1. 5.2.1.1. The Top Menu Bar
          2. 5.2.1.2. The Toolbar
          3. 5.2.1.3. The Location Bar
          4. 5.2.1.4. The Left Pane
          5. 5.2.1.5. The Status Bar
        2. 5.2.2. Browser Versus Spatial Mode
        3. 5.2.3. Modifying Nautilus Windows
          1. 5.2.3.1. The Views Tab
          2. 5.2.3.2. The Behavior Tab
          3. 5.2.3.3. The Display Tab
          4. 5.2.3.4. The List Columns Tab
          5. 5.2.3.5. The Preview Tab
          6. 5.2.3.6. The Media Tab
      3. 5.3. Handling Files
        1. 5.3.1. Creating New Files and Folders
        2. 5.3.2. Copying and Moving Files
        3. 5.3.3. Running Programs
        4. 5.3.4. Deleting Files
      4. 5.4. File Properties
        1. 5.4.1. Basic Properties
        2. 5.4.2. Emblems
        3. 5.4.3. Permissions
        4. 5.4.4. Open With
        5. 5.4.5. Notes
      5. 5.5. Summary
    2. 6. Working With Text
      1. 6.1. The gedit Editor
        1. 6.1.1. Starting gedit
        2. 6.1.2. Basic gedit Features
        3. 6.1.3. Setting Preferences
          1. 6.1.3.1. View
          2. 6.1.3.2. Editor
          3. 6.1.3.3. Font & Colors
          4. 6.1.3.4. Plug-ins
      2. 6.2. The Character Map
      3. 6.3. The vim Editor
        1. 6.3.1. The Basics of vim
        2. 6.3.2. Editing Data
        3. 6.3.3. Copy and Paste
        4. 6.3.4. Search and Substitute
      4. 6.4. The emacs Editor
        1. 6.4.1. Using emacs on the Console
          1. 6.4.1.1. The Basics of emacs
          2. 6.4.1.2. Editing Data
          3. 6.4.1.3. Copying and Pasting
          4. 6.4.1.4. Searching and Replacing
          5. 6.4.1.5. Using Buffers in emacs
          6. 6.4.1.6. Using Windows in Console Mode emacs
        2. 6.4.2. Using emacs in GNOME
      5. 6.5. The Tomboy Notes Application
        1. 6.5.1. Starting Tomboy Notes
        2. 6.5.2. Creating Notes
        3. 6.5.3. Editing Notes
        4. 6.5.4. Organizing Notes
        5. 6.5.5. Changing Preferences
        6. 6.5.6. Tomboy Add-ins
      6. 6.6. Summary
    3. 7. The OpenOffice Suite
      1. 7.1. The OpenOffice.org Suite
      2. 7.2. Word Processing
        1. 7.2.1. Writer Features
          1. 7.2.1.1. The Menu Bar
          2. 7.2.1.2. The Standard Toolbar
          3. 7.2.1.3. The Formatting Bar
          4. 7.2.1.4. The Ruler
          5. 7.2.1.5. The Document Pane
        2. 7.2.2. Working with Writer Files
      3. 7.3. Spreadsheets
        1. 7.3.1. The OpenOffice.org Calc Layout
          1. 7.3.1.1. The Menu Bar
          2. 7.3.1.2. The Standard Toolbar
          3. 7.3.1.3. The Formatting Bar
          4. 7.3.1.4. The Formula Bar
          5. 7.3.1.5. The Document Pane
        2. 7.3.2. Working with Calc Files
      4. 7.4. Presentations
        1. 7.4.1. Using the Presentation Wizard
        2. 7.4.2. Taking a Tour of OpenOffice.org Impress
          1. 7.4.2.1. The Menu Bar
          2. 7.4.2.2. The Standard Toolbar
          3. 7.4.2.3. The Line and Filling Bar
          4. 7.4.2.4. The Document Pane
          5. 7.4.2.5. The Drawing Bar
        3. 7.4.3. Working with Impress Files
      5. 7.5. Database
        1. 7.5.1. Getting Help from the Wizard
          1. 7.5.1.1. Creating a New Database File in the Database Wizard
          2. 7.5.1.2. Opening an Existing File in the Database Wizard
        2. 7.5.2. Taking a Tour of Base
          1. 7.5.2.1. The Menu Bar
          2. 7.5.2.2. The Standard Toolbar
          3. 7.5.2.3. The Database Pane
          4. 7.5.2.4. The Tasks Pane
          5. 7.5.2.5. The Tables/Queries/Forms/Reports Pane
        3. 7.5.3. Working with Tables
      6. 7.6. Drawing
        1. 7.6.1. Taking a Tour of OpenOffice.org Draw
          1. 7.6.1.1. The Menu Bar
          2. 7.6.1.2. The Standard Toolbar
          3. 7.6.1.3. The Line and Filling Bar
          4. 7.6.1.4. The Ruler
          5. 7.6.1.5. The Document Pane
          6. 7.6.1.6. The Drawing Bar
        2. 7.6.2. Working with Draw Files
      7. 7.7. Math
        1. 7.7.1. Starting Math
        2. 7.7.2. The Math Layout
          1. 7.7.2.1. The Menu Bar
          2. 7.7.2.2. The Standard Toolbar
          3. 7.7.2.3. The Document Pane
        3. 7.7.3. Working with Math
      8. 7.8. Summary
    4. 8. Network Applications
      1. 8.1. The Ubuntu Internet Software Suite
      2. 8.2. Ekiga
      3. 8.3. Firefox
        1. 8.3.1. Walking Through Firefox
          1. 8.3.1.1. The Menu Bar
          2. 8.3.1.2. The Navigation Toolbar
          3. 8.3.1.3. The Bookmark Toolbar
          4. 8.3.1.4. The Browser Window
        2. 8.3.2. Configuring Firefox
          1. 8.3.2.1. Main Preferences
          2. 8.3.2.2. Tabs
          3. 8.3.2.3. Content Settings
          4. 8.3.2.4. Applications
          5. 8.3.2.5. Privacy
          6. 8.3.2.6. Security
          7. 8.3.2.7. Advanced Preferences
        3. 8.3.3. Working with Add-ons
      4. 8.4. Pidgin
        1. 8.4.1. Using the Pidgin Instant Messenger
        2. 8.4.2. Pidgin Preferences
      5. 8.5. Remote Desktop Viewer
      6. 8.6. Terminal Server Client
      7. 8.7. Transmission
      8. 8.8. gFTP
      9. 8.9. Summary
    5. 9. Evolution
      1. 9.1. The Evolution Suite
      2. 9.2. Starting Evolution
        1. 9.2.1. Obtain Email Client Info
        2. 9.2.2. Run the Wizard
          1. 9.2.2.1. Restore from Backup
          2. 9.2.2.2. Identity Information
          3. 9.2.2.3. Receiving Email
            1. 9.2.2.3.1. POP
            2. 9.2.2.3.2. IMAP
          4. 9.2.2.4. Sending Email
          5. 9.2.2.5. Final Configuration
      3. 9.3. The Evolution Window
        1. 9.3.1. The Menu Bar
        2. 9.3.2. The Toolbar
        3. 9.3.3. The Search Tool
        4. 9.3.4. The Message List
        5. 9.3.5. The Sidebar
        6. 9.3.6. The Switcher
        7. 9.3.7. The Preview Pane
      4. 9.4. Using Evolution
        1. 9.4.1. Sending Messages
        2. 9.4.2. Changing the Configuration
          1. 9.4.2.1. Mail Accounts
          2. 9.4.2.2. Autocompletion
          3. 9.4.2.3. Mail Preferences
          4. 9.4.2.4. Composer Preferences
          5. 9.4.2.5. Calendar and Tasks
          6. 9.4.2.6. Certificates
      5. 9.5. Mail Filtering
        1. 9.5.1. Filtering Messages
        2. 9.5.2. Filtering Spam
      6. 9.6. Backing Up Evolution
      7. 9.7. Using the Address Book
      8. 9.8. Accessing the Calendar and Tasks
        1. 9.8.1. Calendar
        2. 9.8.2. Tasks
      9. 9.9. Summary
    6. 10. Image Manipulation
      1. 10.1. Eye of GNOME Image Viewer
        1. 10.1.1. Using the Image Viewer
          1. 10.1.1.1. The Menu Bar
          2. 10.1.1.2. The Toolbar
          3. 10.1.1.3. The Window
          4. 10.1.1.4. The Status Bar
        2. 10.1.2. Supported File Types
      2. 10.2. The GIMP Image Editor
        1. 10.2.1. Starting GIMP
        2. 10.2.2. GIMP Basic Tools
        3. 10.2.3. Using GIMP
          1. 10.2.3.1. Taking a Screenshot
          2. 10.2.3.2. Editing the Image File
          3. 10.2.3.3. Using GIMP Scripts
      3. 10.3. F-Spot Photo Manager
        1. 10.3.1. The F-Spot Layout
          1. 10.3.1.1. The Menu Bar
          2. 10.3.1.2. The Toolbar
          3. 10.3.1.3. The Sidebar
          4. 10.3.1.4. The Viewing Area
          5. 10.3.1.5. The Status Bar
        2. 10.3.2. Using the F-Spot Editor
      4. 10.4. Summary
    7. 11. Using Audio
      1. 11.1. Audio File Basics
      2. 11.2. Controlling Sound in Ubuntu
        1. 11.2.1. Sound Preferences
          1. 11.2.1.1. The Devices Tab
          2. 11.2.1.2. The Sounds Tab
        2. 11.2.2. The Sound Applet
      3. 11.3. Rhythmbox
        1. 11.3.1. Playing Audio CDs
        2. 11.3.2. Playing Audio Files
        3. 11.3.3. Listening to Internet Audio
        4. 11.3.4. Ripping Audio CDs
      4. 11.4. Brasero
      5. 11.5. Sound Recorder
      6. 11.6. Playing Audio Files from Nautilus
      7. 11.7. Summary
    8. 12. Using Video
      1. 12.1. Video Formats
      2. 12.2. The Totem Movie Player
        1. 12.2.1. The Totem Interface
          1. 12.2.1.1. The Menu Bar
          2. 12.2.1.2. The Sidebar
          3. 12.2.1.3. The Toolbar
        2. 12.2.2. The Totem Preferences Settings
      3. 12.3. Watching Web Clips
        1. 12.3.1. Checking Your Plug-ins
        2. 12.3.2. Adding Plug-ins
        3. 12.3.3. More Video Support
      4. 12.4. Editing Videos
        1. 12.4.1. Installing Kino
        2. 12.4.2. The Kino Interface
        3. 12.4.3. The Kino Preferences Settings
      5. 12.5. Summary
  8. 3. Managing Your Workstation
    1. 13. Software Installs and Updates
      1. 13.1. Software Management in Ubuntu
        1. 13.1.1. Software Packages
        2. 13.1.2. Software Repositories
        3. 13.1.3. Configuring Software Repositories
      2. 13.2. Installing Updates
        1. 13.2.1. The Update Manager
        2. 13.2.2. Using the Update Manager Applet
      3. 13.3. Installing New Applications
        1. 13.3.1. The Add/Remove Applications Window
        2. 13.3.2. Adding a New Application
        3. 13.3.3. Removing an Application
      4. 13.4. Installing New Packages
        1. 13.4.1. The Synaptic Layout
          1. 13.4.1.1. The Menu Bar
          2. 13.4.1.2. The Toolbar
          3. 13.4.1.3. The Category List
          4. 13.4.1.4. The Package List
        2. 13.4.2. Installing Packages
        3. 13.4.3. Removing Packages
      5. 13.5. Command-Line Package Management
        1. 13.5.1. Setting Repositories
        2. 13.5.2. Apt-get Commands
      6. 13.6. Summary
    2. 14. Networking
      1. 14.1. Networking Basics
        1. 14.1.1. Internet Connection Types
          1. 14.1.1.1. Dial-up Modem
          2. 14.1.1.2. DSL Modem
          3. 14.1.1.3. Cable Modem
          4. 14.1.1.4. Wireless Modem
        2. 14.1.2. Ethernet Connections
          1. 14.1.2.1. Wired Ethernet Cards
          2. 14.1.2.2. Wireless Ethernet Cards
      2. 14.2. Connecting to the Network
        1. 14.2.1. GNOME PPP
        2. 14.2.2. Network Manager
          1. 14.2.2.1. Wired Network Cards
          2. 14.2.2.2. Wireless Cards
          3. 14.2.2.3. Wireless Broadband
          4. 14.2.2.4. VPN
          5. 14.2.2.5. DSL
      3. 14.3. Network Tools
        1. 14.3.1. Devices
        2. 14.3.2. Ping
        3. 14.3.3. Netstat
        4. 14.3.4. Traceroute
        5. 14.3.5. Port Scan
        6. 14.3.6. Lookup
        7. 14.3.7. Finger
        8. 14.3.8. Whois
      4. 14.4. Firewalls
        1. 14.4.1. Installing Firestarter
        2. 14.4.2. Starting Firestarter
        3. 14.4.3. Using Firestarter
          1. 14.4.3.1. Tabbed Windows
          2. 14.4.3.2. The Toolbar
      5. 14.5. Summary
    3. 15. External Devices
      1. 15.1. Printers
        1. 15.1.1. The Printer Configuration Tool
        2. 15.1.2. Printer Server Settings
        3. 15.1.3. Adding a New Printer
        4. 15.1.4. Modifying Printer Properties
          1. 15.1.4.1. Settings
          2. 15.1.4.2. Policies
          3. 15.1.4.3. Access Control
          4. 15.1.4.4. Printer Options
          5. 15.1.4.5. Job Options
      2. 15.2. Scanners
        1. 15.2.1. Detecting the Scanner
        2. 15.2.2. Scanning a Document
        3. 15.2.3. The Work Area
          1. 15.2.3.1. The Main Window
          2. 15.2.3.2. The Histogram Window
          3. 15.2.3.3. The Preview Window
          4. 15.2.3.4. The Viewer
      3. 15.3. Digital Cameras
      4. 15.4. Portable Music Players
      5. 15.5. Summary
    4. 16. The Display
      1. 16.1. The X Windows System
        1. 16.1.1. What Is X Windows?
        2. 16.1.2. Linux X Windows Software
          1. 16.1.2.1. XFree86
          2. 16.1.2.2. X.Org
        3. 16.1.3. The X.Org Configuration
          1. 16.1.3.1. Defining Sections
          2. 16.1.3.2. Example Configuration
      2. 16.2. Ubuntu Video Configuration
        1. 16.2.1. The Screen Resolution Utility
        2. 16.2.2. Setting Compiz Fusion Features
          1. 16.2.2.1. Basic Visual Effects
          2. 16.2.2.2. Advanced Visual Effects
        3. 16.2.3. Monitor and Video Cards
      3. 16.3. Using 3-D Cards
        1. 16.3.1. Ubuntu 3-D Support
        2. 16.3.2. Viewing Restricted Hardware Drivers
      4. 16.4. Summary
    5. 17. Users and Groups
      1. 17.1. The User Administration Tool
        1. 17.1.1. Adding Users
        2. 17.1.2. Modifying Users
        3. 17.1.3. Deleting Users
      2. 17.2. Ubuntu Groups
        1. 17.2.1. Adding Groups
        2. 17.2.2. Modifying Groups
        3. 17.2.3. Deleting Groups
      3. 17.3. User and Group Files
        1. 17.3.1. The Users File
          1. 17.3.1.1. The /etc/passwd File
          2. 17.3.1.2. The /etc/shadow File
        2. 17.3.2. The Groups File
        3. 17.3.3. Using the Command Line
          1. 17.3.3.1. The User Commands
          2. 17.3.3.2. The Group Commands
      4. 17.4. Understanding File Permissions
        1. 17.4.1. File Properties
        2. 17.4.2. Changing File Permissions
      5. 17.5. Summary
    6. 18. Basic Administration
      1. 18.1. Monitoring the System
        1. 18.1.1. System
        2. 18.1.2. Processes
        3. 18.1.3. Resources
        4. 18.1.4. File Systems
      2. 18.2. Log Files
        1. 18.2.1. Ubuntu Log Files
        2. 18.2.2. The System Log Viewer
      3. 18.3. Starting Services
        1. 18.3.1. Starting and Stopping Services
        2. 18.3.2. Service Properties
      4. 18.4. Sessions
        1. 18.4.1. Startup Programs
        2. 18.4.2. Options
      5. 18.5. Disk Usage Analyzer
      6. 18.6. Summary
    7. 19. The Ubuntu Command Line
      1. 19.1. The GNOME Terminal Program
        1. 19.1.1. Session Tabs
        2. 19.1.2. The Menu Bar
          1. 19.1.2.1. File
          2. 19.1.2.2. Edit
          3. 19.1.2.3. View
          4. 19.1.2.4. Terminal
          5. 19.1.2.5. Tabs
          6. 19.1.2.6. Help
        3. 19.1.3. The Command-Line Parameters
      2. 19.2. Command-Line Basics
        1. 19.2.1. Setting the command prompt
        2. 19.2.2. The bash Manual
        3. 19.2.3. Traversing Directories
          1. 19.2.3.1. Absolute Filepaths
          2. 19.2.3.2. Relative Filepaths
        4. 19.2.4. File and Directory Listing
          1. 19.2.4.1. Basic Listing
          2. 19.2.4.2. Modifying the Information Presented
          3. 19.2.4.3. The Complete Parameter List
          4. 19.2.4.4. Filtering the List Output
        5. 19.2.5. File Handling
          1. 19.2.5.1. Creating Files
          2. 19.2.5.2. Copying Files
          3. 19.2.5.3. Linking Files
          4. 19.2.5.4. Renaming Files
          5. 19.2.5.5. Deleting Files
        6. 19.2.6. Directory Handling
          1. 19.2.6.1. Creating Directories
          2. 19.2.6.2. Deleting Directories
      3. 19.3. Summary
  9. 4. Using the Ubuntu Server
    1. 20. DNS Server
      1. 20.1. History of Computer Names
      2. 20.2. Domain Names
        1. 20.2.1. DNS Structure
        2. 20.2.2. Finding Domains
        3. 20.2.3. DNS Database Records
          1. 20.2.3.1. The SOA Record
          2. 20.2.3.2. The A Record
          3. 20.2.3.3. The CNAME Record
          4. 20.2.3.4. The NS Record
          5. 20.2.3.5. The HINFO Record
          6. 20.2.3.6. The PTR Record
          7. 20.2.3.7. The MX Record
          8. 20.2.3.8. Sample DNS Configuration
        4. 20.2.4. DNS Protocol
      3. 20.3. Ubuntu as a DNS Client
        1. 20.3.1. Configuring DNS Client Files
          1. 20.3.1.1. The /etc/resolv.conf File
          2. 20.3.1.2. The /etc/hosts File
          3. 20.3.1.3. The /etc/host.conf File
        2. 20.3.2. Ubuntu Client DNS Programs
          1. 20.3.2.1. The Host Program
          2. 20.3.2.2. The nslookup Program
          3. 20.3.2.3. The dig Program
      4. 20.4. Ubuntu as a DNS Server
        1. 20.4.1. The named Files
        2. 20.4.2. Using named as a Local Cache Server
        3. 20.4.3. Using named as a Master DNS Server
      5. 20.5. Summary
    2. 21. Web Server
      1. 21.1. Ubuntu Web Servers
        1. 21.1.1. Web Scripting Languages
          1. 21.1.1.1. PHP
          2. 21.1.1.2. JavaServer Pages
          3. 21.1.1.3. Java Servlets
        2. 21.1.2. The LAMP Platform
        3. 21.1.3. The Tomcat Platform
      2. 21.2. The Apache Web Server
        1. 21.2.1. Apache Configuration Files
        2. 21.2.2. Apache Modules
        3. 21.2.3. Creating Virtual Hosts
        4. 21.2.4. Testing the Apache Server
      3. 21.3. The MySQL Software
        1. 21.3.1. Accessing the Server
        2. 21.3.2. Changing the Root Password
        3. 21.3.3. The phpMyAdmin Tool
      4. 21.4. The PHP Software
        1. 21.4.1. The PHP Configuration Files
        2. 21.4.2. PHP Extensions
        3. 21.4.3. Using PHP
      5. 21.5. Tomcat
        1. 21.5.1. Tomcat Configuration
        2. 21.5.2. Testing Tomcat
        3. 21.5.3. Managing Tomcat
      6. 21.6. Summary
    3. 22. Samba and Print Server
      1. 22.1. What Is Samba?
      2. 22.2. The Ubuntu Samba Environment
        1. 22.2.1. Samba Programs
        2. 22.2.2. Samba Configuration Files
          1. 22.2.2.1. The Global Section
            1. 22.2.2.1.1. Browsing
            2. 22.2.2.1.2. Networking
            3. 22.2.2.1.3. Debugging/Accounting
            4. 22.2.2.1.4. Authentication
            5. 22.2.2.1.5. Domains
            6. 22.2.2.1.6. Printers
          2. 22.2.2.2. The Share Definitions Section
          3. 22.2.2.3. Creating New Shares
      3. 22.3. Creating a Samba Server
        1. 22.3.1. Editing the smb.conf File
        2. 22.3.2. Defining Samba Passwords
        3. 22.3.3. Managing Samba
      4. 22.4. The Samba Client
        1. 22.4.1. The smbclient Program
        2. 22.4.2. Interacting with a Windows Share
      5. 22.5. Connecting from Windows
      6. 22.6. The CUPS Print Server
        1. 22.6.1. Printing in Linux
          1. 22.6.1.1. Direct Printing
          2. 22.6.1.2. Filtered Printing
          3. 22.6.1.3. GhostScript
          4. 22.6.1.4. The Scheduler
        2. 22.6.2. The CUPS Software
        3. 22.6.3. CUPS Configuration
        4. 22.6.4. Managing CUPS Printers
      7. 22.7. Summary
    4. 23. Email Server
      1. 23.1. How Email Works
        1. 23.1.1. Mail Transfer Agent
          1. 23.1.1.1. sendmail
          2. 23.1.1.2. qmail
          3. 23.1.1.3. Postfix
        2. 23.1.2. Mail Delivery Agent
          1. 23.1.2.1. mailx
          2. 23.1.2.2. mail.local
          3. 23.1.2.3. procmail
        3. 23.1.3. Mail User Agent
          1. 23.1.3.1. mailx
          2. 23.1.3.2. Dovecot
          3. 23.1.3.3. fetchmail
      2. 23.2. Postfix Setup
        1. 23.2.1. Postfix Core Programs
        2. 23.2.2. Postfix Message Queues
        3. 23.2.3. Postfix Utility Programs
        4. 23.2.4. Postfix Configuration Files
        5. 23.2.5. Postfix Lookup Tables
      3. 23.3. Installing Postfix
        1. 23.3.1. Internet Site
        2. 23.3.2. Internet with SmartHost
        3. 23.3.3. Satellite System
        4. 23.3.4. Local Only
      4. 23.4. Configuring Postfix
        1. 23.4.1. Wizard Windows
          1. 23.4.1.1. System Mail Name
          2. 23.4.1.2. Relay Host
          3. 23.4.1.3. System Mail Redirection
          4. 23.4.1.4. Final Destination Domains
          5. 23.4.1.5. Synchronous Updates
          6. 23.4.1.6. Networks Allowed to Relay
          7. 23.4.1.7. procmail
          8. 23.4.1.8. Mailbox Size Limit
          9. 23.4.1.9. Local Address Extension
          10. 23.4.1.10. IPv4 and IPv6
        2. 23.4.2. Modifying Configuration Settings
      5. 23.5. procmail
        1. 23.5.1. The .procmailrc File
        2. 23.5.2. Using procmail
      6. 23.6. Summary
    5. 24. Database Server
      1. 24.1. The MySQL Server
        1. 24.1.1. The MySQL Server Files
          1. 24.1.1.1. Managing the Server
          2. 24.1.1.2. Configuring the Server
          3. 24.1.1.3. Interacting with the Server
        2. 24.1.2. The mysql Command
        3. 24.1.3. Using mysql
      2. 24.2. The PostgreSQL Server
        1. 24.2.1. The PostgreSQL Files
          1. 24.2.1.1. Managing the Server
          2. 24.2.1.2. Configuring the Server
          3. 24.2.1.3. Interacting with the Server
        2. 24.2.2. The psql Command
        3. 24.2.3. Using psql
      3. 24.3. Working with Databases
        1. 24.3.1. Creating a Database
        2. 24.3.2. Managing Users
          1. 24.3.2.1. Creating User Accounts in MySQL
          2. 24.3.2.2. Creating Users in PostgreSQL
        3. 24.3.3. Building Tables
        4. 24.3.4. Adding and Viewing Data
      4. 24.4. Summary
  10. 5. Programming in Ubuntu
    1. 25. Shell Scripts
      1. 25.1. Using Multiple Commands
      2. 25.2. Creating a Script File
      3. 25.3. Displaying Output
      4. 25.4. Using Variables
        1. 25.4.1. Environment Variables
        2. 25.4.2. User Variables
      5. 25.5. The Backtick
      6. 25.6. Redirecting Input and Output
        1. 25.6.1. Output Redirection
        2. 25.6.2. Input Redirection
      7. 25.7. Pipes
      8. 25.8. Performing Math
        1. 25.8.1. The expr Command
        2. 25.8.2. Using Brackets
        3. 25.8.3. A Floating-Point Solution
          1. 25.8.3.1. The Basics of bc
          2. 25.8.3.2. Using bc In Scripts
      9. 25.9. Exiting the Script
        1. 25.9.1. Checking the Exit Status
        2. 25.9.2. The exit Command
      10. 25.10. Structured Commands
        1. 25.10.1. The if-then-else Statement
        2. 25.10.2. The test Command
          1. 25.10.2.1. Numeric Comparisons
          2. 25.10.2.2. String Comparisons
          3. 25.10.2.3. File Comparisons
      11. 25.11. Summary
    2. 26. Perl and Python
      1. 26.1. What Is Perl?
      2. 26.2. Working with Perl
        1. 26.2.1. Command-Line Interpreter
        2. 26.2.2. Creating a Perl Program
      3. 26.3. Perl Programming
        1. 26.3.1. Using Variables in Perl
          1. 26.3.1.1. Scalar Variables
          2. 26.3.1.2. Array Variables
          3. 26.3.1.3. Hash Variables
        2. 26.3.2. Structured Commands
          1. 26.3.2.1. If-then-else Statements
          2. 26.3.2.2. While Loops
          3. 26.3.2.3. For Loops
        3. 26.3.3. Perl Operators
          1. 26.3.3.1. Comparison Operators
          2. 26.3.3.2. Logical Operators
          3. 26.3.3.3. Arithmetic Operators
        4. 26.3.4. Regular Expressions
        5. 26.3.5. Perl Command-Line Arguments
      4. 26.4. Perl Modules and CPAN
      5. 26.5. What Is Python?
      6. 26.6. Working with Python
      7. 26.7. Programming in Python
        1. 26.7.1. Python Variables and Data Structures
          1. 26.7.1.1. Scalar Variables
          2. 26.7.1.2. List Variables
        2. 26.7.2. Tuples Variables
          1. 26.7.2.1. Dictionary Variables
        3. 26.7.3. Indentation in Structured Commands
        4. 26.7.4. Object-Oriented Programming
        5. 26.7.5. Python Command-Line Arguments
      8. 26.8. Python Modules
      9. 26.9. Summary
    3. 27. C Programming
      1. 27.1. C Programming in Ubuntu
        1. 27.1.1. The GNU Compiler
        2. 27.1.2. The GNU Assembler
        3. 27.1.3. The GNU Linker
        4. 27.1.4. The GNU Debugger Program
        5. 27.1.5. The GNU objdump Program
          1. 27.1.5.1. Using objdump
          2. 27.1.5.2. An objdump Example
        6. 27.1.6. The GNU Profiler Program
          1. 27.1.6.1. Using the Profiler
          2. 27.1.6.2. A Profile Example
      2. 27.2. Writing C Programs
        1. 27.2.1. C Program Format
          1. 27.2.1.1. Header Section
          2. 27.2.1.2. Declaration Section
          3. 27.2.1.3. Code Section
        2. 27.2.2. Sample Program
      3. 27.3. Summary
    4. 28. Java
      1. 28.1. The Java Development Environment
        1. 28.1.1. Java Programs
        2. 28.1.2. Platforms
      2. 28.2. Ubuntu Java Environments
      3. 28.3. Using OpenJDK
        1. 28.3.1. Installing OpenJDK
        2. 28.3.2. OpenJDK Components
      4. 28.4. Java Development Environments
        1. 28.4.1. Command-Line Tools
          1. 28.4.1.1. The javac Program
          2. 28.4.1.2. Using the java Program
          3. 28.4.1.3. The jdb Program
          4. 28.4.1.4. The jar Program
        2. 28.4.2. NetBeans
        3. 28.4.3. Eclipse
      5. 28.5. Summary
    5. 29. Ruby
      1. 29.1. What Is Ruby?
        1. 29.1.1. Ruby on the Web
        2. 29.1.2. Ruby on Rails
      2. 29.2. Installing Ruby
        1. 29.2.1. Ruby Components
        2. 29.2.2. Installing Ruby in Ubuntu
      3. 29.3. Working with Ruby Code
        1. 29.3.1. Interactive Ruby
        2. 29.3.2. Scripting with Ruby
        3. 29.3.3. Embedded Ruby
      4. 29.4. The Ruby Language
        1. 29.4.1. Variables
          1. 29.4.1.1. Scalar Variables
          2. 29.4.1.2. Array Variables
          3. 29.4.1.3. Hash Variables
        2. 29.4.2. Structured Commands
          1. 29.4.2.1. The if-then Statements
            1. 29.4.2.1.1. Comparing Data Types
            2. 29.4.2.1.2. The if-then-else Statement
            3. 29.4.2.1.3. The elsif Keyword
          2. 29.4.2.2. The Loop Statements
            1. 29.4.2.2.1. Times Loops
            2. 29.4.2.2.2. While Loops
      5. 29.5. Object-Oriented Programming
        1. 29.5.1. Creating Classes
        2. 29.5.2. Using Objects
        3. 29.5.3. Adding Methods
      6. 29.6. Ruby on Rails
        1. 29.6.1. Creating a Project
        2. 29.6.2. Testing the Project
      7. 29.7. Summary
    6. 30. PHP
      1. 30.1. What Is PHP?
      2. 30.2. PHP in Ubuntu
        1. 30.2.1. Core Installation
          1. 30.2.1.1. Using tasksel
          2. 30.2.1.2. Installing Individual Packages
        2. 30.2.2. PHP Extensions
      3. 30.3. Working with PHP
        1. 30.3.1. Defining PHP Code
        2. 30.3.2. PHP Output
      4. 30.4. The PHP Language
        1. 30.4.1. PHP Variables
          1. 30.4.1.1. Scalar Variables
          2. 30.4.1.2. Array Variables
          3. 30.4.1.3. Associative Array Variables
        2. 30.4.2. Iterating Through Arrays
        3. 30.4.3. Structured Commands
          1. 30.4.3.1. if-then Statements
          2. 30.4.3.2. while Loops
        4. 30.4.4. Including External Files
          1. 30.4.4.1. The include() Statement
          2. 30.4.4.2. Referencing include() Files
          3. 30.4.4.3. The require() Statement
        5. 30.4.5. Working with MySQL
      5. 30.5. Object-Oriented PHP
        1. 30.5.1. Creating a Class in PHP
        2. 30.5.2. Creating Objects
        3. 30.5.3. Writing OOP Code in PHP
        4. 30.5.4. Expanding on OOP
        5. 30.5.5. Class Constructors
      6. 30.6. PECL and PEAR
      7. 30.7. Summary