You are previewing Red Hat Fedora Core 6 Unleashed.
O'Reilly logo
Red Hat Fedora Core 6 Unleashed

Book Description

Red Hat® Fedora™ Core 6 Unleashed presents comprehensive coverage of Fedora Core 6, the popular Linux distribution developed by the Red Hat-sponsored Fedora Project.

This book provides detailed information on installing, using, and administering Fedora. You’ll learn how to set up a desktop workstation or a high-powered server, and you’ll find complete details on Yum, Fedora’s easy-to-use desktop and productivity software.

Red Hat® Fedora™ Core 6 Unleashed covers a wide range of topics from using the software you need every day for work, such as the OpenOffice.org productivity suite and the Firefox web browser, to configuring your Linux desktop to run smoothly using multiple printers, shell scripts, and more.

For the hardcore Linux enthusiast, there is complete coverage of the X Window system, Linux programming (including Mono), web server administration, and network administration.

  • Install and configure Red Hat’s Fedora Core 6 Linux distribution

  • Manage Linux services and users

  • Run a printer server with CUPS

  • Connect to a local network and the Internet

  • Set up and administer a web server with Apache

  • Secure your machine and your network from intruders

  • Rebuild and install a new Linux kernel

  • Learn shell scripting

  • Run other operating systems on Fedora with Xen

  • Share files with Windows users using Samba

  • Get productive with OpenOffice.org

  • Play games on Linux

  • Use Linux multimedia programs

  • Use a database with Fedora

  • Set up a firewall

  • Watch television on your computer

  • Set up a DNS server

  • Andrew Hudson is a regular freelance contributor to Linux Format magazine, the UK’s largest Linux magazine. His particular area of expertise is Fedora Core and the Red Hat Enterprise platform.

    Paul Hudson is a professional developer and full-time journalist for Future Publishing. His articles have appeared in Mac Format, PC Answers, PC Format, PC Plus, and Linux Format.

    DVD includes

  • The full Fedora Core 6 binary distribution, packed with the

  • complete Fedora Core packages

  • The complete OpenOffice.org office suite

  • Hundreds of additional programs and utilities

  • Register your book at www.samspublishing.com/register

    for access to exclusive bonus content and other resources.

    Category: Operating Systems/Linux

    Covers: Fedora Core 6 Linux Distribution

    User Level: Intermediate–Advanced

    www.samspublishing.com

    Table of Contents

    1. Copyright
      1. Dedication
    2. About the Authors
    3. Acknowledgments
    4. We Want to Hear from You!
      1. Reader Services
    5. Introduction
      1. What Is Linux?
        1. What Is Fedora?
        2. Roots of Red Hat and Fedora
        3. Licensing
      2. Why Use Linux?
      3. Who This Book Is For
      4. What This Book Contains
      5. Conventions Used in This Book
    6. I. Installation and Configuration
      1. 1. Introducing Fedora
        1. What Is Fedora?
          1. Inside Fedora Core
          2. Features of the Fedora Install
          3. Fedora File System Features
        2. Fedora for Business
        3. Fedora in Your Home
        4. 64-Bit Fedora
        5. Fedora on the PPC Platform
        6. Fedora on Multi-Core Machines
        7. Getting the Most from Fedora and Linux Documentation
        8. Fedora Developers and Documentation
        9. Reference
      2. 2. Preparing to Install Fedora
        1. Planning Your Fedora Deployment
          1. Business Considerations
          2. System Considerations
          3. User Considerations
          4. A Predeployment Planning Checklist
          5. Planning the Installation
        2. Hardware Requirements
          1. Meeting the Minimum Fedora Hardware Requirements
          2. Using Legacy Hardware
          3. Planning for Hard Drive Storage for Your Fedora Installation
          4. Checking Hardware Compatibility
          5. Preparing for Potential Hardware Problems
            1. Controllerless Modems
            2. Universal Serial Bus Devices
            3. Motherboard-Based Hardware
            4. CPU, Symmetric Multiprocessing, and Memory Problems
          6. Preparing and Using a Hardware Inventory
        3. Preparing for the Install Process
          1. Preparing to Install from a CD-ROM
        4. Partitioning Before and During Installation
          1. Choosing a Partitioning Scheme
          2. Hosting Parts of the Linux File System on Separate Partitions
        5. Using Fedora’s kickstart Installation Method
        6. Reference
      3. 3. Installing Fedora
        1. Before You Begin the Installation
          1. Research Your Hardware Specifications
          2. Choose an Installation Type
          3. Choose Software Installation Options
          4. Planning Partition Strategies
          5. The Boot Loader
        2. Choosing How to Install Fedora
          1. Installing from CD or DVD
          2. Installing Using a Network
        3. Step-by-Step Installation
          1. Starting the Install
          2. Partitioning Your Hard Drive
          3. Choosing, Configuring, and Installing the Boot Loader
          4. Network Configuration
          5. Setting the Time Zone
          6. Creating a Root Password and User Accounts
          7. Software Selection and Installation
          8. Finishing the Install
          9. firstboot Configuration
        4. Logging In and Shutting Down
        5. Reference
      4. 4. Post-Installation Configuration
        1. Troubleshooting Post-Installation Configuration Problems
        2. Your Hardware and Kudzu
        3. Pointer and Keyboard Configuration
          1. Configuring Keyboards with Linux
          2. Configuring Pointing Devices in Fedora
        4. Configuring Display Graphics
        5. Configuring Sound Devices
        6. Detecting and Configuring a Modem
          1. Configuring a Serial-Port Modem
          2. Configuring a Fax Modem
          3. Configuring minicom for Modem Use
          4. Configuring WinModems for Laptops
        7. Configuring Power Management in Fedora
        8. Resetting the Date and Time
          1. Using the date Command
          2. Using the hwclock Command
          3. Using the system-config-date Client
        9. Managing PCMCIA
          1. Using PCMCIA
          2. Controlling PCMCIA Service
        10. Configuring and Using CD, DVD, and CD-RW Drives
          1. Checking Drive Assignment
          2. Initializing FireWire CD Drives
        11. Configuring Wireless Networks
        12. Reference
      5. 5. First Steps with Fedora
        1. Working with the Linux File System
          1. Viewing the Linux File System
          2. Use Essential Commands from the /bin and /sbin Directories
          3. Store the Booted Kernel and View Stored Devices in the /boot and /dev Directories
          4. Use and Edit Files in the /etc Directory
          5. Protect the Contents of User Directories—/home
          6. Use the Contents of the /proc Directory to Interact with the Kernel
          7. Work with Shared Data in the /usr Directory
          8. Temporary File Storage in the /tmp Directory
          9. Access Variable Data Files in the /var Directory
        2. Logging In to and Working with Linux
          1. Text-Based Console Login
          2. Working with Virtual Consoles
          3. Using Simple Keyboard and Mouse Techniques in a Linux Console Session
          4. Logging Out
          5. Logging In and Out from a Remote Computer
        3. Changing Your User Information
        4. Reading Documentation
          1. Using Man Pages
          2. Finding and Reading Software Package Documentation
        5. Using the Shell
          1. Using Environment Variables
          2. Navigating and Searching with the Shell
          3. Managing Files with the Shell
          4. Compressing and Decompressing Files Through the Shell
        6. Using the Text Editors
          1. Working with vi
          2. Working with emacs
        7. Working with Permissions
          1. Assigning Permissions
          2. Directory Permissions
          3. Understanding Set User ID and Set Group ID Permissions
        8. Working As Root
          1. Creating Users
          2. Deleting Users
          3. Shutting Down the System
          4. Rebooting the System
        9. Reference
    7. II. Desktop Fedora
      1. 6. The X Window System
        1. Basic X Concepts
        2. Using X
          1. Elements of the xorg.conf File
            1. The ServerLayout Section
            2. The Files Section
            3. The Module Section
            4. The InputDevice Section
            5. The Monitor Section
            6. The Device Section
            7. The Screen Section
          2. Configuring X
            1. Configuring X with the system-config-display Client
            2. Using Xorg to Configure X
        3. Starting X
          1. Using a Display Manager
            1. Configuring gdm
            2. Configuring kdm
            3. Using the xdm Display Manager
          2. Starting X from the Console by Using startx
        4. Selecting and Using Window Managers
          1. Using Fedora’s switchdesk
          2. The Tab Window Manager
          3. The Motif Window Manager
        5. AIGLX – Eye Candy for the Masses
        6. The GNOME and KDE Desktop Environments
          1. GNOME: The GNU Network Object Model Environment
          2. KDE: The K Desktop Environment
        7. Reference
      2. 7. Managing Software
        1. Using RPM for Software Management
          1. Command-Line and Graphical RPM Clients
          2. Using rpm on the Command Line
          3. Package Organization with RPM
          4. Extracting a Single File from an RPM File
          5. Using pirut for Software Management
        2. Alternatives for Software Management
          1. yum
          2. pup
        3. Compiling Software from Source
          1. Building rpms from src.rpm Files
          2. Working with Source RPM Files
          3. Compile from Source Tarballs
        4. Reference
      3. 8. On the Internet: Surfing the Web, Writing Email, and Reading the News
        1. Choosing a Web Browser
          1. Mozilla Firefox
          2. The Mozilla Suite
          3. Epiphany
          4. Konqueror
        2. Choosing an Email Client
          1. Evolution
          2. Mozilla Thunderbird
          3. Balsa
          4. KMail
          5. Mozilla Mail
          6. The mail Application
            1. Using mail
            2. Shell Scripting with mail
          7. mutt
          8. Other Mail Clients
        3. An Overview of Network News
          1. Newsgroups
        4. Selecting a Newsreader
          1. The slrn News Client
          2. The Pan News Client
          3. The KNode News Client
          4. The Mozilla News Client
          5. The Thunderbird News Client
        5. RSS Readers
          1. Firefox
          2. Blam
        6. Collaborating with TWiki
        7. Internet Relay Chat
        8. Internet Messaging with GAIM
        9. Videoconferencing with Ekiga
        10. Reference
      4. 9. Productivity Applications
        1. Office Suites for Fedora
          1. Working with OpenOffice.org
            1. What Is in OpenOffice.org?
            2. Installing and Configuring OpenOffice.org
          2. Working with OpenOffice.org Writer
            1. Getting Started
            2. Working with Styles and Formatting
          3. Working with OpenOffice.org Calc
            1. Getting Started
            2. Formatting Your Spreadsheets
            3. Summarizing Data with Calc
          4. Working with Gnome Office
          5. Working with KOffice
        2. Productivity Applications Written for Microsoft Windows
        3. Reference
      5. 10. Multimedia Applications
        1. Burning CDs and DVDs in Fedora
          1. Creating CDs from the Command Line
          2. Creating DVDs from the Command Line
            1. Session Writing
            2. Packet Writing
          3. Creating CDs and DVDs with Fedora’s Graphical Clients
            1. X-CD-Roast
            2. Other Graphical CD Clients
        2. Sound and Music
          1. Sound Cards
          2. Recording Sound
          3. Sound Formats
          4. Music Players
          5. Streaming Audio
        3. Viewing TV and Video
          1. TV and Video Hardware
          2. Video Formats
          3. Viewing Video in Linux
          4. Viewing Television with Linux
          5. Personal Video Recorders
          6. DVD and Video Players
        4. Reference
      6. 11. Graphics Manipulation
        1. Graphics Manipulation
          1. The GNU Image Manipulation Program
        2. Using Digital Cameras with Fedora
          1. Webcams
          2. Handheld Digital Cameras
          3. Using F-Spot
        3. Using Scanners in Fedora
          1. Working with Graphics Formats
          2. Capturing Screen Images
        4. Reference
      7. 12. Printing with Fedora
        1. Overview of Fedora Printing
        2. Configuring and Managing Print Services
          1. GUI-Based Printer Configuration Quickstart
          2. Console-Based Printer Configuration Quickstart
          3. Managing Printing Services
        3. Creating and Configuring Local Printers
          1. Creating the Print Queue
          2. Editing Printer Settings
        4. Reference
      8. 13. Games
        1. Linux Gaming
          1. Installing Proprietary Video Drivers
          2. Installing DOOM 3
          3. Installing Unreal Tournament 2004
          4. Installing Quake 4
          5. Installing Wolfenstein: Enemy Territory
          6. Battle for Wesnoth
          7. KDEedu
          8. Playing Windows Games with Cedega
        2. Reference
    8. III. System Administration
      1. 14. Managing Users
        1. User Accounts
          1. User IDs and Group IDs
          2. File Permissions
        2. Managing Groups
          1. Group Management Tools
        3. Managing Users
          1. User Management Tools
          2. Adding New Users
          3. Monitoring User Activity on the System
        4. Managing Passwords
          1. System Password Policy
          2. The Password File
          3. Shadow Passwords
          4. Managing Password Security for Users
          5. Changing Passwords in a Batch
        5. Granting System Administrator Privileges to Regular Users
          1. Temporarily Changing User Identity with the su Command
          2. Granting Root Privileges on Occasion—The sudo Command
          3. Control Via Restricted Shells
        6. The User Login Process
        7. Disk Quotas
          1. Implementing Quotas
          2. Manually Configuring Quotas
        8. Reference
      2. 15. Automating Tasks
        1. Running Services at Bootup
          1. Beginning the Boot Loading Process
          2. Loading the Linux Kernel
          3. System Services and Runlevels
          4. Runlevel Definitions
          5. Booting into the Default Runlevel
          6. Booting to a Nondefault Runlevel with GRUB
          7. Understanding init Scripts and the Final Stage of Initialization
          8. Controlling Services at Boot with Administrative Tools
            1. Using the chkconfig Text-Based Command-Line Tool
            2. Using the GUI-Based Service Configuration Tool
          9. Running Services Through xinetd
          10. Changing Runlevels
        2. Troubleshooting Runlevel Problems
        3. Starting and Stopping Services Manually
        4. Scheduling Tasks
          1. Using at and batch to Schedule Tasks for Later
          2. Using cron to Run Jobs Repeatedly
        5. Basic Shell Control
          1. The Shell Command Line
          2. Shell Pattern-Matching Support
          3. Redirecting Input and Output
          4. Piping Data
          5. Background Processing
        6. Writing and Executing a Shell Script
          1. Running the New Shell Program
          2. Storing Shell Scripts for Systemwide Access
          3. Interpreting Shell Scripts Through Specific Shells
          4. Using Variables in Shell Scripts
          5. Assigning a Value to a Variable
          6. Accessing Variable Values
          7. Positional Parameters
          8. A Simple Example of a Positional Parameter
          9. Using Positional Parameters to Access and Retrieve Variables from the Command Line
          10. Using a Simple Script to Automate Tasks
          11. Built-in Variables
          12. Special Characters
          13. Use Double Quotes to Resolve Variables in Strings with Embedded Spaces
          14. Using Single Quotes to Maintain Unexpanded Variables
          15. Using the Backslash As an Escape Character
          16. Using the Backtick to Replace a String with Output
          17. Comparison of Expressions in pdksh and bash
            1. String Comparison
            2. Number Comparison
            3. File Operators
            4. Logical Operators
          18. Comparing Expressions with tcsh
            1. String Comparison
            2. Number Comparison
            3. File Operators
            4. Logical Operators
          19. The for Statement
          20. The while Statement
          21. The until Statement
          22. The repeat Statement (tcsh)
          23. The select Statement (pdksh)
          24. The shift Statement
          25. The if Statement
          26. The case Statement
          27. The break and exit Statements
          28. Using Functions in Shell Scripts
        7. Reference
      3. 16. System Resources
        1. System-Monitoring Tools
          1. Console-Based Monitoring
          2. Using the kill Command to Control Processes
          3. Using Priority Scheduling and Control
          4. Displaying Free and Used Memory with free
          5. Disk Quotas
          6. Graphical Process and System Management Tools
          7. KDE Process- and System-Monitoring Tools
        2. Reference
      4. 17. Backing Up, Restoring, and Recovery
        1. Choosing a Backup Strategy
          1. Why Data Loss Occurs
          2. Assessing Your Backup Needs and Resources
          3. Evaluating Backup Strategies
            1. Simple Strategy
            2. Full Backup on a Periodic Basis
            3. Full Backups with Incremental Backups
            4. Mirroring Data or RAID Arrays
          4. Making the Choice
        2. Choosing Backup Hardware and Media
          1. Removable Storage Media
            1. Zip Drives
            2. USB and Solid-State Drives
            3. FireWire Drives
            4. CD-RW and DVD+RW/-RW Drives
          2. Network Storage
          3. Tape Drive Backup
        3. Using Backup Software
          1. tar: The Most Basic Backup Tool
            1. Creating Full and Incremental Backups with tar
            2. Restoring Files from an Archive with tar
          2. The GNOME File Roller
          3. The KDE Archiving Tools (KDE ark and kdat)
            1. The KDE ark Archiving Tool
          4. Using the dd Command for Archiving
          5. Using the Amanda Backup Application
          6. Alternative Backup Software
        4. Copying Files
          1. Copying Files Using tar
          2. Compressing, Encrypting, and Sending tar Streams
          3. Copying Files Using cp
          4. Copying Files Using mc
          5. Copying Files Using scp
          6. Copying Files Using rsync
        5. Undeleting Files
          1. Reformatting with the -S Option When Experiencing Unrecoverable File System Errors
          2. Undeleting Files Using mc
        6. System Rescue
          1. The Fedora Rescue Disc
          2. Backing Up and Restoring the Master Boot Record
          3. Manually Restoring the Partition Table
          4. Booting the System from the Rescue Disc
          5. Booting the System from a Generic Boot Floppy Disk
          6. Using a GRUB Boot Floppy Disk
          7. Using the Recovery Facility from the Installation Disc
        7. Reference
      5. 18. Network Connectivity
        1. Laying the Foundation: The localhost Interface
          1. Checking for the Availability of the Loopback Interface
          2. Configuring the Loopback Interface Manually
        2. Networking with TCP/IP
          1. TCP/IP Addressing
          2. Using IP Masquerading in Fedora
          3. Ports
        3. Network Organization
          1. Subnetting
          2. Subnet Masks
          3. Unicast, Multicast, and Broadcast Addressing
        4. Hardware Devices for Networking
          1. Network Interface Cards
            1. Token Ring
            2. 10BASE-T
            3. 100BASE-T
            4. 1000BASE-T
            5. Fiber Optic and Gigabit Ethernet
            6. Wireless Network Interfaces
          2. Network Cable
            1. Unshielded Twisted Pair
            2. Fiber Optic Cable
          3. Hubs and Switches
          4. Routers and Bridges
            1. Bridges
            2. Routers
          5. Initializing New Network Hardware
            1. Editing the /etc/modprobe.conf File
            2. Using modprobe to Manually Load Kernel Modules
        5. Using Network Configuration Tools
          1. Command-Line Network Interface Configuration
            1. /sbin/ifconfig
            2. /sbin/route
            3. /bin/netstat
          2. Network Configuration Files
            1. Adding Hosts to /etc/hosts
            2. Service Settings in /etc/services
            3. Using /etc/nsswitch.conf After Changing Naming Services
            4. Setting a Name Server with /etc/resolv.conf
            5. Setting DNS Search Order with /etc/host.conf
            6. Examining Host Network Settings in /etc/sysconfig/network
          3. Using Graphical Configuration Tools
        6. Dynamic Host Configuration Protocol
          1. How DHCP Works
          2. Activating DHCP at Installation and Boot Time
          3. DHCP Software Installation and Configuration
            1. DHCP dhclient
            2. DHCP Server
          4. Using DHCP to Configure Network Hosts
            1. DHCP Server Configuration
          5. Other Uses for DHCP
        7. Wireless Networking
          1. Support for Wireless Networking in Fedora
          2. Cellular Networking
          3. Advantages of Wireless Networking
          4. Choosing from Among Available Wireless Protocols
        8. Beyond the Network and onto the Internet
        9. Common Configuration Information
        10. Configuring Digital Subscriber Line Access
          1. Understanding Point-to-Point Protocol over Ethernet
          2. Configuring a PPPoE Connection Manually
        11. Configuring Dial-Up Internet Access
          1. Configuring a Dial-Up Connection Manually
          2. Using the Fedora Internet Configuration Wizard
        12. Troubleshooting Connection Problems
        13. Configuring a Dial-In PPP Server
          1. Using Patches/Upgrades to Keep Your Network Secure
        14. Reference
          1. General
          2. DHCP
          3. Wireless
          4. Books
      6. 19. Remote Access with SSH and Telnet
        1. Setting Up a Telnet Server
        2. Telnet Versus SSH
        3. Setting Up an SSH Server
        4. The SSH Tools
          1. Using scp to Copy Individual Files Between Machines
          2. Using sftp to Copy Many Files Between Machines
          3. Using ssh-keygen to Enable Key-Based Logins
        5. Remote X
          1. XDMCP
          2. VNC
        6. Reference
      7. 20. Xen
        1. Why Virtualization Is a Smart Idea
        2. Virtualization Versus Paravirtualization
        3. How Xen Works
        4. Installing Xen
        5. Setting Up Guest Operating Systems
        6. Runtime Configuration
        7. Reference
    9. IV. Fedora As a Server
      1. 21. Apache Web Server Management
        1. About the Apache Web Server
        2. Installing the Apache Server
          1. Installing from the RPM
          2. Building the Source Yourself
            1. Using ./configure to Build Apache
            2. Apache File Locations After a Build and Install
        3. Starting and Stopping Apache
          1. Starting the Apache Server Manually
          2. Using /etc/rc.d/init.d/httpd
          3. Controlling Apache with Red Hat’s service Command
          4. Controlling Apache with Red Hat’s chkconfig Command
          5. Controlling Apache with Red Hat’s system-config-services Client
        4. Runtime Server Configuration Settings
          1. Runtime Configuration Directives
          2. Editing httpd.conf
            1. ServerRoot
            2. Listen
            3. User and Group
            4. ServerAdmin
            5. ServerName
            6. DocumentRoot
            7. UserDir
            8. DirectoryIndex
          3. Apache Multiprocessing Modules
          4. Using .htaccess Configuration Files
            1. Options Directives
            2. AllowOverrides Directives
        5. File System Authentication and Access Control
          1. Restricting Access with allow and deny
          2. Authentication
          3. Final Words on Access Control
        6. Apache Modules
          1. mod_access
          2. mod_alias
          3. mod_asis
          4. mod_auth
          5. mod_auth_anon
          6. mod_auth_dbm
          7. mod_auth_digest
          8. mod_autoindex
          9. mod_cgi
          10. mod_dir and mod_env
          11. mod_expires
          12. mod_headers
          13. mod_include
          14. mod_info and mod_log_config
          15. mod_mime and mod_mime_magic
          16. mod_negotiation
          17. mod_proxy
          18. mod_rewrite
          19. mod_setenvif
          20. mod_speling
          21. mod_status
          22. mod_ssl
          23. mod_unique_id
          24. mod_userdir
          25. mod_usertrack
          26. mod_vhost_alias
        7. Virtual Hosting
          1. Address-Based Virtual Hosts
          2. Name-Based Virtual Hosts
        8. Logging
        9. Dynamic Content
          1. CGI
          2. SSI
          3. Basic SSI Directives
            1. config
            2. echo
            3. exec
            4. fsize
            5. flastmod
            6. include
            7. printenv
            8. set
          4. Flow Control
        10. Graphic Interface Configuration of Apache
          1. Configuring Virtual Host Properties
          2. Configuring the Server
          3. Configuring Apache for Peak Performance
        11. Other Web Servers for Use with Fedora
          1. Sun Java System Web Server
          2. Stronghold
          3. Zope
          4. Zeus Web Server
        12. Reference
      2. 22. Administering Database Services
        1. A Brief Review of Database Basics
          1. How Relational Databases Work
          2. Understanding SQL Basics
          3. Creating Tables
          4. Inserting Data into Tables
          5. Retrieving Data from a Database
        2. Choosing a Database: MySQL Versus PostgreSQL
          1. Speed
          2. Data Locking
          3. ACID Compliance in Transaction Processing to Protect Data Integrity
          4. SQL Subqueries
          5. Procedural Languages and Triggers
        3. Configuring MySQL
          1. Setting a Password for the MySQL Root User
          2. Creating a Database in MySQL
          3. Granting and Revoking Privileges in MySQL
        4. Configuring PostgreSQL
          1. Initializing the Data Directory in PostgreSQL
          2. Creating a Database in PostgreSQL
          3. Creating Database Users in PostgreSQL
          4. Deleting Database Users in PostgreSQL
          5. Granting and Revoking Privileges in PostgreSQL
        5. Database Clients
          1. SSH Access to a Database
          2. Local GUI Client Access to a Database
          3. Web Access to a Database
          4. The MySQL Command-Line Client
          5. The PostgreSQL Command-Line Client
          6. Graphical Clients
        6. Reference
      3. 23. File and Print
        1. Using the Network File System
          1. Installing and Starting or Stopping NFS
          2. NFS Server Configuration
          3. NFS Client Configuration
        2. Putting Samba to Work
          1. Manually Configuring Samba with /etc/samba/smb.conf
            1. Setting Global Samba Behavior with the [global] Section
            2. Sharing Home Directories Using the [homes] Section
            3. Sharing Printers by Editing the [printers] Section
          2. Testing Samba with the testparm Command
          3. Starting the smbd Daemon
            1. Using the smbstatus Command
            2. Connecting with the smbclient Command
          4. Mounting Samba Shares
          5. Configuring Samba Using SWAT
        3. Network and Remote Printing with Fedora
        4. Creating Network Printers
          1. Enabling Network Printing on a LAN
          2. Session Message Block Printing
          3. Network-Attached Printer Configuration and Printing
        5. Console Print Control
          1. Console-Based Printer Configuration
          2. Using Basic Print Commands
          3. Managing Print Jobs
        6. Using the Common UNIX Printing System GUI
          1. Creating a CUPS Printer Entry
        7. Avoiding Printer Support Problems
          1. All-in-One (Print/Fax/Scan) Devices
          2. Using USB and Legacy Printers
        8. Reference
      4. 24. Remote File Serving with FTP
        1. Using FTP Clients
          1. The FTP Client Interface
          2. Using the Text-Based FTP Client Interface
            1. A Typical FTP Session Using the ftp Command
            2. Using the lftp Command for File Transfers
            3. Using the wget Command for File Transfers
          3. Using Graphical FTP Clients
            1. Using the gFTP Interface
            2. FTP Sessions with Konqueror and Nautilus
        2. FTP Servers
          1. Choosing an Authenticated or Anonymous Server
          2. Fedora FTP Server Packages
          3. Other FTP Servers
        3. Installing FTP Software
        4. The FTP User
        5. xinetd Configuration for wu-ftpd
          1. Configuring xinetd for the wu-ftp Server
          2. Starting the Very Secure FTP Server (vsftpd) Package
        6. Configuring the Very Secure FTP Server
          1. Controlling Anonymous Access
          2. Other vsftpd Server Configuration Files
            1. Default vsftpd Behaviors
        7. Configuring the wu-ftpd Server
        8. Using Commands in the ftpaccess File to Configure wu-ftpd
          1. Configure Access Control
            1. Limit Access for Anonymous Users
            2. Define User Classes
            3. Block a Host’s Access to the Server
            4. Restrict Permissions Based on Group IDs
            5. Limit Permissions Based on Individual ID
            6. Restrict the Number of Users in a Class
            7. Limit the Number of Invalid Password Entries
          2. Configure User Information
            1. Display a Prelogin Banner
            2. Display a File
            3. Display Administrator’s Email Address
            4. Notify User of Last Modification Date
          3. Configure System Logging
            1. Redirect Logging Records
            2. Log All User-Issued Commands
            3. Log Security Violations and File Transfers
          4. Configure Permission Control
            1. Allow Users to Change File Permissions
            2. Assign Users File-Delete Permission
            3. Assign Users File-Overwrite Permission
            4. Allow Users to Rename Files
            5. Allow Users to Compress Files
            6. Assign or Deny Permission to Use tar
            7. Determine What Permissions Can Apply to User-Created Upload Files
          5. Configure Commands Directed Toward the cdpath
          6. Structure of the shutdown File
        9. Configure FTP Server File-Conversion Actions
          1. Strip Prefix
          2. Strip Postfix
          3. Add-On Prefix
          4. Add-On Postfix
          5. External Command
          6. Types
          7. Options
          8. Description
          9. An Example of Conversions in Action
        10. Using Commands in the ftphosts File to Allow or Deny FTP Server Connection
        11. Server Administration
          1. Display Information About Connected Users
          2. Count the Number of Connections
          3. Use /usr/sbin/ftpshut to Schedule FTP Server Downtime
          4. Use /var/log/xferlog to View a Log of Server Transactions
        12. Reference
      5. 25. Handling Electronic Mail
        1. How Email Is Sent and Received
          1. The Mail Transport Agent
            1. Sendmail
            2. Postfix
            3. Qmail and Exim
          2. Choosing an MTA
          3. The Mail Delivery Agent
          4. The Mail User Agent
        2. Basic Sendmail Configuration and Operation
          1. Configuring Masquerading
          2. Using Smart Hosts
          3. Setting Message Delivery Intervals
          4. Building the sendmail.cf File
          5. Mail Relaying
          6. Forwarding Email with Aliases
          7. Rejecting Email from Specified Sites
        3. Introducing Postfix
          1. Making the Switch
        4. Using Fetchmail to Retrieve Mail
          1. Installing Fetchmail
          2. Configuring Fetchmail
            1. Configuring Global Options
            2. Configuring Mail Server Options
            3. Configuring User Accounts
        5. Choosing a Mail Delivery Agent
          1. Procmail
          2. Spamassassin
          3. Squirrelmail
          4. Virus Scanners
          5. Special Mail Delivery Agents
        6. Mail Daemons
        7. Alternatives to Microsoft Exchange Server
          1. Microsoft Exchange Server/Outlook Client
          2. CommuniGate Pro
          3. Oracle Collaboration Suite
          4. Open Xchange
          5. Conclusion
        8. Reference
          1. Web Resources
          2. Books
      6. 26. Setting Up a Proxy Server
        1. What Is a Proxy Server?
        2. Installing Squid
        3. Configuring Clients
        4. Access Control Lists
        5. Specifying Client IP Addresses
        6. Sample Configurations
        7. Reference
      7. 27. Managing DNS
        1. Configuring DNS for Clients
          1. Understanding the /etc/host.conf File
          2. Understanding the /etc/nsswitch.conf File
          3. Understanding the /etc/hosts File
          4. Understanding the /etc/resolv.conf File
          5. Understanding the Changes Made by DHCP
        2. Essential DNS Concepts
          1. How Nameservers Store DNS Structure Information
          2. How DNS Provides Name Service Information to Users
          3. Name Resolution in Practice
        3. Using DNS Tools
          1. dig
          2. host
          3. nslookup
          4. whois
        4. Configuring a Local Caching Nameserver
        5. Your Own Domain Name and Third-Party DNS
        6. Providing DNS for a Real Domain with BIND
          1. rndc.conf
          2. named.conf
            1. The Zone File
            2. The Zone File’s SOA Record
            3. The Zone File’s Other Records
          3. Logging
          4. Resolver Configuration
          5. Running the named Nameserver Daemon
        7. Providing DNS for a Real Domain
          1. Forward Zone
          2. Reverse Zone
          3. Registering the Domain
        8. Troubleshooting DNS
          1. Delegation Problems
          2. Reverse Lookup Problems
          3. Maintaining Accurate Serial Numbers
          4. Troubleshooting Problems in Zone Files
          5. Tools for Troubleshooting
          6. Using Fedora’s BIND Configuration Tool
        9. Managing DNS Security
          1. UNIX Security Considerations
          2. DNS Security Considerations
            1. Defining Access Control Lists
            2. Controlling Queries
            3. Controlling Zone Transfers
            4. Alert named to Potential Problem Hosts
          3. Using DNS Security Extensions
          4. Using Split DNS
        10. Reference
      8. 28. LDAP
        1. Configuring the Server
          1. Populating Your Directory
        2. Configuring Clients
          1. Evolution
          2. Thunderbird
        3. Administration
        4. Reference
      9. 29. News Servers
        1. Types of News Servers
          1. Full Newsfeed Servers
          2. Leaf Node Servers
          3. Local News Servers
        2. The INN Package and Configuration Files
        3. Installing the INN Package
        4. Configuring innd
          1. The inn.conf File
          2. The incoming.conf File
          3. The storage.conf File
          4. The readers.conf File
          5. The active and newsgroups Files
          6. The history Files
          7. Running innd
        5. Reference
    10. V. Programming Linux
      1. 30. Using Perl
        1. Using Perl with Linux
          1. Perl Versions
          2. A Simple Perl Program
        2. Perl Variables and Data Structures
          1. Perl Variable Types
          2. Special Variables
        3. Operators
          1. Comparison Operators
          2. Compound Operators
          3. Arithmetic Operators
          4. Other Operators
          5. Special String Constants
        4. Conditional Statements: if/else and unless
          1. if
          2. unless
        5. Looping
          1. for
          2. foreach
          3. while
          4. until
          5. last and next
          6. do ... while and do ... until
        6. Regular Expressions
        7. Access to the Shell
        8. Modules and CPAN
        9. Code Examples
          1. Sending Mail
          2. Purging Logs
          3. Posting to Usenet
          4. One-Liners
          5. Command-Line Processing
        10. Reference
          1. Books
          2. Usenet
          3. WWW
          4. Other
      2. 31. Working with Python
        1. Python on Linux
          1. Getting Interactive
        2. The Basics of Python
          1. Numbers
          2. More on Strings
          3. Lists
          4. Dictionaries
          5. Conditionals and Looping
        3. Functions
        4. Object Orientation
          1. Class and Object Variables
          2. Constructors and Destructors
          3. Class Inheritance
          4. Multiple Inheritance
        5. The Standard Library and the Vaults of Parnassus
        6. Reference
      3. 32. Writing PHP Scripts
        1. Introduction to PHP
          1. Entering and Exiting PHP Mode
          2. Variables
          3. Arrays
          4. Constants
          5. References
          6. Comments
          7. Escape Sequences
          8. Variable Substitution
          9. Operators
          10. Conditional Statements
          11. Special Operators
          12. Switching
          13. Loops
          14. Including Other Files
        2. Basic Functions
          1. Strings
          2. Arrays
          3. Files
          4. Miscellaneous
        3. Handling HTML Forms
        4. Databases
          1. Introduction to PEAR::DB
        5. Reference
      4. 33. C/C++ Programming Tools for Fedora
        1. Programming in C with Linux
          1. Programming in C++
          2. Getting Started with Linux C/C++ Programming
          3. The Process of Programming
        2. Elements of the C/C++ Language
        3. Using the C Programming Project Management Tools Provided with Fedora Core Linux
          1. Building Programs with make
            1. Using Makefiles
            2. Using Macros and Makefile Targets
          2. Using the autoconf Utility to Configure Code
          3. Managing Software Projects with RCS and CVS
          4. Debugging Tools
            1. Using splint to Check Source Code
            2. Using gprof to Track Function Time
            3. Doing Symbolic Debugging with gdb
        4. Using the GNU C Compiler
        5. A Simple C Program
        6. Graphical Development Tools
          1. Using the KDevelop Client
          2. Trolltech’s Qt Designer
          3. The Glade Client for Developing in GNOME
        7. Additional Resources
        8. Reference
      5. 34. Mono
        1. Why Use Mono?
        2. Mono on the Command Line
          1. The Structure of a C# Program
          2. Printing Out the Parameters
          3. Creating Your Own Variables
          4. Adding Some Error Checking
        3. Building on Mono’s Libraries
          1. Searching with Beagle
          2. Creating a GUI with Gtk#
        4. Reference
          1. Books
    11. VI. Fedora Housekeeping
      1. 35. Securing Your Machines
        1. Understanding Computer Attacks
        2. Assessing Your Vulnerability
        3. Protecting Your Machine
          1. Securing a Wireless Network
          2. Passwords and Physical Security
          3. Configuring and Using Tripwire
          4. Devices
        4. Viruses
        5. Configuring Your Firewall
        6. Forming a Disaster Recovery Plan
        7. Keeping Up-to-Date on Linux Security Issues
        8. Reference
      2. 36. Performance Tuning
        1. Hard Disk
          1. Using the BIOS and Kernel to Tune the Disk Drives
          2. The hdparm Command
          3. File System Tuning
          4. The mke2fs Command
          5. The tune2fs Command
          6. The e2fsck Command
          7. The badblocks Command
          8. Disabling File Access Time
        2. Kernel
        3. Apache
        4. MySQL
          1. Measuring Key Buffer Usage
          2. Using the Query Cache
          3. Miscellaneous Tweaks
          4. Query Optimization
        5. Reference
      3. 37. Command Line Masterclass
        1. Why Use the Shell?
        2. Basic Commands
          1. Printing the Contents of a File with cat
          2. Changing Directories with cd
          3. Changing File Access Permissions with chmod
          4. Copying Files with cp
          5. Printing Disk Usage with du
          6. Finding Files by Searching with find
          7. Searching for a String in Input with grep
          8. Paging Through Output with less
          9. Creating Links Between Files with ln
          10. Finding Files from an Index with locate
          11. Listing Files in the Current Directory with ls
          12. Reading Manual Pages with man
          13. Making Directories with mkdir
          14. Moving Files with mv
          15. Listing Processes with ps
          16. Deleting Files and Directories with rm
          17. Printing the Last Lines of a File with tail
          18. Printing Resource Usage with top
          19. Printing the Location of a Command with which
        3. Combining Commands
        4. Multiple Terminals
        5. Reference
          1. Books
      4. 38. Advanced yum
        1. Getting Started
        2. Running yum Noninteractively
        3. Using yum to Remove Packages
        4. Maintaining yum
        5. Using yum to Manage Package Inventory
        6. Configuring yum
        7. Creating a Local yum Repository
          1. Using createrepo
        8. Reference
      5. 39. Managing the File System
        1. The Fedora File System Basics
          1. Physical Structure of the File System on the Disk
          2. File System Partitions
          3. Network and Disk File Systems
          4. Viewing Your System’s File Systems
        2. Working with the ext3 File System
          1. Understanding the ext3 File System Structure
          2. Journaling Options in ext3
          3. Verifying File Integrity in ext3 File Systems with the fsck Utility
        3. Other File Systems Available to Fedora
          1. The Reiser File System (reiserfs)
          2. JFS and XFS File Systems
          3. DOS File Systems
          4. CD-ROM File Systems
            1. iso9660
            2. Universal Disk Format
        4. Creating a File System
          1. The Disk as a Storage Device
          2. Creating the Partition Table
            1. The fdisk Command
            2. The parted Command
          3. Creating the File System on the Partitioned Disk
            1. Using mke2fs to Create the File System
            2. Using mkfs.ext3
            3. Using mkreiserfs
          4. Creating a DOS File System with mkdosfs
        5. Mounting File Systems
          1. The mount Command
          2. The umount Command
          3. Mounting Automatically with /etc/fstab
          4. GUI Tools to Mount File Systems
        6. Relocating a File System
          1. Installing the New Drive
          2. Creating the Partition Table and Formatting the Disk
          3. Mount the New Partition and Populating It with the Relocated Files
        7. Logical Volume Management
        8. File System Manipulation
          1. Creating a File System for Testing
            1. Step 1—Make a Blank Image File
            2. Step 2—Make a File System
            3. Step 3—Mount Our Test File System
          2. Mounting a Partition as Read-Only on a Running System
          3. Converting an Existing ext2 File System to ext3
            1. Making an Initial Ramdisk
          4. Examine an initrd Image File
        9. Managing Files for Character Devices, Block Devices, and Special Devices
          1. Naming Conventions Used for Block and Character Devices
          2. Using mknod to Create Devices
        10. Reference
      6. 40. Kernel and Module Management
        1. The Linux Kernel
          1. The Linux Source Tree
          2. Types of Kernels
        2. Managing Modules
        3. When to Recompile
        4. Kernel Versions
        5. Obtaining the Kernel Sources
        6. Patching the Kernel
        7. Compiling the Kernel
          1. Using xconfig to Configure the Kernel
          2. Creating an Initial RAM Disk Image
        8. When Something Goes Wrong
          1. Errors During Compile
          2. Runtime Errors, Boot Loader Problems, and Kernel Oops
        9. Reference
    12. VII. Appendix
      1. A. Fedora and Linux Internet Resources
        1. Websites and Search Engines
          1. Web Search Tips
          2. Google Is Your Friend
          3. Fedora Package Listings
          4. Certification
          5. Commercial Support
          6. Documentation
          7. Linux Guides
          8. The Fedora Project
          9. Red Hat Linux
          10. Mini-CD Linux Distributions
          11. Floppy-Based Linux Distributions
          12. Various Intel-Based Linux Distributions
          13. PowerPC-Based Linux Distributions
          14. Linux on Laptops and PDAs
          15. The X Window System
        2. Usenet Newsgroups
        3. Mailing Lists
          1. Fedora Project Mailing Lists
          2. Red Hat Mailing Lists
        4. Internet Relay Chat