Home > Store

Red Hat Linux Fedora 3 Unleashed

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

Red Hat Linux Fedora 3 Unleashed

Premium Website

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


  • Copyright 2005
  • Edition: 1st
  • Premium Website
  • ISBN-10: 0-672-32708-2
  • ISBN-13: 978-0-672-32708-7

Keeping with the tradition of offering the best and most comprehensive coverage of Red Hat Linux on the market, Red Hat Fedora 3 Unleashed includes new and additional materials based on the latest release of Red Hat's Fedora Core Linux distribution. Incorporating an advanced approach, the information presented aims to provide you with the best and latest information about installation, configuration, system administration, server operations and security. Updated discussions of the architecture of several Linux issues, as well as material on new applications, peripherals and Web development are also included. Get the most out of the latest Red Hat Linux distribution with Red Hat Fedora 3 Unleashed.

Sample Content

Online Sample Chapters

Installing Fedora

Installing Fedora 3

Table of Contents


    What Is Linux?

      What Is Fedora Core?

      Roots of Red Hat and Fedora


    Why Use Linux?

    Who This Book Is For

    What This Book Contains

    Conventions Used in This Book


1. Introducing Fedora.

    What Is Fedora Core?

      Inside Fedora Core

      Features of the Fedora Install

      Fedora File System Features

    Fedora for Business

    Fedora in Your Home

    Getting the Most from Fedora and Linux Documentation

    Fedora Developers and Documentation


2. Preparing to Install Fedora.

    Planning Your Fedora Deployment

      Business Considerations

      System Considerations

      User Considerations

      A Predeployment Planning Checklist

      Planning the Installation

    Hardware Requirements

      Meeting the Minimum Fedora Core Hardware Requirements

      Using Legacy Hardware

      Planning for Hard Drive Storage for Your Fedora Installation Class

      Checking Hardware Compatibility

      Preparing for Potential Hardware Problems

      Preparing and Using a Hardware Inventory

    Preparing for the Install Process

      Preparing to Install from a CD-ROM

    Partitioning Before and During Installation

      Choosing a Partitioning Scheme

      Hosting Parts of the Linux Filesystem on Separate Partitions

    Using Red Hat's kickstart Installation Method


3. Installing Fedora.

    Before You Begin the Installation

      Research Your Hardware Specifications

      Choose an Installation Type

      Choose Software Installation Options

      Planning Partition Strategies

      The Boot Loader

    Choosing How to Install Fedora

      Installing from CD-ROM

      Installing Using a Network

    Step-by-Step Installation

      Starting the Install

      Partitioning Your Drive

      Choosing, Configuring, and Installing the Boot Loader

      Network Configuration

      Firewall and Security Configuration

      Setting the Time Zone

      Creating a Root Password and User Accounts

      Software Selection and Installation

      Create a Bootdisk

      Finishing the Install

    Login and Shutdown


4. Post-Installation Issues.

    Troubleshooting Post-Installation Configuration Problems

    Your Hardware and kudzu

    Pointer and Keyboard Configuration

      Configuring Keyboards with Linux

      Configuring Pointing Devices in Fedora

    Configuring Display Graphics

    Configuring Sound Devices

    Detecting and Configuring a Modem

      Configuring a Serial-Port Modem

      Configuring a Fax Modem

      Configuring minicom for Modem Use

      Configuring Controllerless Modems for Laptops

    Configuring Power Management in Fedora

    Resetting the Date and Time

      Using the date Command

      Using the hwclock Command

      Using the system-config-date Client

    Managing PCMCIA

      Using PCMCIA

      Controlling PCMCIA Service

    Configuring and Using CD, DVD, and CD-RW Drives

      Checking Drive Assignment

      Initializing IEEE 1394 CD Drives


5. First Steps with Fedora.

    Working with the Linux File System

      Viewing the Linux File System

      Use Essential Commands from the /bin and /sbin Directories

      Store the Booted Kernel and View Stored Devices in the /boot and /dev Directories

      Use and Edit Files in the /etc Directory

      Protect the Contents of User Directories-/home

      Use the Contents of the /proc Directory to Interact with the Kernel

      Work with Shared Data in the /usr Directory

       Temporary File Storage in the /tmp Directory

      Access Variable Data Files in the /var Directory

    Logging In to and Working with Linux

      Text-based Console Login

      Working with Virtual Consoles

      Using Simple Keyboard and Mouse Techniques in a Linux Console Session

      Logging Out

      Logging In and Out from a Remote Computer

    Changing Your User Information

    Reading Documentation

      Using man Pages

      Finding and Reading Software Packages Documentation

    Using the Shell

      Using Environment Variables

      Navigating and Searching with the Shell

      Managing Files with the Shell

      Compressing and Decompressing Files Through the Shell

    Using the Text Editors

      Working with vi

      Working with emacs

    Working with Permissions

      Assigning Permissions

      Directory Permissions

      Understanding Set User ID (SUID) and Set Group ID (SGID) Permissions

    Working As root

      Creating Users

      Deleting Users

      Shutting Down the System

      Rebooting the System


6. The X Window System.

    Basic X Concepts

    Using X11R6

      Elements of the xorg.conf File

      Configuring X

    Starting X

      Using a Display Manager

      Starting X from the Console by Using startx

    Selecting and Using X Window Managers

      Using Red Hat's switchdesk

      The Tab Window Manager

      The Motif Window Manager

      The sawfish Window Manager

      The Metacity Window Manager (metacity)

    The GNOME and KDE Desktop Environments

      GNOME: The GNU Network Object Model Environment

      KDE: The K Desktop Environment



7. Managing Services.

    Understanding the Fedora Core Linux Boot Process

      Beginning the Boot Loading Process

      Loading the Linux Kernel

    System Services and Runlevels

      Runlevel Definitions

      Booting into the Default Runlevel

      Booting to a Non-Default Runlevel with GRUB

      Understanding init Scripts and the Final Stage of Initialization

    Running Services Through xinetd

    Controlling Services at Boot with Administrative Tools

      Using the chkconfig Text-Based Command-Line Tool

      Using the GUI-based Service Configuration Tool

    Starting and Stopping Services Manually

    Changing Runlevels

    Using Service Management to Troubleshoot Problems in Fedora Core Linux


8. Managing Software and System Resources.

    Using RPM for Software Management

      Command-Line and Graphical RPM Clients

      Using rpm on the Command Line

      Package Organization with RPM

      Extracting a Single File from an RPM File

      Graphical Package Management

    Using Red Hat Network and Alternatives for Software Management



    Compiling Software from Source

      Building RPMS from src.rpm Files

      Working with Source RPM Files

      Compile from Source Tarballs

    System Monitoring Tools

      Console-based Monitoring

      Using the kill Command to Control Processes

      Using Priority Scheduling and Control

      Displaying Free and Used Memory with free

      Disk Quotas

      Graphical Process and System Management Tools

      KDE Process and System Monitoring Tools


9. Managing Users.

    User Accounts

      User IDs and Group IDs

      File Permissions

    Managing Groups

      Group Management Tools

    Managing Users

      User Management Tools

      Adding New Users

      Monitoring User Activity on the System

    Managing Passwords

      System Password Policy

      The Password File

      Shadow Passwords

      Managing Password Security for Users

      Changing Passwords in a Batch

    Granting System Administrator Privileges to Regular Users

      Temporarily Changing User Identity with the su Command

      Granting Root Privileges on Occasion-The sudo Command

      Control Via Restricted Shells

    The User Login Process

    Disk Quotas

      Implementing Quotas

      Manually Configuring Quotas


10. Managing the File System.

    The Fedora Core Linux File System Basics

      Physical Structure of the File System on the Disk

      File System Partitions

      Network and Disk File Systems

      Viewing Your System's File Systems

    Working with the ext3 File System

      Understanding the ext3 File System Structure

      Journaling Options in ext3

      Verifying File Integrity in ext3 File Systems with the fsck Utility

    Other File Systems Available to Fedora Core Linux

      The Reiser File System

      JFS and XFS File Systems

      DOS File Systems

      CD-ROM File Systems

    Creating a File System

      The Disk As a Storage Device

      Creating the Partition Table

      Creating the File System on the Partitioned Disk

      Creating a DOS File System with mkdosfs

    Mounting File Systems

      The mount Command

      The umount Command

      Mounting Automatically with /etc/fstab

      GUI Tools to Mount File Systems

    Relocating a File System

      Installing the New Drive

      Creating the Partition Table and Formatting the Disk

      Mounting the New Partition and Populating It with the Relocated Files

    Logical Volume Management

    File System Manipulation

      Creating a File System for Testing

      Using dumpe2fs

      Mounting a Partition As Read-Only on a Running System

      Converting an Existing ext2 File System to ext3

      Examine an initrd Image File

      Examine a Floppy Image File

    Disk Tuning

      Using the BIOS and Kernel to Tune the Disk Drives

      The hdparm Command

    File System Tuning

      The mke2fs Command

      The tune2fs Command

      The e2fsck Command

      The badblocks Command

      The noatime Option for the mount Command

    Managing Files for Character Devices, Block Devices, and Special Devices

      Naming Conventions Used for Block and Character Devices

      Using mknod to Create Devices


11. Backing Up, Restoring, and Recovery.

    Choosing a Backup Strategy

      Why Data Loss Occurs

      Assessing Your Backup Needs and Resources

      Evaluating Backup Strategies

      Making the Choice

    Choosing Backup Hardware and Media

      Removable Storage Media

      Network Storage

      Tape Drive Backup

    Using Backup Software


      Backing Up Files with cpio

      The GNOME File Roller

      The KDE Archiving Tools (KDE ark and kdat)

      Using the dd Command for Archiving

      Using the Amanda Backup Application

      Alternative Backup Software

    Copying Files

      Copying Files Using tar

      Compressing, Encrypting, and Sending tar Streams

      Copying Files Using cp

      Copying Files Using cpio

      Copying Files Using mc

      Copying Files Using scp

      Copying Files Using rsync

    Undeleting Files

      Using the ext2fs Undeletion Process

      Reformatting with the -S Option When Experiencing Unrecoverable File System Errors

      Undeleting Files Using mc

    System Rescue

      The Fedora Core Rescue Disk

      Backing Up and Restoring the Master Boot Record

      Manually Restoring the Partition Table

      Booting the System from the Rescue CD

      Booting the System from a Generic Boot Floppy

      Using a GRUB Boot Floppy

      Using the Recovery Facility from the Installation Disk



12. Printing with Fedora.

    Overview of Fedora Printing

    Configuring and Managing Print Services

      GUI-based Printer Configuration Quickstart

      Console-based Printer Configuration Quickstart

      Managing Printing Services

    Creating and Configuring Local Printers

      Creating the Print Queue

      Editing Printer Settings

    Creating Network Printers

      Enabling Network Printing on a LAN

      Session Message Block Printing

      Network-Attached Printer Configuration and Printing

    Console Print Control

      Console-based Printer Configuration

      Using Basic Print Commands

      Manage Print Jobs

    Using the Common UNIX Printing System

      Creating a CUPS Printer Entry

    Avoiding Printer-Support Problems

      All-in-One (Print/Fax/Scan) Devices

      Using USB and Legacy Printers


13. Network Connectivity.

    Networking with TCP/IP

      TCP/IP Addressing

      Using IP Masquerading in Fedora


    Network Organization


      Subnet Masks

      Broadcast, Unicast, and Multicast Addressing

    Hardware Devices for Networking

      Network Interface Cards

      Network Cable


      Routers and Bridges

      Initializing New Network Hardware

    Using Network Configuration Tools

      Command-Line Network Interface Configuration

      Network Configuration Files

      Using Graphical Configuration Tools

    Dynamic Host Configuration Protocol

      How DHCP Works

      Activating DHCP at Installation and Boot Time

      DHCP Software Installation and Configuration

      Using DHCP to Configure Network Hosts

      Other Uses for DHCP

    Using the Network File System

      Installing and Starting or Stopping NFS

      NFS Server Configuration

      NFS Client Configuration

    Putting Samba to Work

      Manually Configuring Samba with /etc/samba/smb.conf

      Setting Global Samba Behavior with the [global] Section

      Testing Samba with the testparm Command

      Starting the smbd Daemon

      Mounting Samba Shares

      Configuring Samba Using SWAT

    Wireless Networking

      Support for Wireless Networking in Fedora

      Cellular Networking

      Advantages of Wireless Networking

      Choosing from Among Available Wireless Protocols

      Securing a Wireless Network

    Securing Your Network

      Using lokkit and system-config-securitylevel for Firewalling

      Passwords and Physical Security

      Securing TCP/IP

      Configuring and Using Tripwire


      Securing DHCP

      Securing NFS

      Making Samba Secure

      Keeping Up-to-Date on Linux Security Issues

      Using Patches/Upgrades to Keep Your Network Secure







14. Managing DNS.

    Configuring DNS for Clients

      Understanding the /etc/host.conf File

      Understanding the /etc/nsswitch.conf File

      Understanding the /etc/hosts File

      Understanding the /etc/resolv.conf File

      Understanding the Changes Made by DHCP

    Essential DNS Concepts

      How Nameservers Store DNS Structure Information

      How DNS Provides Name Service Information to Users

      Name Resolution in Practice

      Reverse Resolution

      What Did the Resolver Learn?

    Using DNS Tools





    Configuring a Local Caching Nameserver

    Your Own Domain Name and Third-Party DNS

    Providing DNS for a Real Domain with BIND




      Resolver Configuration

      Running the named Nameserver Daemon

    Providing DNS for a Real Domain

      Forward Zone

      Reverse Zone

      Registering the Domain

    Troubleshooting DNS

      Delegation Problems

      Reverse Lookup Problems

      Maintaining Accurate Serial Numbers

      Troubleshooting Problems in Zone Files

      Tools for Troubleshooting

      Using Fedora Core's BIND Configuration Tool

    Managing DNS Security

      UNIX Security Considerations

      DNS Security Considerations

      Using DNS Security Extensions

      Using Split DNS


15. Internet Connectivity.

    Common Configuration Information

    Laying the Foundation: The localhost Interface

      Checking for the Availability of the Loopback Interface

      Configuring the Loopback Interface Manually

    Configuring Dial-up Internet Access

      Configuring a Dial-up Connection Manually

      Using the Fedora Core Internet Configuration Wizard

    Configuring Digital Subscriber Line Access

      Understanding Point-to-Point Protocol over Ethernet

      Configuring a PPPOE Connection Manually

    Troubleshooting Connection Problems

    Configuring a Dial-in PPP Server


16. Apache Web Server Management.

    About the Apache Web Server

    Installing the Apache Server

      Installing from the RPM

      Building the Source Yourself

    Starting and Stopping Apache

      Starting the Apache Server Manually

      Using /etc/rc.d/init.d/httpd

      Controlling Apache with Red Hat's service Command

      Controlling Apache with Red Hat's chkconfig Command

      Controlling Apache with Red Hat's system-config-services Client

    Runtime Server Configuration Settings

      Runtime Configuration Directives

      Editing httpd.conf

      Apache Multi-Processing Modules

      Using .htaccess Configuration Files

    File System Authentication and Access Control

      Restricting Access with allow and deny


      Final Words on Access Control

    Apache Modules










      mod_dir and mod_env





      mod_info and mod_log_config

      mod_mime and mod_mime_magic












    Virtual Hosting

      Address-based Virtual Hosts

      Name-based Virtual Hosts


    Dynamic Content



      Basic SSI Directives

      Flow Control

    Graphic Interface Configuration of Apache

      Configuring Virtual Host Properties

      Configuring the Server

      Configuring Apache for Peak Performance

    Other Web Servers for Use with Fedora


      Sun ONE Web Server



      Zeus Web Server



17. Administering Database Services.

    A Brief Review of Database Basics

      How Relational Databases Work

      Understanding SQL Basics

      Creating Tables

      Inserting Data into Tables

      Retrieving Data from a Database

    Choosing a Database: MySQL Versus PostgreSQL


      Data Locking

      ACID Compliance in Transaction Processing to Protect Data Integrity

      SQL Subqueries

      Procedural Languages and Triggers

      Available Applications

    Installing and Configuring MySQL

      Initializing the Data Directory in MySQL

      Setting a Password for the MySQL Root User

      Creating a Database in MySQL

      Granting and Revoking Privileges in MySQL

    Installing and Configuring PostgreSQL

      Initializing the Data Directory in PostgreSQL

      Creating a Database in PostgreSQL

      Creating Database Users in PostgreSQL

      Deleting Database Users in PostgreSQL

      Granting and Revoking Privileges in PostgreSQL

    Database Clients

      SSH Access to a Database

      Local GUI Client Access to a Database

      Web Access to a Database

      The MySQL Command-Line Client

      The PostgreSQL Command-Line Client

      Graphical Clients


18. Secure File Transfer Protocol Service.

    Using FTP Clients

      Using sftp for Secure File Transfers

      The FTP Client Interface

      Using the Text-based FTP Client Interface

      Using Graphical FTP Clients

    FTP Servers

      Choosing an Authenticated or Anonymous Server

      Fedora FTP Server Packages

      Other FTP Servers

    Installing FTP Software

    The FTP User

    xinetd Configuration for wu-ftpd

      Configuring xinetd for the wu-ftp Server

      Starting the Very Secure FTP Server (vsftpd) Package

    Configuring the Very Secure FTP Server

      Controlling Anonymous Access

      Other vsftpd Server Configuration Files

    Configuring the Wu-FTPd Server

    Using Commands in the ftpaccess File to Configure wu-ftpd

      Configure Access Control

      Configure User Information

      Configure System Logging

      Configure Permission Control

      Configure Commands Directed Toward the cdpath

      Structure of the shutdown File

    Configure FTP Server File-Conversion Actions

      Strip Prefix

      Strip Postfix

      Add-On Prefix

      Add-On Postfix

      External Command




      An Example of Conversions in Action

    Using Commands in the ftphosts File to Allow or Deny FTP Server Connection

    Server Administration

      Display Information About Connected Users

      Count the Number of Connections

      Use /usr/sbin/ftpshut to Schedule FTP Server Downtime

       Use /var/log/xferlog to View a Log of Server Transactions


19. Handling Electronic Mail.

    How Email Is Sent and Received

    The Mail Transport Agent

      Choosing an MTA

      The Mail Delivery Agent

      The Mail User Agent

    Choosing a Mail Client (MUA)

      The mail Application





      Mozilla Mail

      Other Mail Clients

    Attachments-Sending Binary Files As Text



      uuencode and uudecode

    Basic Sendmail Configuration and Operation

      Configuring Masquerading

      Using Smart Hosts

      Setting Message Delivery Intervals

      Building the sendmail.cf File

      Mail Relaying

      Forwarding Email with Aliases

      Rejecting Email from Specified Sites

    Using Fetchmail to Retrieve Mail

      Installing Fetchmail

      Configuring Fetchmail

    Choosing a Mail Delivery Agent (MDA)




      Virus Scanners

      Special Mail Delivery Agents

    Mail Daemons

    Alternatives to Microsoft Exchange Server

      Microsoft Exchange Server/Outlook Client

      CommuniGate Pro

      Samsung Contact (Formerly Known As HP OpenMail)


      SuSE OpenExchange


      OpenGroupware (Formerly SKYRiX 4.1)






      Web Resources


20. News and Other Collaborative Communication.

    An Overview of Network News


     Selecting a Newsreader

      The slrn News Client

      The Pan News Client

      The KNode News Client

      The Mozilla News Client

    Collaborating with TWiki

    Internet Relay Chat

    Internet Messaging with GAIM

    Video Conferencing with GnomeMeeting

    Mail List Configuration and Management with Mailman

    Configuring a Local News Server

      Types of News Servers

      The INN Package and Configuration Files

      Installing the INN Package

      Configuring the innd Package


21. C/C++ Programming Tools for Fedora.

    Programming in C with Linux

      Programming in C++

      Getting Started with Linux C/C++ Programming

      The Process of Programming

    Elements of the C/C++ Language

    Using the C Programming Project Management Tools Provided with Fedora Core Linux

      Building Programs with make

      Using the autoconf Utility to Configure Code

      Managing Software Projects with RCS and CVS

      Making Libraries with ar

      Debugging Tools

    Using the GNU C Compiler

    A Simple C Program

    Graphical Development Tools

      Using the KDevelop Client

      Trolltech's QT Designer

      The Glade Client for Developing in GNOME

    Additional Resources


22. Shell Scripting.

    The Shells Included with This Book

    The Shell Command Line

      Shell Pattern-Matching Support

      Redirecting Input and Output

      Piping Data

      Background Processing

    The Basics of Writing, Creating, and Executing a Shell Script

    Creating and Executing a Simple Shell Program with bash

      Running the New Shell Program

      Storing Shell Scripts for Systemwide Access

      Interpreting Shell Scripts Through Specific Shells

    Using Variables in Shell Scripts

      Assigning a Value to a Variable

      Accessing Variable Values

    Positional Parameters

      A Simple Example of a Positional Parameter

      Using Positional Parameters to Access and Retrieve Variables

      from the Command Line

      Using a Simple Script to Automate Tasks

    Built-in Variables

    Special Characters

      Use Double Quotes to Resolve Variables in Strings with Embedded Spaces

      Using Single Quotes to Maintain Unexpanded Variables

      Using the Backslash As an Escape Character

      Using the Backtick to Replace a String with Output

    Comparison of Expressions

      Comparison of Expressions in pdksh and bash

      Comparing Expressions with tcsh

    Iteration Statements

      The for Statement

      The while Statement

      The until Statement

      The repeat Statement (tcsh)

      The select Statement (pdksh)

      The shift Statement

    Conditional Statements

      The if Statement

      The case Statement

    The break and exit Statements

    Using Functions in Shell Scripts


23. Using Perl.

    Using Perl with Linux

      Perl Versions

      A Simple Perl Program

    Perl Variables and Data Structures

      Perl Variable Types

      Special Variables


      Comparison Operators

      Compound Operators

      Arithmetic Operators

      Other Operators

      Special String Constants

    Conditional Statements: if/else and unless








      last and next

      do ... while and do ... until

     Regular Expressions

    Access to the Shell


    Modules and CPAN

    Code Examples

      Sending Mail

      Purging Logs

      Posting to Usenet


      Command-line Processing






24. Kernel and Module Management.

    The Linux Kernel

      The Linux Source Tree

      Types of Kernels

    Managing Modules

    When to Recompile

    Kernel Versions

    Obtaining the Kernel Sources

    Patching the Kernel

    Compiling the Kernel

    Choosing a Configuration Interface

      Using xconfig to Configure the Kernel

      Creating an Initial RAM Disk Image

    When Something Goes Wrong

      Errors During Compile

      Runtime Errors, Boot Loader Problems, and Kernel Oops

    Kernel Tuning with sysctl


25. Productivity Applications.

    Office Suites for Fedora Core Linux

      Working with OpenOffice.org

      Working with GNOME Office

      Working with KOffice

    PDA Connectivity

      Command-Line PDA Software for Fedora Core Linux

      GUI PDA Client Software

    Scanner Applications for Fedora Core Linux

    Web Design Tools

    Fax Client Software

    Other Office and Productivity Tools Included with Fedora Core Linux

    Productivity Applications Written for Microsoft Windows


26. Multimedia Applications.

    Burning CDs and DVDs in Fedora Core Linux

      Creating CDs from the Command Line

      Creating DVDs from the Command Line

      Creating CDs with Fedora Core Linux Graphical Clients

    Sound and Music

      Sound Cards

      Recording Sound

      Sound Formats

      Music Players

      Streaming Audio

    Viewing TV and Video

      TV and Video Hardware

      Video Formats

      Viewing Video in Linux

      Viewing Television with Linux

      Personal Video Recorders

      DVD and Video Players

    Using Still Cameras with Fedora Core Linux


      Handheld Digital Cameras

    Using Scanners in Fedora Core Linux

    Graphics Manipulation

       The GNU Image Manipulation Program

      Working with Graphics Formats

      Capturing Screen Images

    Linux Gaming

      Installing nVidia Video Drivers

      Installing Unreal Tournament 2003

      Installing Wolfenstein-Enemy Territory



Appendix A. Fedora Internet Resources.

    Web Sites and Search Engines

      Web Search Tips

      Google Is Your Friend

      Red Hat Package Listings


      Commercial Support


      Linux Guides

      The Fedora Project

      Red Hat Linux

      Mini-CD Linux Distributions

      Floppy-Based Linux Distributions

      Various Intel-Based Linux Distributions

      PowerPC-Based Linux Distributions

      Linux on Laptops and PDAs

      The X Window System

    Usenet Newsgroups

    Mailing Lists

      Fedora Project Mailing Lists

      Red Hat Mailing Lists

    Internet Relay Chat



Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership