104
A Practical Guide to Fedora and Red Hat Enterprise Linux COLLEGE EDITION Mark G. Sobell Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City ® ®

a practical guide to fedora and red hat enterprise linux

  • Upload
    vuduong

  • View
    271

  • Download
    9

Embed Size (px)

Citation preview

A Practical Guide to Fedora and

Red Hat Enterprise Linux

COLLEGE EDITION

Mark G. Sobell

Upper Saddle River, NJ • Boston • Indianapolis • San FranciscoNew York • Toronto • Montreal • London • Munich • Paris • MadridCapetown • Sydney • Tokyo • Singapore • Mexico City

® ®

000.book Page v Friday, April 4, 2008 9:22 AM

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals.

The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein.

The publisher offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests. For more information, please contact:

U.S. Corporate and Government Sales(800) [email protected]

For sales outside the United States, please contact:

International [email protected]

Visit us on the Web: informit.com/ph

Library of Congress Cataloging-in-Publication Data

Sobell, Mark G. A practical guide to Fedora and Red Hat Enterprise Linux / Mark G. Sobell. —College ed. p. cm. Includes index. ISBN-13: 978-0-13-714295-8 (pbk. : alk. paper) ISBN-10: 0-13-714295-1 (pbk. : alk. paper) 1. Linux. 2. Operating systems (Computers) I. Title. QA76.76.O63S5945 2008 005.4'32—dc22 2008014544

Copyright © 2008 Mark G. Sobell

All rights reserved. Printed in the United States of America. This publication is protected by copyright, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. For information regarding permissions, write to:

Pearson Education, Inc.Rights and Contracts Department501 Boylston Street, Suite 900Boston, MA 02116Fax: (617) 671-3447

ISBN-13: 978-0-13-714295-8ISBN-10: 0-13-714295-1Text printed in the United States on recycled paper at Courier in Stoughton, Massachusetts.First printing, May 2008

000.frontmatter.fm Page vi Saturday, April 5, 2008 9:46 PM

xxxixxxi

M Preface

Preface

The book Whether you are an end user, a system administrator, or a little of each, this bookexplains with step-by-step examples how to get the most out of a Fedora or RedHat Enterprise Linux (RHEL) system. In 28 chapters, this book takes you frominstalling a Fedora or Red Hat Enterprise Linux system through understanding itsinner workings to setting up secure servers that run on the system.

The audience This book is designed for a wide range of readers. It does not require you to haveprogramming experience, but having some experience using a general-purpose com-puter is helpful. This book is appropriate for

• Students who are taking a class in which they use Linux

• Home users who want to set up and/or run Linux

• Professionals who use Linux at work

• System administrators who need an understanding of Linux and the tools that are available to them

• Computer science students who are studying the Linux operating system

• Programmers who need to understand the Linux programming environment

• Technical executives who want to get a grounding in Linux

Benefits A Practical Guide to Fedora™ and Red Hat® Enterprise Linux®, College Edition,gives you a broad understanding of many facets of Linux, from installingFedora/RHEL through using and customizing it. No matter what your background,this book gives you the knowledge you need to get on with your work. You willcome away from this book understanding how to use Linux, and this book willremain a valuable reference for years to come.

000.preface.fm Page xxxi Wednesday, April 16, 2008 3:16 PM

xxxii Preface

Overlap If you read A Practical Guide to Linux® Commands, Editors, and Shell Program-ming, you will notice some overlap between that book and the one you are readingnow. The first chapter, and the chapters on the utilities, the filesystem, program-ming tools, and the appendix on regular expressions are very similar in the twobooks, as are the three chapters on the Bourne Again Shell (bash). Chapters thatappear in this book but not in A Practical Guide to Linux® Commands, Editors,and Shell Programming include Chapters 2 and 3 (installation), Chapters 4 and 8(Fedora/RHEL and the GUI), Chapter 10 (networking), all of the chapters in PartIV (system administration) and Part V (servers), and Appendix C (security).

This Book Includes Fedora 8 on a DVD

A Practical Guide to Fedora™ and Red Hat® Enterprise Linux®, College Edition,includes a DVD that you can use to install or upgrade to Fedora 8. Chapter 2 helpsyou get ready to install Fedora. Chapter 3 provides step-by-step instructions forinstalling Fedora from this DVD. This book guides you through learning about,using, and administrating Fedora or Red Hat Enterprise Linux.

What Is New in This Edition?

The college edition of A Practical Guide to Fedora™ and Red Hat® EnterpriseLinux® covers Fedora 8 and Red Hat Enterprise Linux version 5. There is a newsection on LDAP in Chapter 21. Chapters 2 and 3 cover booting into a live sessionand installing from live media. All the changes, large and small, that have beenmade to Fedora/RHEL since the previous edition of this book have been incorpo-rated into the explanations and examples.

Features of This Book

This book is designed and organized so you can get the most out of it in the shortestamount of time. You do not have to read this book straight through in page order.Once you are comfortable using Linux, you can use this book as a reference: Lookup a topic of interest in the table of contents or index and read about it. Or think ofthe book as a catalog of Linux topics: Flip through the pages until a topic catchesyour eye. The book includes many pointers to Web sites where you can get addi-tional information: Consider the Internet an extension of this book.

A Practical Guide to Fedora™ and Red Hat® Enterprise Linux®, College Edition, isstructured with the following features:

• In this book, the term Fedora/RHEL refers to both Fedora and Red Hat Enterprise Linux. Features that apply to only one operating system or the other are marked as such using these indicators: FEDORA or RHEL.

000.preface.fm Page xxxii Wednesday, April 16, 2008 3:16 PM

Key Topics Covered in This Book xxxiii

• Optional sections enable you to read the book at different levels, returning to more difficult material when you are ready to delve into it.

• Caution boxes highlight procedures that can easily go wrong, giving you guidance before you run into trouble.

• Tip boxes highlight ways that you can save time by doing something dif-ferently or situations when it may be useful or just interesting to have additional information.

• Security boxes point out places where you can make a system more secure. The security appendix presents a quick background in system security issues.

• Concepts are illustrated by practical examples throughout the book.

• Chapter summaries review the important points covered in each chapter.

• Review exercises are included at the end of each chapter for readers who want to further hone their skills. Answers to even-numbered exercises are at www.sobell.com.

• This book provides resources for finding software on the Internet. It also explains how to download and install software using yum, BitTorrent, and, for Red Hat Enterprise Linux, Red Hat Network (RHN).

• The glossary defines more than 500 common terms.

• The book describes in detail many important GNU tools, including the gcc C compiler, the gdb debugger, the GNU Configure and Build System, make, and gzip.

• Pointers throughout the text provide help in obtaining online documenta-tion from many sources, including the local system, the Red Hat Web site, the Fedora Project Web site, and other locations on the Internet.

• Many useful URLs (Internet addresses) point to sites where you can obtain software, security programs and information, and more.

• The comprehensive index helps you locate topics quickly and easily.

Key Topics Covered in This Book

This book contains a lot of information. This section distills and summarizes itscontents. You may want to review the table of contents for more detail. This book

Installation • Describes how to download from the Internet and burn both Fedora Desk-top Live Media CD/DVDs and Fedora Install Media DVDs.

• Helps you plan the layout of the system’s hard disk and assists you in using Disk Druid or the GNOME graphical partition editor (gparted) to parti-tion the hard disk.

000.preface.fm Page xxxiii Wednesday, April 16, 2008 3:16 PM

xxxiv Preface

• Explains how to use the Logical Volume Manager (LVM2) to set up, grow, and migrate logical volumes, which are similar in function to traditional disk partitions.

• Discusses booting into a live Fedora session and installing Fedora from that session.

• Describes in detail how to install Fedora/RHEL from a DVD, CD, a hard disk, or over a network using FTP, NFS, or HTTP.

• Covers boot command line parameters (FEDORA), responses to the boot: prompt (RHEL), and explains how to work with Anaconda, Fedora/RHEL’s installation program.

• Covers the details of customizing the X.org version of the X Window System.

Working withFedora/RHEL

• Introduces the graphical desktop (GUI) and explains how to use desktop tools, including the panel, Panel menu, Main menu, Window Operations menu, Desktop menu, Desktop switcher, and terminal emulator.

• Presents the KDE desktop and covers using Konqueror to manage files, start programs, and browse the Web.

• Covers the GNOME desktop and the Nautilus file manager.

• Explains how to customize your desktop to please your senses and help you work more efficiently.

• Covers the Bourne Again Shell (bash) in three chapters, including an entire chapter on shell programming that includes many sample shell scripts.

• Explains the command line interface (CLI) and introduces more than 30 command line utilities.

• Presents a tutorial on the vim (vi work-alike) textual editor.

• Covers types of networks, network protocols, and network utilities.

• Explains hostnames, IP addresses, and subnets, and explores how to use host and dig to look up domain names and IP addresses on the Internet.

• Covers distributed computing and the client/server model.

Systemadministration

• Explains how to use the Fedora/RHEL system-config-* tools to configure the display, DNS, Apache, a network interface, and more. You can also use these tools to add users and manage local and remote printers. (See page 429 for a list of these tools.)

• Describes how to use the following tools to download software and keep a system current:

◆ yum—Downloads and installs software packages from the Internet, keeping a system up-to-date and resolving dependencies as it processes the packages. You can run yum manually or set it up to run automati-cally every night.

000.preface.fm Page xxxiv Wednesday, April 16, 2008 3:16 PM

Key Topics Covered in This Book xxxv

◆ BitTorrent—Good for distributing large amounts of data such as the Fedora installation DVD and the live media CD/DVD. The more peo-ple who use BitTorrent to download a file, the faster it works.

◆ up2date—The Red Hat Enterprise Linux tool for keeping system software current.

• Covers graphical system administration tools, including the Main menu, GNOME and KDE menu systems, KDE Control Center, and KDE Control panel.

• Explains system operation, including the boot process, init scripts, emer-gency mode, rescue mode, single-user and multiuser modes, and steps to take if the system crashes.

• Describes files, directories, and filesystems, including types of files and filesystems, fstab (the filesystem table), automatically mounted filesys-tems, filesystem integrity checks, filesystem utilities, and fine-tuning of filesystems.

• Covers backup utilities, including tar, cpio, dump, and restore.

• Explains how to customize and build a Linux kernel.

Security • Helps you manage basic system security issues using ssh (secure shell), vsftpd (secure FTP server), Apache (the httpd Web server), iptables (fire-wall), and more.

• Presents a complete section on SELinux (Security Enhanced Linux), including instructions for using system-config-selinux to configure SELinux.

• Covers using system-config-firewall to set up a basic firewall to protect the system.

• Provides instructions on using iptables to share an Internet connection over a LAN and to build advanced firewalls.

• Describes how to set up a chroot jail to protect a server system.

• Explains how to use TCP wrappers to control who can access a server.

• Covers controlling servers using the xinetd superserver.

Clients and servers • Explains how to set up and use the most popular Linux servers, providing a chapter on each: Apache, Samba, OpenSSH, sendmail, DNS, NFS, FTP, NIS and LDAP, iptables (all of which are included with Fedora/RHEL).

• Describes how to set up a CUPS printer server.

• Describes how to set up and use a DHCP server.

Programming • Covers programming tools, including the GNU gcc compiler, the gdb debugger, make, and CVS for managing source code.

• Explains how to debug a C program.

000.preface.fm Page xxxv Wednesday, April 16, 2008 3:16 PM

xxxvi Preface

• Describes how to work with shared libraries.

• Provides a complete chapter on shell programming using bash, including many examples.

Details

Chapter 1 Chapter 1 presents a brief history of Linux and explains some of the features thatmake it a cutting-edge operating system. The “Conventions Used in This Book”(page 16) section details the typefaces and terminology this book uses.

Part I Part I, “Installing Fedora and Red Hat Enterprise Linux,” discusses how to installboth Fedora and RHEL. Chapter 2 presents an overview of the process of installingFedora and RHEL, including hardware requirements, downloading and burning aCD or DVD, and planning the layout of the hard disk. Chapter 3 is a step-by-stepguide to installing either Fedora or Red Hat Enterprise Linux and covers installingfrom a CD/DVD, a live session, a local hard disk, and installing over the networkusing FTP, NFS, or HTTP. It also shows how to set up the X Window System andcustomize your graphical user interface (GUI).

Part II Part II, “Getting Started with Fedora and Red Hat Enterprise Linux,” familiarizesyou with Fedora/RHEL, covering logging in, the GUI, utilities, the filesystem, andthe shell. Chapter 4 introduces desktop features, including the panel and the Mainmenu; explains how to use Konqueror to manage files, run programs, and browsethe Web; and covers finding documentation, dealing with login problems, and usingthe window manager. Chapter 5 introduces the shell command line interface,describes more than 30 useful utilities, and presents a tutorial on the vim text editor.Chapter 6 discusses the Linux hierarchical filesystem, covering files, filenames, path-names, working with directories, access permissions, and hard and symbolic links.Chapter 7 introduces the Bourne Again Shell (bash) and discusses command linearguments and options, redirecting input to and output from commands, runningprograms in the background, and using the shell to generate and expand filenames.

Part III Part III, “Digging into Fedora and Red Hat Enterprise Linux,” goes into more detailabout working with the system. Chapter 8 discusses the GUI and includes a sectionon how to run a graphical program on a remote system and have the display appearlocally. The section on GNOME describes GNOME utilities and explains how to usethe Nautilus file manager, including its spatial view, while the section on KDEexplains more about Konqueror and KDE utilities. Chapter 9 extends the bash cover-age from Chapter 7, explaining how to redirect error output, avoid overwriting files,and work with job control, processes, startup files, important shell builtin commands,

Experienced users may want to skim Part II

tip If you have used a UNIX or Linux system before, you may want to skim over or skip some or allof the chapters in Part II. All readers should take a look at “Conventions Used in This Book”(page 16), which explains the typographic and layout conventions that this book uses, and “Get-ting the Facts: Where to Find Documentation” (page 114), which points out both local and remotesources of Linux/Fedora/RHEL documentation.

000.preface.fm Page xxxvi Wednesday, April 16, 2008 3:16 PM

Key Topics Covered in This Book xxxvii

parameters, shell variables, and aliases. Chapter 10 explains networks, network secu-rity, and the Internet and discusses types of networks, subnets, protocols, addresses,hostnames, and various network utilities. The section on distributed computingdescribes the client/server model and some of the servers you can use on a network.Details of setting up and using clients and servers are reserved until Part V.

Part IV Part IV covers system administration. Chapter 11 discusses core concepts such asSuperuser, SELinux (Security Enhanced Linux), system operation, general informa-tion about how to set up a server, DHCP, and PAM. Chapter 12 explains the Linuxfilesystem, going into detail about types of files, including special and device files,the use of fsck to verify the integrity of and repair filesystems, and the use of tune2fsto change filesystem parameters. Chapter 13 explains how to keep a system up-to-date by downloading software from the Internet and installing it, including exam-ples of using yum, BitTorrent, and RHEL’s up2date utility. Chapter 14 explains howto set up the CUPS printing system so you can print on the local system as well ason remote systems. Chapter 15 details customizing and building a Linux kernel.Chapter 16 covers additional administration tasks, including setting up useraccounts, backing up files, scheduling automated tasks, tracking disk usage, andsolving general problems. Chapter 17 explains how to set up a local area network(LAN), including both hardware (including wireless) and software setup.

Part V Part V goes into detail about setting up and running servers and connecting to themwith clients. The chapters in this part of the book cover the following clients/servers:

• OpenSSH—Set up an OpenSSH server and use sh, scp, and sftp to commu-nicate securely over the Internet.

• FTP—Set up a vsftpd secure FTP server and use any of several FTP clients to exchange files with the server.

• Mail—Configure sendmail and use Webmail, POP3, or IMAP to retrieve email; use SpamAssassin to combat spam.

• NIS and LDAP—Set up NIS to facilitate system administration of a LAN and LDAP to distribute information and authenticate users over a network.

• NFS—Share filesystems between systems on a network.

• Samba—Share filesystems and printers between Windows and Linux systems.

• DNS/BIND—Set up a domain nameserver to let other systems on the Internet know the names and IP addresses of local systems they may need to contact.

• iptables—Share a single Internet connection between systems on a LAN and set up a firewall to protect local systems.

• Apache—Set up an HTTP server that serves Web pages that browsers can display.

000.preface.fm Page xxxvii Wednesday, April 16, 2008 3:16 PM

xxxviii Preface

Part VI Part VI covers programming. Chapter 27 discusses programming tools and environ-ments available under Fedora/RHEL, including the C programming language anddebugger, make, shared libraries, and source code management using CVS. Chapter 28goes into greater depth about shell programming using bash, with the discussion beingenhanced by extensive examples.

Part VII Part VII includes appendixes on regular expressions, helpful Web sites, system secu-rity, and free software. This part also includes an extensive glossary with more than500 entries and a comprehensive index.

Supplements

The author’s home page (www.sobell.com) contains downloadable listings of thelonger programs from this book as well as pointers to many interesting and usefulLinux sites on the World Wide Web, a list of corrections to the book, answers to even-numbered exercises, and a solicitation for corrections, comments, and suggestions.

Thanks

First and foremost, I want to thank Mark L. Taub, Editor-in-Chief, Prentice Hall,who provided encouragement and support through the hard parts of this project.Mark is unique in my 25 years of book writing experience: an editor who workswith the tools I write about. Because Mark runs Linux on his home computer, weshared experiences as I wrote this book. Mark, your comments and direction areinvaluable; this book would not exist without your help. Thank you, Mark T.

Molly Sharp of ContentWorks worked with me day-by-day during production ofthis book providing help, listening to my rants, and keeping everything on track.Thanks to Jill Hobbs, Copyeditor, who made the book readable, understandable,and consistent; and Linda Seifert, Proofreader, who made each page sparkle.

Thanks also to the folks at Prentice Hall who helped bring this book to life, espe-cially Julie Nahil, Full-Service Production Manager, who oversaw production of thebook; John Fuller, Managing Editor, who kept the large view in check; CurtJohnson, Marketing Manager; Kim Boedigheimer, Editorial Assistant, who attendedto the many details involved in publishing this book; Heather Fox, Publicist; DanScherf, Media Developer; Sandra Schroeder, Design Manager; Chuti Prasertsith,Cover Designer; and everyone else who worked behind the scenes to make thisbook come into being.

I am also indebted to Denis Howe, Editor of The Free On-line Dictionary of Com-puting (FOLDOC). Denis has graciously permitted me to use entries from his com-pilation. Be sure to look at this dictionary (www.foldoc.org).

000.preface.fm Page xxxviii Wednesday, April 16, 2008 3:16 PM

Thanks xxxix

A big “thank you” to the folks who read through the drafts of the book and madecomments that caused me to refocus parts of the book where things were not clearor were left out altogether: Jesse Keating, Fedora Project; Jarod Wilson, Sr. SoftwareEngineer, Red Hat, Inc.; Scott Mann, Aztek Networks; Matthew Miller, Senior Sys-tems Analyst/Administrator, BU Linux Project, Boston University Office of Infor-mation Technology; and George Vish II, Senior Education Consultant, Hewlett-Packard.

Thanks also to the following people who helped with the earlier editions of thisbook: David Chisnall; Chris Karr, Northwestern University; Carsten Pfeiffer, Soft-ware Engineer and KDE Developer; Aaron Weber, Ximian; Cristof Falk, SoftwareDeveloper at CritterDesign; Steve Elgersma, Computer Science Department, Princ-eton University; Scott Dier, University of Minnesota; Robert Haskins, ComputerNet Works; Lars Kellogg-Stedman, Harvard University; Jim A. Lola, Principal Sys-tems Consultant, Privateer Systems, LLC; Eric S. Raymond, cofounder, OpenSource Initiative; Scott Mann; Randall Lechlitner, Independent Computer Consult-ant; Jason Wertz, Computer Science Instructor, Montgomery County CommunityCollege; Justin Howell, Solano Community College; Ed Sawicki, The AcceleratedLearning Center; David Mercer, Contechst; Jeffrey Bianchine, Advocate, Author,Journalist; John Kennedy; and Jim Dennis, Starshine Technical Services.

Thanks also to Dustin Puryear, Puryear Information Technology; Gabor Liptak,Independent Consultant; Bart Schaefer, Chief Technical Officer, iPost; Michael J.Jordan, Web Developer, Linux Online Inc.; Steven Gibson, owner of SuperAnt.com;John Viega, founder and Chief Scientist, Secure Software, Inc.; K. Rachael Treu,Internet Security Analyst, Global Crossing; Kara Pritchard, K & S Pritchard Enter-prises, Inc.; Glen Wiley, Capital One Finances; Karel Baloun, Senior Software Engi-neer, Looksmart, Ltd.; Matthew Whitworth; Dameon D. Welch-Abernathy, NokiaSystems; Josh Simon, Consultant; Stan Isaacs; and Dr. Eric H. Herrin II, Vice Presi-dent, Herrin Software Development, Inc. And thanks to Doug Hughes, long-timesystem designer and administrator, who gave me a big hand with the sections onsystem administration, networks, the Internet, and programming.

More thanks go to consultants Lorraine Callahan and Steve Wampler; RonaldHiller, Graburn Technology, Inc.; Charles A. Plater, Wayne State University; BobPalowoda; Tom Bialaski, Sun Microsystems; Roger Hartmuller, TIS Labs at Net-work Associates; Kaowen Liu; Andy Spitzer; Rik Schneider; Jesse St. Laurent; SteveBellenot; Ray W. Hiltbrand; Jennifer Witham; Gert-Jan Hagenaars; and Casper Dik.

A Practical Guide to Fedora™ and Red Hat® Enterprise Linux®, College Edition, isbased in part on two of my previous UNIX books: UNIX System V: A PracticalGuide and A Practical Guide to the UNIX System. Many people helped me withthose books, and thanks here go to Pat Parseghian, Dr. Kathleen Hemenway, andBrian LaRose; Byron A. Jeff, Clark Atlanta University; Charles Stross; Jeff Gitlin,Lucent Technologies; Kurt Hockenbury; Maury Bach, Intel Israel Ltd.; Peter H.Salus; Rahul Dave, University of Pennsylvania; Sean Walton, Intelligent AlgorithmicSolutions; Tim Segall, Computer Sciences Corporation; Behrouz Forouzan, DeAnza

000.preface.fm Page xxxix Wednesday, April 16, 2008 3:16 PM

xl Preface

College; Mike Keenan, Virginia Polytechnic Institute and State University; MikeJohnson, Oregon State University; Jandelyn Plane, University of Maryland; ArnoldRobbins and Sathis Menon, Georgia Institute of Technology; Cliff Shaffer, VirginiaPolytechnic Institute and State University; and Steven Stepanek, California StateUniversity, Northridge, for reviewing the book.

I continue to be grateful to the many people who helped with the early editions ofmy UNIX books. Special thanks are due to Roger Sippl, Laura King, and RoyHarrington for introducing me to the UNIX system. My mother, Dr. Helen Sobell,provided invaluable comments on the original manuscript at several junctures. Also,thanks go to Isaac Rabinovitch, Professor Raphael Finkel, Professor RandolphBentson, Bob Greenberg, Professor Udo Pooch, Judy Ross, Dr. Robert Veroff,Dr. Mike Denny, Joe DiMartino, Dr. John Mashey, Diane Schulz, Robert Jung, CharlesWhitaker, Don Cragun, Brian Dougherty, Dr. Robert Fish, Guy Harris, Ping Liao,Gary Lindgren, Dr. Jarrett Rosenberg, Dr. Peter Smith, Bill Weber, Mike Bianchi,Scooter Morris, Clarke Echols, Oliver Grillmeyer, Dr. David Korn, Dr. ScottWeikart, and Dr. Richard Curtis.

I take responsibility for any errors and omissions in this book. If you find one orjust have a comment, let me know ([email protected]) and I will fix it in the nextprinting. My home page (www.sobell.com) contains a list of errors and credits thosewho found them. It also offers copies of the longer scripts from the book and point-ers to many interesting Linux pages.

Mark G. SobellSan Francisco, California

000.preface.fm Page xl Wednesday, April 16, 2008 3:16 PM

4747

3, Chapter3Chapter 2 covered planning the installation of Fedora/RHEL:determining the requirements; performing an upgrade versus aclean installation; planning the layout of the hard disk; obtainingthe files you need for the installation, including how to downloadand burn CD/DVD ISO images; and collecting information aboutthe system. This chapter focuses on installing Fedora/RHEL. Fre-quently the installation is quite simple, especially if you have donea good job of planning. Sometimes you may run into a problemor have a special circumstance; this chapter gives you tools to usein these cases. Read as much of this chapter as you need to; onceyou have installed Fedora/RHEL, continue with Chapter 4, whichcovers getting started using the Fedora/RHEL desktop. If youinstall a textual (command line) system, continue with Chapter 5.

In This Chapter

Running a Fedora Live Session . . . 48

Installing from a Live Session . . . . 51

Installing/Upgrading from the Install DVD . . . . . . . . . . . . . . . . . . 51

The Anaconda Installer . . . . . . . . . . 53

Using Disk Druid to Partition the Disk . . . . . . . . . . . . . . . . . . . . 66

LVs: Logical Volumes . . . . . . . . . . . 75

Setting Up a Dual-Boot System . . . 79

The X Window System. . . . . . . . . . . 80

system-config-display: Configures the Display . . . . . . . . . . . . . . . . . . 80

3

Step-by-Step

Installation

000.book Page 47 Friday, April 4, 2008 9:22 AM

48 Chapter 3 Step-by-Step Installation

Running a Fedora Live Session

As discussed in Chapter 2, a live session is a Linux session that you run on acomputer without installing Linux on the computer. When you reboot after a livesession, the computer is untouched. If you are running Windows, after a live ses-sion Windows boots the way it did before the live session. If you choose, you caninstall Fedora from a live session. Red Hat Enterprise Linux does yet not offerlive sessions.

A live session gives you a chance to preview Fedora without installing it. Boot fromthe KDE Live CD to begin a live session and work with Fedora as explained inChapter 4. When you are finished, remove the CD and reboot the system. The sys-tem will then boot as it did before the live session took place.

Because a live session does not write to the hard disk (other than using a swap par-tition if one is available), none of the work you save will be available once youreboot. You can use a USB flash drive, Webmail, or another method to transfer filesyou want to preserve to another system.

Booting the System

Before Fedora can display the desktop of a live session or install itself on a harddisk, the Linux operating system must be read into memory (booted). This

Figure 3-1 Live session, automatic boot screen

000.book Page 48 Friday, April 4, 2008 9:22 AM

Running a Fedora Live Session 49

process can take a few minutes on older, slower systems or systems with minimalRAM (memory).

In most cases, you can boot Fedora to run a live session that displays a desktopwithout doing anything after you boot from a Live CD. To begin, insert the Live CD(either the standard GNOME Fedora Desktop Live Media or the Fedora KDE LiveMedia) into the CD drive and turn on or reset the system. Refer to “BIOS setup” onpage 26 if the system does not boot from the CD. Refer to “Modifying Boot Param-eters (Options)” on page 63 if Fedora does not boot or displays an error message.

A few moments after you start the system, Fedora displays a screen that says Auto-matic boot in 10 seconds and counts down from 10 to 1 (Figure 3-1). Text thenscrolls by as the system boots. After a few moments, the system displays a graphicalscreen showing the word Fedora, the Fedora logo, and a progress bar.

Checking the disk The first time you use a CD, it is a good idea to check it for defects. To do so, inter-rupt the automatic boot by pressing a key such as the SPACE BAR while Fedora is count-ing down. Fedora displays the Welcome menu (Figure 3-2). Use the DOWN ARROW keyto highlight the line that starts with Verify and boot Fedora... and press RETURN (themouse will not work yet). Fedora verifies the contents of the CD, keeping youapprised as it does so. If the CD is good, the system continues to boot.

GNOME If you are installing from Fedora Desktop Live Media, you are installing theGNOME desktop manager. When you boot from this disk, Fedora displays a loginscreen for 60 seconds, automatically logs in as the user named fedora, and displays

Figure 3-2 The Fedora Live Welcome menu

000.book Page 49 Friday, April 4, 2008 9:22 AM

50 Chapter 3 Step-by-Step Installation

the GNOME desktop (Figure 3-3). To speed up this process, you can log in asfedora (no password) when Fedora displays the login screen.

KDE If you are installing from Fedora KDE Live Media, you are installing the KDE desktopmanager. When you boot from this disk, Fedora next displays a KDE startup screenand then the KDE desktop—there is no need to log in. If the system can connect to theInternet, KDE displays the message Connection Established.

optional Seeing What Is Going on

If you are curious and want to see what Fedora is doing as it boots, remove quietfrom the boot parameters (Figure 3-16 on page 64; the list of parameters will be dif-ferent from those shown in the figure). With the Fedora Live Welcome menu dis-played (Figure 3-2), press TAB to display the boot command line parameters. Use theBACK ARROW key to back up over—but not remove—the words to the right of quiet.Press BACKSPACE or DEL to back up over and erase quiet from the boot command line.Press RETURN. As Fedora boots, it displays information about what it is doing. Textscrolls on the screen, although sometimes too rapidly to read.

Installing Fedora/RHEL Linux

You can install Fedora/RHEL from a live session (preceding section, FEDORA only) orfrom the Install DVD (RHEL+FEDORA). Installing from a live session is simpler, but doesnot give you the flexibility that installing from the Install DVD does. For example,

Figure 3-3 A GNOME Live desktop

000.book Page 50 Friday, April 4, 2008 9:22 AM

Installing Fedora/RHEL Linux 51

you cannot select the language the installer uses nor can you choose which softwarepackages you want to install when you install from a live session.

The Install DVD holds many of the software packages that Fedora/RHEL supports.You can install whichever packages you like from this disk without connecting tothe Internet. However, without an Internet connection, you will not be able toupdate the software on the system.

The Live CD holds a limited set of software packages. Once you install from thisCD, you must connect to the Internet to update the software on the system anddownload and install additional packages.

To begin most installations, insert the Live CD or the Install DVD into the CD/DVDdrive and turn on or reset the system. For hard disk and network-based installa-tions, you can use the rescue CD (page 42) or a USB flash drive instead.

Installing from a Live Session

Bring up a live GNOME or KDE session as explained on page 48. Double-click(left-click) the object labeled Install to Hard Drive (Figure 3-3) to begin installingLinux. Continue reading at “The Anaconda Installer” on page 53.

Installing/Upgrading from the Install DVD

FEDORA To install Fedora from the Install DVD, insert the Install DVD into the DVD driveand turn on or reset the system. After a few moments, Fedora displays the InstallDVD Welcome menu (Figure 3-4, next page) and a message that says Automaticboot in 60 seconds.

Press a key, such as the SPACE BAR, within 60 seconds to stop the countdown and dis-play the message Press [TAB] to edit options as shown in Figure 3-4. If you do notpress a key, after 60 seconds Fedora begins a graphical install/upgrade. Refer to“BIOS setup” on page 26 if the system does not boot from the DVD. Refer to “Mod-ifying Boot Parameters (Options)” on page 63 if Fedora/RHEL does not boot or dis-plays an error message.

The Welcome menu has the following selections:

Install or upgradea system

Installs a graphical Fedora/RHEL system using the graphical installer.

Install or upgrade asystem (text mode)

Installs a graphical Fedora/RHEL system using the textual installer.

Rescue installedsystem

Brings up Fedora/RHEL but does not install it. After detecting the system’s disksand partitions, the system enters rescue mode and allows you to mount an existingLinux filesystem. For more information refer to “Rescue Mode” on page 411.

Check to see what is on the hard disk before installing Fedora/RHEL

caution Unless you are certain the hard disk you are installing Fedora/RHEL on has nothing on it (it is a newdisk) or you are sure the disk holds no information of value, it is a good idea to examine the con-tents of the disk before you start the installation. You can use gparted (page 69) for this purpose.

000.book Page 51 Friday, April 4, 2008 9:22 AM

52 Chapter 3 Step-by-Step Installation

Boot fromlocal drive

Boots the system from the hard disk. This selection frequently has the same effect as boot-ing the system without the CD/DVD (depending on how the BIOS [page 26] is set up).

Memory test Runs memtest86+, a GPL-licensed, stand-alone memory test utility for x86-basedcomputers. Press C to configure the test; press ESCAPE to exit and reboot. Seewww.memtest.org for more information.

RHEL The process of installing Red Hat Enterprise Linux is similar to that of installingFedora. The biggest difference is in the initial screen the two systems display. WhileFEDORA displays a menu, RHEL displays a boot: prompt. Follow the instructions on thescreen for installing RHEL in graphical or textual mode. To bring the system up inRescue mode (page 411), enter linux rescue and press RETURN. Most parameters youenter at the boot: prompt begin with the word linux. You can use all of the parame-ters discussed in “Modifying Boot Parameters (Options)” on page 63, but they mustbe preceded by the word linux. Press the function keys listed at the bottom of thescreen for more information.

The Disc Found Screen

The first screen that the Install DVD installation process displays is the pseudo-graphical Disc Found screen. Because it is not a true graphical screen, the mousedoes not work. Instead, you must use the TAB or ARROW keys to highlight differentchoices and press RETURN to select the highlighted choice. This screen allows you totest as many installation CD/DVDs as you like. Choose OK to test the media orSkip to bypass the test. See the caution box on the next page.

A DVD may fail the media test if the software that was used to burn the disk did notinclude padding. If a DVD fails the media test, try booting with the nodma parame-ter. See page 63 for information on adding parameters to the boot command line.

Figure 3-4 The Install DVD Welcome menu

000.book Page 52 Friday, April 4, 2008 9:22 AM

Installing Fedora/RHEL Linux 53

If the DVD passes the media test when you boot the system with the nodma param-eter, the DVD is good; reboot the system without this parameter before installingFedora/RHEL. If you install Linux after having booted with this parameter, the ker-nel will be set up to always use this parameter. As a consequence, the installationand operation of the system may be very slow.

The Anaconda Installer

Anaconda, which is written in Python and C, identifies the hardware, builds thefilesystems, and installs or upgrades the Fedora/RHEL operating system. Anacondacan run in textual or graphical (default) interactive mode or in batch mode (see“Using the Kickstart Configurator” on page 78).

Exactly which screens Anaconda displays depends on whether you are installing Fedorafrom a live session or from the Install DVD, or whether you are installing Red HatEnterprise Linux, and which parameters you specified on the boot command line. Withsome exceptions—most notably if you are running a textual installation—Anacondaprobes the video card and monitor, and starts a native X server with a log in /tmp/X.log.(This log is not preserved unless you complete the installation.)

While it is running, Anaconda opens the virtual consoles (page 125) shown inTable 3-1. You can display a virtual console by pressing CONTROL-ALT-Fx, where x is thevirtual console number and Fx is the function key that corresponds to the virtualconsole number.

Test Install DVDs

caution Many people download ISO images from the Web and burn disks using these images. It is possi-ble for data to become corrupted while fetching an ISO image; it is also possible for a transienterror to occur while writing an image to recordable media. When you boot Fedora/RHEL from anInstall DVD, Anaconda displays the CD Found screen before starting the installation. From thisscreen, you can verify that the installation DVD does not contain any errors. Testing the DVD takesa few minutes and can save you hours of aggravation if the installation fails due to bad media.

Table 3-1 Virtual console assignments during installation

Information displayed during installation

Virtual console Install DVD Live CD

1 Installation dialog Login prompt (log in as fedora)

2 Shell Login prompt (log in as fedora)

3 Installation log Installation log

4 System messages Login prompt (log in as fedora)

5 Nothing Login prompt (log in as fedora)

6 GUI interactive installation screena

a. The GUI appears on virtual console 6 or 7.

Login prompt (log in as fedora)

7 GUI interactive installation screena GUI interactive installation

000.book Page 53 Friday, April 4, 2008 9:22 AM

54 Chapter 3 Step-by-Step Installation

At any time during the installation, you can switch to virtual console 2 (CONTROL-ALT-F2)and give commands to see what is going on. Do not give any commands that changeany part of the installation process. To switch back to the graphical installationscreen, press CONTROL-ALT-F6 or CONTROL-ALT-F7.

Using Anaconda

Anaconda provides a button labeled Next at the lower-right corner of each installa-tion screen and a button labeled Back next to it on most screens. When you havecompleted the entries on an installation screen, click Next or F12; from a textualinstallation, press the TAB key until the Next button is highlighted and then pressRETURN. Select Back to return to the previous screen. Click Release Notes at thelower-left corner of the screen to display the release notes for the version ofFedora/RHEL you are installing.

Anaconda Screens

Anaconda displays different screens depending on which commands you give andwhich choices you make. During a graphical installation, Anaconda starts, loadsdrivers, and probes for the devices it will use during installation. After probing, itstarts the X server. This section describes the screens that Anaconda displays duringa default installation and explains the choices you can make on each of them.

Logo Anaconda displays the Logo screen (Figure 3-5) after it obtains enough informationto start the X Window System. There is nothing for you to do on this screen exceptdisplay the release notes. Click Next.

Language Select the language you want to use for the installation. This language is not neces-sarily the same language that the installed system will display.

Keyboard Select the type of keyboard attached to the system.

Initialize warning Anaconda displays this warning if the hard disk has not been used before. The dia-log box says that the partition table on the device was unreadable and asks if youwant to initialize the drive. When you initialize a drive, all data on the drive is lost.

Figure 3-5 The Logo screen

000.book Page 54 Friday, April 4, 2008 9:22 AM

Installing Fedora/RHEL Linux 55

Click Yes if it is a new drive or if you do not need the data on the drive. Anacondainitializes the hard disk immediately.

Install or Upgrade Anaconda displays the Install or Upgrade screen (Figure 3-6) only if it detects a ver-sion of Fedora/RHEL on the hard disk that it can upgrade. Anaconda gives you thechoice of upgrading the existing installation or overwriting the existing installationwith a new one. Refer to “Upgrading an Existing Fedora/RHEL System VersusInstalling a Fresh Copy” on page 28 for help in making this selection.

Disk Partitioning The Disk Partitioning screen (Figure 3-7) allows you to specify partition informa-tion and to select which drives you want to install Fedora/RHEL on (assuming thesystem has more than one drive). Specify which drives you want to install Linux onin the frame labeled Select the drive(s) to use for this installation. Anaconda pre-sents the following options in the drop-down list near the top of the screen; click thebox and then click the choice you want:

Figure 3-6 The Install or Upgrade screen

Figure 3-7 The Disk Partitioning screen

000.book Page 55 Friday, April 4, 2008 9:22 AM

56 Chapter 3 Step-by-Step Installation

• Remove all partitions on selected drives and create default layout—Deletes all data on the hard disk and creates a default layout on the entire hard disk, as though you were working with a new hard disk.

• Remove Linux partitions on selected drives and create default layout— Removes all Linux partitions, deleting the data on those partitions and creating a default layout in place of one or more of the removed partitions. If there is only a Linux system on the hard disk, this choice is the same as the previous one.

• Use free space on selected drives and create default layout—Installs Fedora/RHEL in the free space (page 29) on the disk. This choice does not work if there is not enough free space.

• Create custom layout—Does not alter hard disk partitions. This choice causes Anaconda to run Disk Druid (page 66) so you can preserve the par-titions you want to keep and overwrite other partitions. It is a good choice for installing Fedora/RHEL over an existing system where you want to keep /home, for example, but want a clean install and not an upgrade.

Default layout The default layout that the first three choices create includes two logical volumes(swap and root [/]) and one standard partition (/boot). With this setup, most of thespace on the disk is assigned to the root partition. For information on the LogicalVolume Manager, see page 35.

Disk Druid Anaconda runs Disk Druid only if you put a check mark in the box labeled Reviewand modify partitioning layout or if you select Create custom layout from the drop-down list as described earlier. You can use Disk Druid to verify and modify the layoutbefore it is written to the hard disk. For more information refer to “Using Disk Druidto Partition the Disk” on page 66.

Warning Anaconda displays a warning if you are removing or formatting partitions. ClickYes or Format to proceed.

Boot LoaderConfiguration

Anaconda displays the Boot Loader Configuration screen (Figure 3-8) only whenyou put a check mark in the box labeled Review and modify partitioning layout orselect Create custom layout from the drop-down list in the Partition the Diskscreen. By default, Anaconda installs the grub boot loader (page 545). If you do notwant to install a boot loader, click the radio button next to No boot loader will beinstalled. When you install Fedora/RHEL on a machine that already runs anotheroperating system, Anaconda frequently recognizes the other operating system andsets up grub so you can boot from either operating system. Refer to “Setting Up a

The disk is not partitioned until later

tip Anaconda does not write to the hard disk when you specify partitions. Instead, it creates a tablethat specifies how you want the hard disk to be partitioned. The disk is actually partitioned and for-matted when you click Next from the Begin Installation screen (Figure 3-13, page 61). However,if Anaconda displays the Initialize Warning dialog box (page 54), when you click Yes, it writes tothe disk immediately.

000.book Page 56 Friday, April 4, 2008 9:22 AM

Installing Fedora/RHEL Linux 57

Dual-Boot System” on page 79. To manually add other operating systems to grub’slist of bootable systems, click Add and specify a label and device to boot from. Fora more secure system, specify a boot loader password.

NetworkConfiguration

The Network Configuration screen, which allows you to specify network configura-tion information, has three parts: Network Devices, Hostname, and MiscellaneousSettings (Figure 3-9). If you are using DHCP to set up the network interface, you donot need to change anything on this screen.

The Network Devices frame lists the network devices that the installer finds. Nor-mally you want network devices to become active when the system boots. Removethe check mark from the box at the left of a device if you do not want that device tobecome active when the system boots.

Figure 3-8 The Boot Loader Configuration screen

Figure 3-9 The Network Configuration screen

000.book Page 57 Friday, April 4, 2008 9:22 AM

58 Chapter 3 Step-by-Step Installation

To configure a network device manually (not using DHCP), highlight the device andclick Edit to the right of the list of devices. Anaconda displays the Edit Interfacewindow (Figure 3-10). To set up IPv4 networking manually, click the radio buttonlabeled Manual configuration under Enable IPv4 support and enter the IP addressand netmask of the system in the appropriate boxes. You can also set up or disableIPv6 networking on this screen. Click OK.

If you are not using DHCP, click the radio button labeled manually under Set thehostname in the network configuration screen and enter the name of the system.When you turn off DHCP configuration in Network Devices, Anaconda allows youto specify a gateway address and one or more DNS (nameserver) addresses. You donot have to specify more than one DNS address, although it can be useful to havetwo in case the first nameserver stops working. Click Next.

Root Password Specify the root password twice to make sure you did not make a mistake typing it.

Software selection As the Software Selection screen explains, by default Anaconda installs a basicFedora system, including software that allows you to use the Internet. SeeFigure 3-11. Near the top of the screen are three boxes that you can put checkmarks in to select categories of software to install: Office and Productivity (selectedby default), Software Development, and Web server.

Figure 3-10 Network Configuration: Edit Interface window

Install KDE to follow the examples in Chapter 4

tip Chapter 4 uses examples from KDE to introduce the graphical desktop. Install KDE if you want tofollow these examples. You can remove KDE later if you like. To install KDE, click the radio buttonnext to Customize now on the Software Selection screen and follow the instructions in the text.You can install both KDE and GNOME or just one of them.

000.book Page 58 Friday, April 4, 2008 9:22 AM

Installing Fedora/RHEL Linux 59

Fedora/RHEL software is kept in repositories (see Chapter 13). In the middle ofthe screen is a box you can put a check mark in to select a repository that holdsAdditional Fedora Software (FEDORA). Below that box is a button labeled Add addi-tional software repositories. See Chapter 13 for more information on softwarerepositories.

Toward the bottom of the screen are two radio buttons:

• Customize later—Installs the default packages plus those required to per-form the tasks selected from the list at the top of this screen.

• Customize now—Calls pirut (next section) after you click Next on this screen so you can select specific categories of software and package groups you want to install. If you want to set up servers as described in Part V of this book, select Customize now and install them in the next step.

In most cases it is a good idea to customize the software selection before installa-tion. The examples in Chapter 4 are based on KDE. If you want to follow theseexamples, click the radio button labeled Customize now and follow the instructionsin the next step.

Regardless of which software groups and packages you select now, you can usepirut to change which software groups and packages are installed on a system anytime after the system is up and running (as long as the system can connect to theInternet).

Figure 3-11 The Software Selection screen

000.book Page 59 Friday, April 4, 2008 9:22 AM

60 Chapter 3 Step-by-Step Installation

pirut utility The pirut utility (page 497) displays two adjacent frames toward the top of thescreen (Figure 3-12). Select a software category from the frame on the left and pack-age groups from the frame on the right.

For example, to install KDE, which is not installed by default, click Desktop Envi-ronments on the left. The pirut utility highlights your selection and displays a list ofdesktop environments you can install on the right. Click the box next to KDE (KDesktop Environment) so there is a check mark in it; pirut highlights KDE, displaysinformation about KDE in the text frame toward the bottom of the window, dis-plays the number of optional packages that are selected, and activates the Optionalpackages button. To get started, accept the default optional packages. See page 498for information about installing other optional packages. If you will be runningservers on the system, click Servers on the left and select the servers you want toinstall from the list on the right. Select other package categories in the same manner.When you are done, click Next.

Begin Installation Clicking Next on the Begin Installation screen (Figure 3-13) begins the process ofwriting to the hard disk. First Anaconda partitions and formats the disk as neces-sary; next it installs Fedora/RHEL based on what you have specified in the preced-ing screens, placing a log of the installation in /root/install.log and a Kickstart file(page 78) in /root/anaconda-ks.cfg. Clicking Back allows you to step back throughthe installation screens and make changes. To completely change the way you set upFedora/RHEL, you can press CONTROL-ALT-DEL to reboot the system and start over. If youreboot the system, you will lose all the work you did up to this point. Click Next toinstall Fedora/RHEL.

Figure 3-12 The pirut package selection utility with KDE selected

This is when Anaconda writes to the hard disk

caution You can abort the installation by pressing CONTROL-ALT-DEL at any point up to and including the BeginInstallation screen (Figure 3-13) without making any changes to the system. Once you click Nextin this screen, Anaconda writes to the hard disk. As mentioned earlier, if Anaconda displayed theInitialize Warning dialog box (page 54), it wrote to the hard disk when you clicked Yes.

000.book Page 60 Friday, April 4, 2008 9:22 AM

Installing Fedora/RHEL Linux 61

Installing Fedora/RHEL can take a while. The amount of time depends on thehardware you are installing the operating system on and the number of softwarepackages you are installing.

InstallationComplete

When Anaconda is finished, it tells you that the installation is complete. Removethe CD/DVD (if that is the medium you installed from) and click Reboot.

Firstboot: When You Reboot

When the system reboots, it is running Fedora/RHEL. The first time it boots,Fedora/RHEL runs Firstboot, which asks a few questions before allowing you to log in.

Welcome There is nothing for you to do on the Welcome screen (Figure 3-14). Click Forward.

License Information After the Welcome screen, Firstboot displays the License Information screen. If youunderstand the license information, click Forward.

Figure 3-13 The Begin Installation screen

Figure 3-14 The Welcome screen

000.book Page 61 Friday, April 4, 2008 9:22 AM

62 Chapter 3 Step-by-Step Installation

Firewall Next you are given the opportunity to set up a very basic firewall (page 1058). Firstselect Enabled or Disabled from the drop-down list labeled Firewall (Figure 3-15).If you enable the firewall, select which services the firewall will to pass through tothe system. These services are the ones that the system is providing by means ofservers you set up. For example, you do not need to enable WWW to browse theWeb using Firefox; you need to enable WWW only if you want to set up an Apache(HTTP) Web server. Select Secure WWW (HTTPS), which is used for securebrowser connections, to allow secure HTTP to pass through the firewall. Click thetriangle to the left of Other ports to open a frame in which you can add and removeadditional protocols and ports that the firewall will pass. Use the buttons labeledAdd and Remove to manipulate this list.

For more information on setting up a firewall, refer to “JumpStart: Building a FirewallUsing system-config-firewall” on page 794. Chapter 25 on iptables has information onhow to build a more complete and functional firewall. Click Forward.

SELinux SELinux (Security Enhanced Linux) enforces security policies that limit what auser or program can do. On this screen you can choose one of two policies,Enforcing or Permissive, or you can disable SELinux. If you enable SELinux, youcan modify its policy. The policy defaults to Enforcing, which prevents any user orprogram from doing anything that is not permitted by the policy. If you will neverwant to use SELinux, disable it. If you do not want to use it now but may want todo so in the future, establish a Permissive policy—it issues warnings but does notenforce the policy. It can take a lot of time to turn on SELinux on a system whereit has been disabled. For more information refer to “SELinux” on page 414. ClickForward.

Date and Time The next screen allows you to set the system date and time. Running the NetworkTime Protocol (NTP) causes the system clock to reset itself periodically from a clockon the Internet. If the system is connected to the Internet, you may want to enableNTP by clicking the Network Time Protocol tab and putting a check mark in thebox next to Enable Network Time Protocol. Click Forward.

Figure 3-15 The Firewall screen

03.install.main.fm Page 62 Wednesday, April 16, 2008 12:31 PM

Installation Tasks 63

Hardware Profile When you select the radio button labeled Send Profile, the smolt hardware profilersends a monthly update of the system’s hardware profile to smolts.org. Select theradio button labeled Do not send profile if you do not want smolt to send the sys-tem’s profile to the Fedora Project. Click Forward.

Create User The next screen allows you to set up a user account. You can set up a user accountnow or after the system is fully operational. For more information refer to “Config-uring User and Group Accounts” on page 550.

When the Create User screen closes, you are done with the installation. You can nowuse the system and set it up as you desire. You may want to customize the desktop asexplained in Chapters 4 and 8 or set up servers as discussed in Part V of this book.

Initializing Databases and Updating the System

Update the whatis database so that whatis (page 158) and apropos (page 157) workproperly. Next update the locate database so that locate works properly. (The locateutility indexes and allows you to search for files on the system quickly and securely.)Instead of updating these databases when you install the system, you can wait forcron (page 559) to run them overnight, but be aware that whatis, apropos, and locatewill not work until the next day. The best way to update these databases is via thecron scripts that run daily. Working as root, give the following commands:

# /etc/cron.daily/makewhatis.cron# /etc/cron.daily/mlocate.cron

These utilities run for several minutes and may complain about not being able tofind a file or two. When the system displays a prompt, the whatis and locate data-bases are up-to-date.

Installation Tasks

This section details some common tasks you may need to perform during or afterinstallation. It covers modifying the boot parameters, using Disk Druid to partitionthe disk during installation, using gparted to modify partitions, using logical volumes(LVs) to facilitate disk partitioning, using Kickstart to automate installation, and set-ting up a system that will boot either Windows or Linux (a dual-boot system).

Modifying Boot Parameters (Options)

FEDORA To modify boot parameters, you must interrupt the automatic boot process bypressing a key such as the SPACE BAR while Fedora is counting down when you firstboot from a the Live CD (page 48) or Install DVD (page 51). When you press a key,Fedora displays the Welcome menu (Figure 3-2 on page 49 or Figure 3-4 onpage 52). Use the ARROW keys to highlight the selection you want before proceeding(page 51). With the desired selection highlighted, press the TAB key to display theboot command line parameters (Figure 3-16, next page).

RHEL RHEL presents a boot: prompt in place of the boot parameters line that FEDORA displayswhen you press TAB. You can enter any of the parameters described in this section in

03.install.main.fm Page 63 Wednesday, April 16, 2008 12:31 PM

64 Chapter 3 Step-by-Step Installation

response to the boot: prompt; however, you must precede these parameters with theword linux. (See the examples in the next paragraphs.)

RHEL+FEDORA Type a SPACE before you enter any parameters. You can specify multiple parametersseparated by SPACEs. Press RETURN to boot the system. For more information on bootparameters, refer to www.kernel.org/doc/Documentation/kernel-parameters.txt andwww.kernel.org/pub/linux/kernel/people/gregkh/lkn/lkn_pdf/ch09.pdf.

Following are some of the parameters you can add to the boot command line. If youencounter problems with the display during installation, supply the nofb parameter,which turns off video memory. If you are installing from a medium other than aDVD—that is, if you are installing from files on the local hard disk or from files onanother system using FTP, NFS, or HTTP—supply the askmethod or method parameter.

Many of these parameters can be combined. For example, to install Linux in text modeusing a terminal running at 115,200 baud, no parity, 8 bits, connected to the first serialdevice, supply the following parameters (the ,115200n8 is optional). The first lineshows the parameters you enter while booting FEDORA. The second line shows the param-eters, including linux, you enter in response to the boot: prompt while booting RHEL.

Figure 3-16 The Welcome screen displaying boot parameters (options)

Boot parameters(displayed after you press the TAB key)

What to do if the installation does not work

tip On some hardware, the installation may pause for up to ten minutes. Before experimenting withother fixes, try waiting for a while. If the installation hangs, try booting with one or more of the bootparameters described in this section. Try running the installer in pseudographical (textual) mode. Ifthese techniques fail, force the bootloader (syslinux) to run in textual mode by holding down theSHIFT key while the system boots from the DVD. (Do not depress the SHIFT key until after the BIOS fin-ishes displaying information about the system.) Doing so does not affect the rest of the installation.

03.install.main.fm Page 64 Wednesday, April 16, 2008 12:31 PM

Installation Tasks 65

text console=ttyS0,115200n8 FEDORAboot: linux text console=ttyS0,115200n8 RHEL

The next set of parameters installs Fedora/RHEL on a monitor with a resolution of1024 × 768, without probing for any devices. The installation program asks you tospecify the source of the installation data (CD, DVD, FTP site, or other) andrequests a video driver.

resolution=1024x768 noprobe askmethod FEDORAboot: linux resolution=1024x768 noprobe askmethod RHEL

noacpi Disables ACPI (Advanced Configuration and Power Interface). Useful for systemsthat do not support ACPI or that have problems with their ACPI implementation.The default is to enable ACPI. Also acpi=off.

noapic Disables APIC (Advanced Programmable Interrupt Controller). The default is toenable APIC.

noapm Disables APM (Advanced Power Management). The default is to enable APM. Alsoapm=off.

askmethod Presents a choice of installation sources: local CD/DVD or hard disk, or over a net-work using NFS, FTP, or HTTP. (Install DVD only.)

• Local CDROM—Displays the CD Found screen, which allows you to test the installation media (the same as if you had not entered any boot parameters).

• Hard drive—Prompts for the partition and directory that contains the installation tree or the ISO image of the Install DVD. Do not include the name of the mount point when you specify the name of the directory. For example, if the ISO images are in the /home/sam/FC8 directory and /dev/hda6 holds the partition that is normally mounted on /home, you would specify the partition as /dev/hda6 and the directory as sam/FC8 (no leading slash).

• NFS, FTP, or HTTP—Displays the Configure TCP/IP screen from which you can select DHCP or enter the system’s IP address and netmask, and the IP addresses of the default gateway and primary nameserver.

When using NFS, the remote (server) system must export (page 709) the directory hierarchy that holds the installation tree or the ISO image of the Install DVD. The NFS Setup screen requires you to enter the NFS server name and name of the Fedora/RHEL directory. Enter the server’s IP address and the name of the exported directory, not its device name.

nodma Turns off direct memory access (DMA) for all disk controllers, which may make buggycontrollers (or controllers with buggy drivers) more reliable, but also causes them toperform very slowly because the connected devices have to run in PIO mode instead ofDMA mode. This parameter may facilitate testing CD/DVDs that were not writtencorrectly. For more information refer to “The Disc Found Screen” on page 52.

nofb no framebuffer Turns off the framebuffer (video memory). This option is usefulwhen problems arise when the graphical phase of the installation starts. It is partic-ularly useful for systems with LCD displays.

03.install.main.fm Page 65 Wednesday, April 16, 2008 12:31 PM

66 Chapter 3 Step-by-Step Installation

irqpoll Changes the way the kernel handles interrupts.

ks=URI Specifies the location of a Kickstart (page 78) file to use to control installation. TheURI is the pathname or network location of the Kickstart file.

nolapic Disables local APIC. The default is to enable local APIC.

lowres Runs the installation program at a resolution of 640 × 480 pixels. See also resolution.

mem=xxxM Overrides the detected memory size. Replace xxx with the number of megabytes ofRAM in the computer.

method=URI Specifies an installation method and location without prompting as askmethoddoes. For example, you can use the following parameter to start installing from thespecified server:

method=ftp://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/x86_64/os

noprobe Disables hardware probing for all devices, including network interface cards(NICs), graphics cards, and the monitor. This option forces you to select devicesfrom a list. You must know exactly which cards or chips the system uses when youuse this parameter. Use noprobe when probing causes the installation to hang orotherwise fail. This parameter allows you to supply arguments for each devicedriver you specify.

rescue Puts the system in rescue mode; see page 411 for details.

resolution=WxH Specifies the resolution of the monitor you are using for a graphical installation. Forexample, resolution=1024x768 specifies a monitor with a resolution of 1024 × 768pixels.

text Installs Linux in pseudographical (page 26) mode. Although the images on thescreen appear to be graphical, they are composed entirely of text characters.

vnc Installs over a VNC (virtual network computing) remote desktop session. After pro-viding an IP address, you can control the installation remotely using a VNC clientfrom a remote computer. You can download the VNC client, which runs on severalplatforms, from www.realvnc.com. Use yum (page 492) to install the vnc softwarepackage to run a VNC client on a Fedora/RHEL system.

Partitioning the Disk

See page 29 for a discussion of partitions and set up of the hard disk.

Using Disk Druid to Partition the Disk

Disk Druid, a graphical disk-partitioning program that can add, delete, and modifypartitions on a hard disk, is part of the Fedora/RHEL installation system. You canuse Disk Druid only while you are installing a system; it cannot be run on its own.You can use gparted (page 69), parted (page 72), or fdisk to manipulate partitions andsystem-config-lvm to work with LVs after you install Fedora/RHEL. As explained ear-lier, if you want a basic set of partitions, you can allow Anaconda to partition thehard disk automatically.

Anaconda runs Disk Druid when you put a check mark in the box labeled Reviewand modify partitioning layout or when you select Create custom layout in the DiskPartitioning screen (Figure 3-7, page 55).

000.book Page 66 Friday, April 4, 2008 9:22 AM

Installation Tasks 67

Clone and RAID Disk Druid includes Clone, a tool that copies the partitioning scheme from a sin-gle drive to other drives. Clone is useful for making multiple copies of a RAIDpartition/drive when you are creating a large RAID array of identical partitions oridentically partitioned drives. Click the RAID button to access the Clone tool,which is active only when at least one unallocated RAID partition exists. Formore information on RAID, see page 33.

Default layout Figure 3-17 shows the Disk Druid main screen as it appears when you have chosenthe default layout for the hard disk (see “Disk Partitioning” on page 55). Thisscreen has three sections (going from top to bottom): a graphical representation ofthe disk drives showing how each is partitioned, a row of buttons, and a table list-ing one partition or LV per line.

The following buttons appear near the top of the screen:

• New—Adds a new partition to the disk (page 68)

• Edit—Edits the highlighted partition or LV (both on page 75)

• Delete—Deletes the highlighted partition or LV

• Reset—Cancels the changes you have made and causes the Disk Druid table to revert so it matches the layout of the disk

• RAID—Enables you to create software RAID partitions and to join two or more RAID partitions into a RAID device (page 33)

• LVM—Enables you to create physical volumes (PVs), which you can then use to create LVs (page 35)

Figure 3-17 Disk Druid: main screen, default layout

000.book Page 67 Friday, April 4, 2008 9:22 AM

68 Chapter 3 Step-by-Step Installation

The Disk Druid table contains the following columns:

• Device—The name of the device in the /dev directory (for example, /dev/sda1 or the name of the LV).

• Label—The device label.

• Mount Point/RAID/Volume—Specifies where the partition will be mounted when the system is brought up (for example, /usr). It is also used to specify the RAID device or LVM volume the partition is part of.

• Type—The type of partition, such as ext3, swap, or LVM PV.

• Format—A check mark in this column indicates the partition will be format-ted as part of the installation procedure. All data on the partition will be lost.

• Size (MB)—The size of the partition or LV in megabytes.

• Start—The number of the block the partition starts on.

• End—The number of the block the partition ends on.

At the bottom of the screen is a box that allows you to hide RAID device and LVMvolume group members. Do not put a check mark in this box if you want to see allinformation about the disk drives.

Add a new partition To add a new partition to a hard disk, the hard disk must have enough free spaceto accommodate the partition. Click the New button to add a partition; DiskDruid displays the Add Partition window (Figure 3-18). Specify the mount point(the name of the directory that the partition will be mounted over; page 30) andthe filesystem type; use the arrow buttons at the right ends of these boxes to dis-play drop-down lists.

If there is more than one drive, put a check mark in the box next to the drive youwant the partition to be created on in the Allowable Drives frame. Specify the sizeof the partition and, in the Additional Size Options frame, mark Fixed size to createthe partition close to the size you specify. Because of block-size constraints, parti-tions are not usually exactly the size you specify. Mark Fill all space up to (MB) andfill in the maximum size you want the partition to be to create a partition that takesup the existing free space, up to the maximum size you specify. In other words, DiskDruid will not complain if it cannot create the partition as large as you would like.Mark the third choice, Fill to maximum allowable size, to cause the partition tooccupy all the remaining free space on the disk, regardless of size. (If you createanother partition after creating a Fill to maximum allowable size partition, the newpartition will pull blocks from the existing maximum size partition.)

Put a check mark in the box labeled Force to be a primary partition to create a pri-mary partition (page 30). Click OK, and Disk Druid adds the partition to its table(but does not write to the hard disk).

Edit an existingpartition

To modify an existing partition, highlight the partition in the Disk Druid table orthe graphical representation of the hard disk and click the Edit button; Disk Druid

000.book Page 68 Friday, April 4, 2008 9:22 AM

Installation Tasks 69

displays the Edit Partition window. From this window, you can change the mountpoint of a partition or format the partition as another type (ext3, vfat, swap, and soon). You cannot change the size of a partition from this window. To do so you mustdelete the partition and create a new partition of the desired size.

gparted: The GNOME Partition Editor

Unless you are certain the hard disk you are installing Fedora/RHEL on has nothingon it (it is a new disk) or you are sure the disk holds no information of value, it is agood idea to examine the contents of the disk before you start the installation. TheGNOME Partition Editor (gparted), which is available from a live session, is a goodtool for this job. (You can also examine the partition by mounting it from a live ses-sion using Konqueror [page 106] or Nautilus [page 255].)

Open the Partition Editor window under GNOME by selecting Applications: SystemTools GParted as shown in Figure 3-19 on the next page. Under KDE, use Mainmenu: System GParted (open the Main menu by clicking the K at the lower-leftcorner of the screen).

The Partition Editor displays the layout of a hard disk and can resize partitions,such as when you are setting up a dual-boot system by adding Fedora/RHEL to aWindows system (page 79). Although you can create partitions using the PartitionEditor, you cannot specify the mount point (page 30) for a partition—this step mustwait until you are installing Fedora/RHEL and using the Disk Druid partitioner.You can save time if you use the Partition Manager to examine a hard disk and DiskDruid to set up the partitions you install Fedora/RHEL on.

Figure 3-18 Disk Druid: Add Partition window, ext3 filesystem

000.book Page 69 Friday, April 4, 2008 9:22 AM

70 Chapter 3 Step-by-Step Installation

An Empty Hard Disk

The Partition Editor shows one large unallocated space for a new hard disk (empty,with no partition table). If you have more than one hard disk, use the list box in theupper-right corner of the screen to select the disk for which the Partition Editor dis-plays information. Figure 3-20 shows an empty 200-gigabyte hard disk on thedevice named /dev/sda.

Deleting a Partition

Before deleting a partition, make sure it does not contain any data you need. To usethe Partition Editor to delete a partition, highlight the partition you want to delete,click Delete, and then click Apply on the toolbar.

Figure 3-19 Selecting the GNOME Partition Editor from the Main menu

Figure 3-20 The GNOME Partition Editor displaying an empty disk drive

000.book Page 70 Friday, April 4, 2008 9:22 AM

Installation Tasks 71

Resizing a Partition

Figure 3-21 shows the Partition Editor displaying information about a hard diskwith a single partition that occupies the entire disk. It shows a single 200-gigabyteNTFS filesystem. The process of resizing a partition is the same regardless of thetype of partition: You can use the following technique to resize Windows, Linux, orother types of partitions.

To install Fedora/RHEL on this system, you must resize (shrink) the partition tomake room for Fedora/RHEL. Before you resize a Windows partition, you mustboot Windows and defragment the partition using the Windows defragmenter; seethe tip on page 80. To resize the partition, right-click to highlight the line thatdescribes the partition and select Resize/Move on the toolbar. The Partition Editoropens a small Resize/Move window, as shown in Figure 3-21.

At the top of the Resize/Move window is a graphical representation of the partition.Initially the partition occupies the whole disk. The spin box labeled New Size (MiB)

Figure 3-21 The Partition Editor displaying a disk drive holding a Windows system

Always back up the data on a hard disk

caution If you are installing Fedora/RHEL on a disk that holds data that is important to you, always backup the data before you start the installation. Things can and do go wrong. The power might go outin the middle of an installation, corrupting the data on the hard disk. A bug in the partitioning soft-ware might destroy a filesystem. Although it is unlikely, you might make a mistake and format apartition holding data you want to keep.

000.book Page 71 Friday, April 4, 2008 9:22 AM

72 Chapter 3 Step-by-Step Installation

shows the number of megabytes occupied by the partition—in this case the wholedisk. The two spin boxes labeled Free Space show no free space.

Back up the partition before you begin resizing. You can specify how you want toresize the partition by (right-clicking and) dragging one of the triangles at the endsof the graphical representation of the partition or by entering the number of mega-bytes you want to shrink the Windows partition to in the spin box labeled NewSize. In response, the value in one of the spin boxes labeled Free Space increases.Click Resize/Move to add the resize operation to the list of pending operations atthe bottom of the window. Click Apply on the toolbar to resize the partition.

Although you can use the Partition Editor to create partitions to install Fedora/RHELon, it may be easier to create partitions using Disk Druid while you are installingFedora/RHEL. Disk Druid allows you to specify mount points for the partitions; thePartition Editor does not.

parted: Reports on and Partitions a Hard Disk

The parted (partition editor) utility reports on and manipulates hard disk partitions.The following example shows how to use parted from the command line (see “Run-ning Commands from the Terminal Emulator/Shell” on page 105). It uses the printcommand to display information about the partitions on the /dev/hda drive:

# parted /dev/hda printDisk geometry for /dev/hda: 0kB - 165GBDisk label type: msdosNumber Start End Size Type File system Flags1 32kB 1045MB 1045MB primary ext3 boot2 1045MB 12GB 10GB primary ext33 12GB 22GB 10GB primary ext34 22GB 165GB 143GB extended5 22GB 23GB 1045MB logical linux-swap6 23GB 41GB 18GB logical ext37 41GB 82GB 41GB logical ext3Information: Don't forget to update /etc/fstab, if necessary.

Figure 3-22 The primary and extended partitions from the example

/dev/hda /dev/hda4

Primary 2/dev/hda2

Primary 3

Primary 4(Extended)

/dev/hda3

Logical 5/dev/hda5

Logical 6/dev/hda6

Logical 7/dev/hda7

Primary 1/dev/hda1

...

000.book Page 72 Friday, April 4, 2008 9:22 AM

Installation Tasks 73

Figure 3-22 graphically depicts the partitions shown in this example. The first linethat parted displays specifies the device being reported on (/dev/hda) and its size(165 gigabytes). The print command displays the following columns:

• Number—The minor device number (page 477) of the device holding the partition. This number is the same as the last number in the device name. In the example, 5 corresponds to /dev/hda5.

• Start—The location on the disk where the partition starts. The parted utility specifies a location on the disk as the distance (in bytes) from the beginning of the disk. Thus partition 3 starts 12 gigabytes from the beginning of the disk.

• End—The location on the disk where the partition stops. Although parti-tion 2 ends 12 gigabytes from the beginning of the disk and partition 3 starts at the same location, parted takes care that the partitions do not overlap at this single byte.

• Size—The size of the partition in kilobytes (kB), megabytes (MB), or gigabytes (GB).

• Type—The partition type: primary, extended, or logical. See Figure 3-22 and page 30 for information on partition types.

• File system—The filesystem type: ext2, ext3, fat32, linux-swap, and so on. See Table 12-1 on page 478 for a list of filesystem types.

• Flags—The flags that are turned on for the partition, including boot, raid, and lvm. In the example, partition 1 is bootable.

In the preceding example, partition 4 defines an extended partition that includes143 gigabytes of the 165-gigabyte disk (Figure 3-22). You cannot make changes toan extended partition without affecting all logical partitions within it.

In addition to reporting on the layout and size of a hard disk, you can use partedinteractively to modify the disk layout. Be extremely careful when using parted inthis manner, and always back up the system before you work with this utility.Changing the partition information (the partition table) on a disk can destroy theinformation on the disk. Read the parted info page before you attempt to modify apartition table.

parted can destroy everythingcaution Be as careful with parted as you would be with a utility that formats a hard disk. Changes

you make with parted can easily result in the loss of large amounts of data. If you are usingparted and have any question about what you are doing, quit with a q command before mak-ing any changes. Once you give parted a command, it immediately makes the change yourequested.

000.book Page 73 Friday, April 4, 2008 9:22 AM

74 Chapter 3 Step-by-Step Installation

To partition a disk, give the command parted followed by the name of the deviceyou want to work with. In the following example, after starting parted, the usergives a help (or just h) command, which displays a list of parted commands:

# parted /dev/hdbGNU Parted 1.8.6Using /dev/hdbWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) help check NUMBER do a simple check on the file system cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition help [COMMAND] prints general help, or help on COMMAND mklabel LABEL-TYPE create a new disklabel (partition table) mkfs NUMBER FS-TYPE make a FS-TYPE file system on partititon NUMBER mkpart PART-TYPE [FS-TYPE] START END make a partition mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system move NUMBER START END move partition NUMBER name NUMBER NAME name partition NUMBER as NAME print [NUMBER] display the partition table, or a partition quit exit program rescue START END rescue a lost partition near START and END resize NUMBER START END resize partition NUMBER and its file system rm NUMBER delete partition NUMBER select DEVICE choose the device to edit set NUMBER FLAG STATE change a flag on partition NUMBER toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER unit UNIT set the default unit to UNIT version displays the version of GNU Parted and copyright info(parted)

In response to the (parted) prompt, you can give the command help followed by thename of the command you want more information about. When you give a print (orjust p) command, parted displays current partition information, just as a print com-mand on the command line does.

The parted utility will not allow you to set up overlapping partitions (except for log-ical partitions that overlap the extended partition that contains them). Similarly itwill not allow you to create a partition that starts at the very beginning of the disk(cylinder 0). Both of these situations can cause loss of data.

Following are guidelines to remember when defining a partition table for a disk. Formore information refer to “Partitioning a Disk” on page 31.

• Do not delete or modify the partition that defines the extended partition unless you are willing to lose all data on all logical partitions within the extended partition.

• If you put /boot on a separate partition, it is a good idea to put it at the beginning of the drive (partition 1) so there is no issue of Linux having to boot from a partition located too far into the drive. When you can afford the disk space, it is desirable to put each major filesystem on a separate partition. Many people choose to combine / (root), /var, and /usr into a single partition, which generally results in less wasted space but can, on rare occasions, cause problems.

000.book Page 74 Friday, April 4, 2008 9:22 AM

Installation Tasks 75

• Although parted can create some types of filesystems, it is typically easiest to use this utility to create partitions and then use mkfs and mkswap to cre-ate filesystems on the partitions.

The following sequence of commands defines a 300-megabyte, bootable, Linuxpartition as partition 1 on a clean disk:

# parted /dev/hdb...Using /dev/hdb(parted) mkpart (create new partition)Partition type? primary/extended? primary (select primary partition)File system type? [ext2]? (default to an ext2 filesystem)Start? 1 (start at the beginning of the disk)End? 300m (specify a 300-megabyte partition)(parted) help set (use help to check the syntax of the set command) set NUMBER FLAG STATE change a flag on partition NUMBER

NUMBER is the partition number used by Linux. On msdos disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. FLAG is one of: boot, root, swap, hidden, raid, lvm, lba, hp-service, palo, prep, msftres STATE is one of: on, off(parted) set 1 boot on (turn on the boot flag on partition 1)(parted) print (verify that the partition is correct)Disk geometry for /dev/hdb: 0kB - 250GBDisk label type: msdosNumber Start End Size Type File system Flags1 1kB 300MB 300MB primary ext2 boot(parted) quitInformation: Don't forget to update /etc/fstab, if necessary.

When you specify a size within parted, you can use a suffix of k (kilobytes), m (mega-bytes), or g (gigabytes). After creating a partition, give a print command to see wherethe partition ends. Perform this task before you define the next contiguous partitionto make sure you do not waste space. After setting up all the partitions, exit fromparted with a quit command.

Next make a filesystem (mkfs; page 432) on each partition that is to hold a file-system (not swap). Make all partitions, except swap and /boot, of type ext3, unlessyou have a reason to do otherwise. Make the /boot partition of type ext2. Usemkswap (page 472) to set up a swap area on a partition. You can use e2label(page 432) to label partitions.

LVs: Logical Volumes

When you ask Anaconda to partition the hard disk with a default layout (see “DiskPartitioning” on page 55), it uses LVM (page 35) to set up most of the hard disk,creating LVs instead of partitions. It places /boot on the first partition on the drive,not under the control of LVM. LVM creates a volume group (VG) namedVolGroup00. Within this VG it creates two LVs: root (/, LogVol00) and swap(LogVol01). The swap LV occupies up to a few gigabytes; the root LV takes up therest of the drive. This section explains how to make the root LV smaller so you canadd additional LVs to VolGroup00.

000.book Page 75 Friday, April 4, 2008 9:22 AM

76 Chapter 3 Step-by-Step Installation

If you click the Disk Druid LVM button with the default setup (with the root LVoccupying all of the disk that is not occupied by the swap LV and the /boot parti-tion), Disk Druid displays a dialog box that advises you that there are not enoughphysical volumes and suggests that you create a new partition. Because the existingpartitions occupy the whole disk, you cannot create a new partition.

To make the root LV smaller and make room for additional partitions, first high-light the root partition (LogVol00) and then click Edit. Disk Druid displays the EditLVM Volume Group window (Figure 3-23). The figure shows that VolGroup00 hasno free space (see the line in the middle of the window). It shows two LVs: swap,which does not have a mount point, and root, with a mount point of /.

Highlight root (LogVol00) in the frame labeled Logical Volumes and click Edit.Disk Druid displays the Edit Logical Volume window (Figure 3-24), which allowsyou to change the size of the root LV. Replace the numbers in the text box labeledSize (MB) with the number of megabytes you want to assign to the root LV.Figure 3-24 shows the size of the root partition being changed to 100 gigabytes(100,000 megabytes). Click OK.

Once you decrease the size of the root partition, the Edit LVM Volume Group win-dow shows that the VG has free space. You can now add another LV to the VG. ClickAdd in the Edit LVM Volume Group window to display the Make Logical Volumewindow (Figure 3-25). Select a mount point, filesystem type, and size for the LV. Youcan change the LV name if you like, although Disk Druid assigns logical, sequentialnames that are easy to use. Figure 3-25 shows a /home LV being created with a size of80 gigabytes. Click OK when the LV is set up the way you want.

Figure 3-23 Disk Druid: Edit LVM Volume Group window

000.book Page 76 Friday, April 4, 2008 9:22 AM

Installation Tasks 77

Figure 3-24 Disk Druid: Edit Logical Volume window

Figure 3-25 Disk Druid: Make Logical Volume window

000.book Page 77 Friday, April 4, 2008 9:22 AM

78 Chapter 3 Step-by-Step Installation

Figure 3-26 shows the modified Disk Druid main screen with the new /home LV.

Using the Kickstart Configurator

Kickstart is a Fedora/RHEL program that completely or partially automates thesame installation and postinstallation configuration on one or more machines.To use Kickstart, you create a single file that answers all the questions that arenormally asked during an installation. Anaconda then refers to this file instead ofasking you questions during installation. See the ks boot parameter on page 66.Using Kickstart, you can automate language selection, network configuration,keyboard selection, boot loader installation, disk partitioning, X Window Systemconfiguration, and more.

The system-config-kickstart utility (part of the system-config-kickstart package thatyou can install using yum; page 492) displays the Kickstart Configurator window(Figure 3-27), which creates a Kickstart installation script.

Figure 3-27 shows the first window the Kickstart Configurator displays. To gener-ate a Kickstart file (ks.cfg by default), go through each section of this window (theitems along the left side) and fill in the answers and put check marks in the appro-priate boxes. It may be helpful to start with the Kickstart installation script thatAnaconda generated when you installed the system (/root/anaconda.cfg). ClickHelp on the menubar for instructions on completing these tasks. When you are fin-ished, click File Save. The Kickstart Configurator gives you a chance to review thegenerated script before it saves the file.

Figure 3-26 Disk Druid: main screen with the new /home LV

000.book Page 78 Friday, April 4, 2008 9:22 AM

Installation Tasks 79

Setting Up a Dual-Boot System

A dual-boot system is one that can boot one of two (or more) operating systems.This section describes how to add Fedora/RHEL to a system that can boot Win-dows, thereby creating a system that can boot Windows or Linux. You can use thesame technique for adding Fedora/RHEL to a system that runs a different version ordistribution of Linux.

One issue that arises when you are setting up a dual-boot system is the need to finddisk space for the new Fedora/RHEL system. The next section discusses severalways to create the needed space.

Creating Free Space on a Windows System

Typically you install Fedora/RHEL in free space on a hard disk. To add Fedora/RHELto a Windows system, you must have enough free space on a hard disk that alreadyholds Windows. There are several ways to provide or create this free space. The fol-lowing paragraphs discuss these options in order from easiest to most difficult.

Add a newhard disk

Add another hard disk to the system and install Linux on the new disk, which containsonly free space. This technique is very easy and clean but requires a new hard disk.

Use existingfree space

If there is sufficient free space on the Windows disk, you can install Linux there.This technique is the optimal choice, but there is rarely enough free space on aninstalled hard disk.

Resize Windowspartitions

Windows partitions often occupy the entire disk, making resizing a Windows parti-tion the most commonly used technique to free up space. Windows systems typicallyuse NTFS, FAT32, and/or FAT16 filesystems. You can use the GNOME PartitionEditor to examine and resize an existing Windows partition to open up free space inwhich to install Linux (page 71).

Figure 3-27 Kickstart Configurator window

000.book Page 79 Friday, April 4, 2008 9:22 AM

80 Chapter 3 Step-by-Step Installation

Remove a Windowspartition

If you can delete a big enough Windows partition, you can install Linux in its place. Todelete a Windows partition, you must have multiple partitions under Windows and bewilling to lose the data in the partition you delete. In many cases, you can save thisdata by moving it from the partition you will delete to another Windows partition.

Once you are sure a partition contains no useful information, you can use theGNOME Partition Editor to delete it (page 70). After deleting the partition, you caninstall Fedora/RHEL in the free space formerly occupied by the partition you removed.

Installing Fedora/RHEL as the Second Operating System

After you have created enough free space on a Windows system (see the previous sec-tion), you can begin installing Fedora/RHEL. When you get to the Disk Partitioningscreen (Figure 3-7, page 55), choose Use free space on selected drives and createdefault layout to have Anaconda partition the free space on the hard disk automati-cally. If you need to delete a Windows partition, you must choose Create custom lay-out; this selection calls Disk Druid (page 66) so you can delete the appropriateWindows partition and create Linux partitions in the free space. When you boot thesystem, you will be able to choose which operating system you want to run.

The X Window System

If you specified a graphical desktop environment such as GNOME or KDE, youinstalled the X.org (x.org) implementation of the X Window System when youinstalled Linux. The X Window System release X11R7.2 comprises almost 50 soft-ware packages. The X configuration files are kept in /etc/X11; the configuration filethat guides the initial setup is /etc/X11/xorg.conf.

system-config-display: Configures the Display

The system-config-display utility displays the Display settings window (Figure 3-28),which allows you to configure X.org, including the monitor type and video card. Mostusers never need to run this utility: In almost all cases, Fedora/RHEL autoconfigura-tion sets up X.org to work properly. To run this utility, enter system-config-display on

Always defragment before resizing

caution You must boot Windows and defragment a Windows partition before you resize it. Sometimes youmay need to run the Windows defragmenter several times to consolidate most file fragments. Notonly will defragmenting give you more space for a Linux partition, but it may also keep the processof setting up a dual-boot system from failing.

Make a copy of xorg.conftip Make a copy of the /etc/X11/xorg.conf file when you install or upgrade a system and each time

the file is modified, such as when you install a new monitor or graphics card. The copy makes ita simple job to restore a system with a nonfunctional xorg.conf file.

000.book Page 80 Friday, April 4, 2008 9:22 AM

The X Window System 81

a command line. From KDE, select Main menu: System Display; from GNOME,select System: Administration Display.

Figure 3-28 shows the Settings tab of the Display settings window, which allowsyou to specify the resolution and color depth for the monitor. Normally the systemprobes the monitor and fills in these values. If these values are missing, check thespecifications for the monitor and select the appropriate values from the drop-downlists. No harm is done if you specify a lower resolution than the monitor is capableof displaying, but you can damage an older monitor by specifying a resolution thatis higher than the monitor is capable of displaying. A color depth of 8 bits equatesto 256 colors, 16 bits to thousands of colors, and 24 or 32 bits to millions of colors.

Next click the Hardware tab. The system normally probes for the monitor type andbrand as well as the model of video card; these values appear next to the wordsMonitor Type and Video Card. You can manually select a monitor or video card.Figure 3-29 shows the Monitor window on top of the Hardware tab of the Displaysettings window.

Figure 3-28 The Display Settings window, Settings tab

Figure 3-29 The Display Settings window, Hardware tab, Monitor window

000.book Page 81 Friday, April 4, 2008 9:22 AM

82 Chapter 3 Step-by-Step Installation

Specifying amonitor

To specify a monitor, click Configure across from the words Monitor Type; system-config-display displays the Monitor window. If necessary, put a mark in the checkbox labeled Show all available monitors. Scroll down until you see the name of themanufacturer of the monitor you are using and click the triangle to the left of thatname; system-config-display opens a list of models made by that manufacturer. Scrollthrough the list of models. Click to highlight the model you are using and then clickOK. If an appropriate model is not listed, scroll to the top of the list and click thetriangle next to Generic CRT Display or Generic LCD Display, depending on thetype of monitor you are setting up. From one of these lists, select the maximum res-olution the monitor is capable of displaying. Click OK.

Specifying avideo card

To specify a video card, click Configure adjacent to the words Video Card; system-config-display displays the Video Card window. Scroll down and click to highlightthe manufacturer and model of the video card in the system. Click OK.

Specifying twomonitors

The Dual head tab allows you to specify a second video card that can drive a secondmonitor. On this tab, specify the monitor type, video card, resolution, and colordepth as you did earlier. You can choose to have each monitor display a desktop orto have the two monitors display a single desktop (spanning desktops). Click OK toclose the Display Settings window.

The system-config-display utility generates an xorg.conf file (discussed in the nextsection) with the information you entered.

The xorg.conf File

If you choose to edit /etc/X11/xorg.conf manually, read the notes at the top of thefile. You may also want to refer to the xorg.conf man page. The xorg.conf file com-prises sections that can appear in any order. Each section is formatted as follows:

Section "name" entry ...EndSection

where name is the name of the section. A typical entry occupies multiple physicallines but is a single logical line, consisting of a keyword followed by zero or moreinteger, real, or string arguments. Keywords in these files are not case sensitive;underscores (_) within keywords are ignored. Most strings are not case sensitive, andSPACEs and underscores in most strings are ignored. All strings must appear withindouble quotation marks.

The Option keyword provides free-form data to server components and is followedby the name of the option and optionally by a value. All Option values must beenclosed within double quotation marks.

Boolean Options take a value of TRUE (1, on, true, yes) or FALSE (0, off, false,no); no value is the same as TRUE. You can prepend No to the name of a BooleanOption to reverse the sense of the Option.

The following sections can appear in an xorg.conf file:

000.book Page 82 Friday, April 4, 2008 9:22 AM

The X Window System 83

ServerFlags Global Options (optional)ServerLayout Binds Screen(s) and InputDevice(s)Files Locations of configuration filesModule Modules to be loaded (optional)InputDevice Keyboard(s) and pointer(s)Monitor Monitor (optional)Device Video card(s)Screen Binds device(s) and monitor(s)VideoAdaptor Configures the Xv extension (optional)Modes Video modes (optional)DRI Direct Rendering Infrastructure (optional)Vendor Vendor-specific information (optional)

This chapter covers the sections you are most likely to need to work with: Server-Layout, InputDevice, Monitor, Device, and Screen.

ServerLayout Section

The ServerLayout section appears first in some xorg.conf files because it summarizesthe other sections that are used to specify the server. The following ServerLayout sec-tion names the server single head configuration and specifies that the server com-prises the sections named Screen0, Mouse0, Keyboard0, and DevInputMice.

The term core in this file means primary; there must be exactly one CoreKeyboardand one CorePointer. The AlwaysCore argument indicates that the device reportscore events and is used here to allow a non-USB mouse and a USB mouse to work atthe same time. The result is that you can use either type of mouse interchangeablywithout modifying the xorg.conf file:

Section "ServerLayout" Identifier "single head configuration" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "DevInputMice" "AlwaysCore"EndSection

Refer to the following sections for explanations of the sections specified in ServerLayout.

InputDevice Section

There must be at least two InputDevice sections: one specifying the keyboard andone specifying the pointer (usually a mouse). An InputDevice section has the follow-ing format:

Section "InputDevice" Identifier "id_name" Driver "drv_name" options ...EndSection

000.book Page 83 Friday, April 4, 2008 9:22 AM

84 Chapter 3 Step-by-Step Installation

where id_name is a unique name for the device and drv_name is the driver to usefor the device, typically keyboard or mouse. The system-config-display utility typi-cally creates three InputDevice sections.

The following section defines a keyboard device named Keyboard0 that uses thekeyboard driver. The keyboard model is a 105-key PC keyboard. You can changepc105 to microsoft if you are using a U.S. Microsoft Natural keyboard, althoughthe differences are minimal. The us+inet layout works similarly to the us layout andenables many multimedia keys on laptops and fancy keyboards.

Section "InputDevice" Identifier "Keyboard0" Driver "keyboard" Option "XkbModel" "pc105" Option "XkbLayout" "us+inet"EndSection

To change the language the keyboard supports, change the argument to theXkbLayout Option to, for example, fr for French.

The next InputDevice section defines a mouse named Mouse0 that uses the mousedriver. The Device Option specifies a PS2 device. The ZAxisMapping Option maps theZ axis (the mouse wheel) to virtual mouse buttons 4 and 5, which are used to scroll awindow. For more information refer to “Remapping Mouse Buttons” on page 252.When set to YES, the Emulate3Buttons Option enables the user of a two-buttonmouse to emulate a three-button mouse by pressing the two buttons simultaneously.

Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/psaux" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "no"EndSection

The next InputDevice section is similar to the previous one except that the DeviceOption specifies a USB mouse. See “ServerLayout Section” on page 83 for a discus-sion of this option.

Section "InputDevice"# If the normal CorePointer mouse is not a USB mouse then# this input device can be used in AlwaysCore mode to let you# also use USB mice at the same time. Identifier "DevInputMice" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "no"EndSection

000.book Page 84 Friday, April 4, 2008 9:22 AM

The X Window System 85

Monitor Section

The xorg.conf file frequently does not include a Monitor section because this sec-tion is required only for older and nonstandard displays. Typically Fedora/RHELdetermines the characteristics of a monitor using the DDC (Display Data Channel)and EDID (Extended Display Identification Data).

The easiest way to set up this section is to use the system-config-display utility, whicheither determines the type of monitor automatically by probing or allows you toselect from a list of monitors.

The following section defines a monitor named Monitor0. The VendorName andModelName are for reference only and do not affect the way the system works.The optional DisplaySize specifies the height and width of the screen in millime-ters, allowing X to calculate the DPI of the monitor. HorizSync and VertRefreshspecify ranges of horizontal sync frequencies and vertical refresh frequencies forthe monitor; these values are available from the manufacturer. The dpms Optionspecifies that the monitor complies with DPMS (i.e., has energy-saving features;page 1056).

Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Dell D1028L" DisplaySize 360 290 HorizSync 31.0 - 70.0 VertRefresh 50.0 - 120.0 Option "dpms"EndSection

A Monitor section may mention DDC; a monitor can use DDC to inform a videocard about its properties. If you omit or comment out the HorizSync and VertRefreshlines, X uses DDC probing to determine the proper values.

Device Section

The xorg.conf file must have at least one Device section to specify the type of videocard in the system. The VendorName and BoardName are for reference only and donot affect the way the system works. The easiest way to set up this section is to usethe system-config-display utility, which usually determines the type of video card byprobing.

Do not guess at values for HorizSync or VertRefresh

caution If you configure the Monitor section manually, do not guess at the scan rates (HorizSync andVertRefresh); on older monitors, you can destroy the hardware by choosing scan rates that aretoo high.

000.book Page 85 Friday, April 4, 2008 9:22 AM

86 Chapter 3 Step-by-Step Installation

The following Device section specifies that Videocard0 uses the nv driver andlocates it on the PCI bus (it may be either a PCI or AGP card):

Section "Device" Identifier "Videocard0" Driver "nv" VendorName "Videocard vendor" BoardName "NVIDIA GeForce4 (generic)" BusID "PCI:3:0:0"EndSection

Screen Section

The xorg.conf file must contain at least one Screen section. This section binds avideo card specified in the Device section to a display specified in the Monitorsection.

The following Screen section specifies that Screen0 comprises Videocard0 andMonitor0, both defined elsewhere in the file. The DefaultDepth entry specifies thedefault color depth (page 1051), which the Display subsection can override.

Each Screen section must have at least one Display subsection. The subsection in thefollowing example specifies a color Depth and three Modes. The Modes specify thescreen resolutions in units of dots per inch (dpi). The first Mode is the default; youcan switch between Modes while X is running by pressing CONTROL-ALT-KEYPAD+ orCONTROL-ALT-KEYPAD–. You must use the plus or minus on the numeric keypad when giv-ing these commands. X ignores invalid Modes.

Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1024x768" "800x600" "640x480" EndSubSectionEndSection

If you omit or comment out the Depth and Modes lines, X uses DDC probing todetermine the optimal values.

Multiple Monitors

X has supported multiple screens for a long time. X.org supports multimonitorconfigurations using either two graphics cards or a dual-head card. Both setups areusually configured the same way because the drivers for dual-head cards provide asecondary virtual device.

Traditionally each screen in X is treated as a single entity. That is, each windowmust be on one screen or another. More recently the Xinerama extension allowswindows to be split across two or more monitors. This extension is supported by

000.book Page 86 Friday, April 4, 2008 9:22 AM

The X Window System 87

X.org and works with most video drivers. When using Xinerama, you must set allscreens to the same color depth.

For each screen, you must define Device, Monitor, and Screen sections in thexorg.conf file. These sections are exactly the same as for a single-screen configura-tion, but each screen must have a unique identifier. If you are using a dual-headcard, the Device section for the second head is likely to require a BusID value toenable the driver to determine that you are not referring to the primary display.

The following section identifies the two heads on an ATI Radeon 8500 card. Forother dual-head cards, consult the documentation provided with the driver (forexample, give the command man mga to display information on the mga driver):

Section "Device" Identifier "Videocard0" Driver "radeon" VendorName "ATI" BoardName "Radeon 8500"EndSectionSection "Device" Identifier "Videocard1" Driver "radeon" VendorName "ATI" BoardName "Radeon 8500" BusID "PCI:1:5:0"EndSection

Once you have defined the screens, use the ServerLayout section to tell X wherethey are in relation to each other. Each screen is defined in the following form:

Screen [ScreenNumber] "Identifier" Position

The ScreenNumber is optional. If it is omitted, X numbers screens in the order theyare specified, starting with 0. The Identifier is the same Identifier used in the Screensections. The Position can be either absolute or relative. The easiest way to definescreen positions is to give one screen an absolute position, usually with the coordi-nates of the origin, and then to use the LeftOf, RightOf, Above, and Below keywordsto indicate the positions of the other screens.

Section "ServerLayout" Identifier "Multihead layout" Screen 0 "Screen0" LeftOf "Screen1" Screen 1 "Screen1" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "DevInputMice" "AlwaysCore" Option "Xinerama" "on" Option "Clone" "off"EndSection

By default, Xinerama causes multiple screens to act as though they were a singlescreen. Clone causes each of the screens to display the same image.

000.book Page 87 Friday, April 4, 2008 9:22 AM

88 Chapter 3 Step-by-Step Installation

gdm: Displays a Graphical Login

Traditionally users logged in on a textual terminal and then started the X server.Today most systems provide a graphical login. Fedora/RHEL uses the GNOME dis-play manager (gdm) to provide this functionality, even if you are bringing up a KDEdesktop.

Configuring gdmThe gdmsetup utility configures the login presented by gdm by editing the heavilycommented /etc/gdm/custom.conf file. By default, root can log in both locally andremotely. It is a good idea to disable remote root logins because, when a user logs inremotely using gdm, the password is sent in cleartext across the network. FromGNOME, you can select System: Administration Login Window to configure gdm.

Using kdmThe kdm utility is the KDE equivalent of gdm. There is no benefit in using kdm inplace of gdm: Both perform the same function. Using gdm does not force you to useGNOME.

The configuration file for kdm, /etc/kde3/kdm/kdmrc, is heavily commented. Youcan edit the kdm configuration using the KDE control panel, but doing so removesthe comments from the file.

More Information

Web X.org: X.org, freedesktop.orgX.org documentation: ftp.x.org/pub

Chapter Summary

Most installations of Fedora/RHEL begin by booting from the Live CD or theInstall DVD. When the system boots from the CD/DVD, it displays a message say-ing when it will boot automatically. During the time it displays this message, youcan give various commands and then have the system continue booting.

The program that installs Fedora/RHEL is named Anaconda. Anaconda identifiesthe hardware, builds the filesystems, and installs or upgrades the Fedora/RHEL oper-ating system. It can run in textual or graphical (default) interactive mode or in batchmode using Kickstart. Anaconda does not write to the hard disk until it displays theBegin Installation screen. Until it displays this screen, you can press CONTROL-ALT-DEL toabort the installation without making any changes to the hard disk.

The Disk Druid graphical disk-partitioning program can add and delete partitionsand logical volumes (LVs) on a hard disk during installation. The gparted and partedutilities report on and manipulate hard disk partitions before or after installation.The system-config-lvm utility works with logical volumes after installation.

000.book Page 88 Friday, April 4, 2008 9:22 AM

Advanced Exercises 89

A dual-boot system can boot one of two operating systems, frequently Windowsand Linux. The biggest task in setting up a dual-boot system, assuming you want toadd Linux to a Windows system, is finding enough disk space to hold Linux.

Fedora/RHEL uses the X.org X Window System version X11R7.2. The file named/etc/X11/xorg.conf configures the X server, setting up the monitor, mouse, andgraphics card. The system-config-display utility is a graphical editor for this file.

Fedora/RHEL uses the GNOME display manager (gdm) to provide a graphicallogin, even if you are using a KDE desktop. The gdmsetup utility configures thelogin presented by gdm by editing the /etc/gdm/custom.conf file.

Exercises

1. What is the difference between Xinerama and traditional multimonitor X11?

2. Which boot parameter would you use to begin an FTP installation?

3. Describe the Anaconda installer.

4. Where on the disk should you put your /boot partition or the root (/) partition if you do not use a /boot partition?

5. If the graphical installer does not work, what three things should you try?

6. When should you specify an ext2 filesystem instead of ext3?

7. Describe Disk Druid.

Advanced Exercises

8. When does a Fedora/RHEL system start X by default?

9. If you do not install grub on the master boot record of the hard disk, how can you boot Linux?

10. Why would you place /var at the beginning of the disk?

11. Assume you have configured four screens, screen0 through screen3. How would you instruct X.org that your screen layout was a T shape, with the first screen at the bottom and the other three screens in a row above it?

000.book Page 89 Friday, April 4, 2008 9:22 AM

10911091

Index

Note: Only variables that must always appear with a leading dollar sign are indexed with a leadingdollar sign. Other variables are indexed without a leading dollar sign.

Symbols

! Boolean operator, 313, 970, 974

! variable, 321!! to reexecute the previous event,

321!$ last word of the previous

event, 323# comment, 289, 871# prompt, 405# variable, 947#! to choose a script shell, 288#define C preprocessor directive,

859, 860#include C preprocessor

directive, 861$ in regular expressions, 996$ in variable name, 301$! variable, 946$# variable, 931$$ variable, 933, 945$(...). See Command,

substitution$* variable, 948$? variable, 946

$@ variable, 919, 948${}, expand variable, 951$0 variable, 947% job number, 232, 295& background, 231, 292, 293,

294, 316, 946, 1046& bitwise operator, 970, 973& in replacement string, 999,

1002&& Boolean operator, 313, 506,

967, 971, 972, 974((...)). See Arithmetic evaluation() command grouping, 293() in shell functions, 336

* in regular expressions, 996

* special character, 234

*/ C comment, 859+ in full regular expressions,

1000. (dot) builtin, 283, 337, 957,

965. directory, 187, 234, 474. in regular expressions, 995./ to execute a file in the working

directory, 287, 307.. directory, 187, 234, 474

.a filename extension, 863, 866

.autofsck file, 485

.bash_history file, 316

.bash_login file, 281

.bash_logout file, 281

.bash_profile file, 281, 317, 462

.bashrc file, 184, 281, 462

.bmp filename extension, 181

.bz2 filename extension, 152, 181

.C filename extension, 871

.c filename extension, 181, 859, 865, 871

.c++ filename extension, 871

.cc filename extension, 871

.conf filename extension, 435

.config file, 541

.cpp filename extension, 871

.cshrc file, 1053

.cxx filename extension, 871

.db filename extension, 759, 761

.f filename extension, 871

.forward file, 646, 652

.gif filename extension, 181

.gz filename extension, 153, 181

.h filename extension, 861, 871

000.book Page 1091 Friday, April 4, 2008 9:22 AM

1092 Index

.htaccess file, 820, 850

.htm filename extension, 824

.html filename extension, 181, 824

.htpasswd file, 850

.inputrc file, 329

.jpeg filename extension, 181, 1065

.jpg filename extension, 181, 1065

.l filename extension, 871

.ldif filename extension, 683

.login file, 1067

.logout file, 1067

.m filename extension, 871

.netrc file, 619

.o filename extension, 181, 863, 865, 871

.pdf filename extension, 181

.pgpkey file, 161

.php filename extension, 824

.plan file, 160

.ppd filename extension, 526

.profile file, 281, 462, 1075

.project file, 161

.ps filename extension, 181

.repo filename extension, 491

.rhosts file, 377, 1023

.rpmnew filename extension, 28

.s filename extension, 865, 871

.sh filename extension, 871

.shtml filename extension, 824

.so filename extension, 863, 866

.ssh directory, 593

.tar.bz2 filename extension, 154

.tar.gz filename extension, 154

.tar.Z filename extension, 154, 181

.tbz filename extension, 154

.tgz filename extension, 181

.tif filename extension, 181, 1086

.tiff filename extension, 181, 1086

.toprc file, 563

.txt filename extension, 181, 235

.tz filename extension, 154

.var filename extension, 824

.y filename extension, 871

.Z filename extension, 153, 181/ (root) directory, 32/ directory (root), 180, 188

/* C comment, 859/bin, 188

false file, 469/boot, 188

grub/grub.conf file, 537, 545location, 74partition, 32, 544

/dev, 189, 220, 1068nst0 file, 558null file, 227, 462, 464, 570,

923, 962pts file, 463random file, 463rmt/0 file, 557special files, 475st0 file, 558tty file, 958urandom file, 463zero file, 464

/dev directory, 889/etc, 189

aliases file, 464, 567, 645anacrontab file, 559at.allow file, 464at.deny file, 464auto_master file, 715bashrc file, 281, 425cron.* directories, 559cron.allow file, 464cron.d directory, 389cron.deny file, 464crontab file, 389cups directory, 529defaultrouter file, 390dhclient.conf file, 446dhcpd.conf file, 447dovecot.conf file, 659dumpdates file, 464, 557exports file, 707, 708, 709fstab file, 388, 465, 483, 701,

705group file, 425, 465, 552, 1060grub.conf file, 537, 545hosts file, 372, 387, 466, 583,

667hosts.allow file, 438, 439, 441hosts.deny file, 438, 439, 441hosts.equiv file, 376, 1023httpd directory, 819inittab file, 248, 418, 426, 466,

566issue file, 128, 425

login.defs file, 468, 551logrotate.conf file, 571logrotate.d directory, 571mail directory, 647, 650motd file, 128, 425, 467, 469,

564mtab file, 467named.conf file, 756, 763, 764,

777, 782netgroup file, 467nologin.txt file, 456, 469nsswitch.conf file, 387, 425,

449, 468, 668, 755ntp.conf file, 389opt directory, 189pam.conf file, 457pam.d directory, 452, 455,

457, 468passwd file, 305, 424, 468,

565, 667, 919, 920, 1060, 1088

printcap file, 469profile file, 281, 412, 425, 469protocols file, 469, 799rc.d

directory hierarchy, 422, 469

init.dabout, 419independent services, 421init scripts, 418kudzu file, 432

rc file, 418rc.local file, 420rc.sysinit file, 418, 485rcn.d directory, 418

resolv.conf file, 469, 583, 757rpc file, 392, 470rsyslog.conf file, 390, 574securetty file, 407security/access.conf file, 407selinux/config file, 415services file, 388, 392, 470shadow file, 424, 470share/magic file, 473shells file, 432skel directory, 551ssh directory, 593sudoers file, 406sysconfig, 471

httpd file, 814, 841hwconf file, 432

000.book Page 1092 Friday, April 4, 2008 9:22 AM

Index 1093

iptables file, 793, 803, 808iptables-config file, 793named file, 756, 775network file, 671, 676rsyslog file, 575selinux file, 415yppasswdd file, 682

sysctl.conf file, 537termcap file, 1085vsftpd

chroot_list file, 636ftpusers file, 636user_list file, 636

X11, 80xorg.conf file, 80

xinetd.conf file, 421, 439xinetd.d directory, 421, 439yp.conf file, 672ypserv.conf file, 676yum.conf file, 490yum.repos.d directory, 490,

491/home directory, 189/home partition, 32/lib, 189

gcc and, 864modules directory, 189, 544security directory, 452, 455

/lost+found directory, 429/mnt directory, 189/opt directory, 33, 189, 504/proc

contents, 189filesystem, 471, 480fs/nfs file, 708mounts file, 467sys file, 538

/root, 189anaconda-ks.cfg file, 60install.log file, 60

/sbin, 189Superuser commands, 405

/sys directory, 189/tmp directory, 189, 571, 933/usr, 189

bin directory, 189doc directory, 121, 190games directory, 189include, 189

C preprocessor, 861info directory, 190

lib, 189directory, 867gcc, 864shared libraries, 866terminfo directory, 1085

local, 189, 504local partition, 33man directory, 190partition, 33pub/ascii file, 1045sbin, 190

daemons, 388Superuser commands, 405

share, 190magic file, 1068

src directory, 190, 538/var, 190

ftp directory, 625lib/nfs/xtab file, 708, 713log, 190, 473, 1004

disk usage, 571lastlog file, 190maillog file, 569messages file, 190, 453, 473,

566, 569, 570, 775, 1004

secure file, 453, 473, 1004vsftpd.log file, 636wtmp file, 190, 572

log directory, 1024mail directory, 571named directory, 764, 770partition, 32spool, 1004

disk usage, 571mail directory, 307mqueue file, 644

tmp directory, 571www

Apache files, 819html directory, 814, 816,

819: (null) builtin, 952, 961, 965:= assign default value, 951:= substitute default value, 951:? display error message, 952; command separator, 290< redirect standard input, 224,

284, 1044<& duplicate input file

descriptor, 938

<< Here document, 935, 1044> redirect standard output, 222,

225, 284, 285, 1044>& duplicate output file

descriptor, 285, 938>> append standard output, 226,

1044? in full regular expressions,

1000? special character, 233@ in a network address, 374,

375, 376@ variable, 919@ with email, 376[] character class, 235, 995, 1050[[...]] builtin, 968. See also

Conditional expression\ escape character, 138, 291, 301\( in regular expressions, 998\) in regular expressions, 998\n in replacement strings, 1002^ bitwise operator, 970^ in regular expressions, 996^ quick substitution character,

324{ expansion, 344{ in a shell function, 336| bitwise operator, 970| Boolean operator, 1000| in full regular expressions, 1000| pipe, 228, 285, 292|| Boolean operator, 313, 967,

971, 972, 973} expansion, 344} in a shell function, 336~ (tilde) expansion, 183, 305,

345~ home directory, 305. See also

Home directory~ in pathnames, 183‘ ...‘. See Command,

substitution

Numerics

0< redirect standard input, 2841> redirect standard output, 284100BaseT cable, 36110Base2 cable, 36110BaseT cable, 3612> redirect standard error, 2843-DES encryption, 1017802.11, 1044

000.book Page 1093 Friday, April 4, 2008 9:22 AM

1094 Index

A

–a Boolean operator, 911, 967a filename extension, 863, 866a.out file, 864Abort execution, 130Absolute pathname, 183, 218,

311, 1044accept utility, 529Access, 1044Access Control List. See ACLaccess file, 650Access permission, 194, 288,

1044change using chmod, 194defined, 193directory, 196display using ls, 193execute, 193, 287group, 193other, 193owner, 193read, 193write, 193

access.conf file, 407Accessibility, 111Account, FTP, 468accton utility, 1024ACL, 197, 1019, 1041, 1044

access rules, 198default rules, 201effective rights mask, 200

acpi boot parameter, 65acpid daemon, 388Active View Indicator,

Konqueror, 270Active window, 131, 1044Add

device, 432software package, 489, 502user, 550, 551

add command (cvs), 893addbanner shell script, 961Address

IP, 1064class, 368representation, 367

MAC, 448, 1067mask, 371, 1044network, 374, 1071space, private, 582, 1075

adduser utility, 551adfs filesystem, 478

Administrator, system. See System, administrator

Advanced Encryption Standard. See AES encryption

AES encryption, 1017affs filesystem, 478AIDE utility, 413, 1023, 1028AIM, 358Algorithm, 975Alias, 1044

bash, 332double versus single quotation

marks, 333email, 645quotation marks, 333recursion, 332recursive plunge, 335single versus double quotation

marks, 333alias builtin, 332aliases file, 464, 567, 645, 652Alphanumeric character, 1044amanda utility, 554Ambiguous file reference, 233,

1044American National Standards

Institute, 9Anaconda, 53anaconda.cfg file, 78anaconda-ks.cfg file, 60anacron utility, 559anacrontab file, 559AND bitwise operator, 370, 371AND Boolean operator, 911,

967Andreessen, Marc, 395Angle bracket, 1044ANI, 1026Animate, 1044Anonymous FTP, 394, 619ANSI, 9ANSI C, 9ansi terminal name, 1011Answers to questions, finding,

394Antialiasing, 1045, 1084Apache, 811

.htaccess context, 824

.htaccess file, 820, 850

.htpasswd file, 850<Directory> container, 825,

842<Files> container, 825

<IfModule> container, 826, 841

<Limit> container, 826<LimitExcept> container, 827<Location> container, 827<LocationMatch> container,

828<VirtualHost> container, 828,

844AddHandler directive, 832Alias directive, 832Allow directive, 838AllowOverride directive, 839authentication modules, 850CGI, 847, 851Common Gateway Interface.

See Apache, CGIconfiguration directives. See

Apache, directivescontainers, 825content, 812, 814, 816contexts, 824Deny directive, 839directives, 820

control content, 832control processes, 828security, 838

directory context, 824directory listings, 844DirectoryIndex directive, 823,

843document root, 814DocumentRoot directive, 822,

842DSO, 812, 846dynamic shared objects, 812,

846error codes, 852ErrorDocument directive, 833ErrorLog directive, 831Fedora test page, 842files, where to find, 818filesystem layout, 818group apache, 814Group directive, 836HostnameLookups directive,

830httpd daemon and, 814httpd directory, 819httpd.conf file, 815, 820, 840HTTPS protocol, 847Include directive, 836, 842index.htm file, 824

000.book Page 1094 Friday, April 4, 2008 9:22 AM

Index 1095

index.html file, 824index.php file, 824index.shtml file, 824indexing, 844IndexOptions directive, 833JumpStart

Apache, getting up and running, 814

Apache, setting up with system-config-httpd, 816

Listen directive, 821, 841LoadModule directive, 837,

842log, 819LogLevel directive, 831logresolve utility, 830MaxClients directive, 828MaxRequestsPerChild

directive, 829MaxSpareServers directive,

829MinSpareServers directive, 829mod_perl module, 851mod_python module, 851mod_ssl module, 847modules, 812, 846more information, 813MRTG, 852multiviews, 844Options directive, 837Order directive, 840pathname, 820Perl, 851PHP, 851prerequisites, 813privileged port, 814process, defined, 814public_html directory, 823Python, 851redirect, 843RHEL test page, 842root permission, 814ScriptAlias directive, 838scripting modules, 851self-signed certificate, 848server config context, 824server, defined, 814ServerAdmin directive, 815,

821, 842ServerName directive, 815,

822, 842ServerRoot directive, 835, 841ServerSignature directive, 836

ServerTokens directive, 835, 841

Software Foundation, 811special directives. See Apache,

containersSSL, 847StartServers directive, 830system-config-httpd utility, 816terminology, 814test page, 842Testing, 815Timeout directive, 830troubleshooting, 845UseCanonicalName directive,

831, 843User directive, 838UserDir directive, 823Users publishing content, 823virtual host context, 824virtual hosts, 844webalizer utility, 851www directory, 819

API, 1045apic boot parameter, 65apm boot parameter, 65apm utility, 428apmd daemon, 388Append, 1045Append standard output, 226Applet, 97, 1045AppleTalk, 371Application

programmer, 889X Window System, 247

apropos utility, 63, 116, 157, 1005

Archive, 1045library, using, 866pack using tar, 153shell, 936unpack using tar, 153

Argument, 185, 214, 1045command line, 948display, 948testing, 906

Arithmeticbash, 966expansion, 346expression, 1045

Arithmetic evaluation, 966example, 921, 944, 967

Array, 1045ASCII, 1045

ascii file, 1045ASCII terminal, 1045ASP, 1045aspell utility, 921, 923Assembly language, 9, 863Asterisk special character, 996Asymmetric encryption. See

Public key encryptionAsynchronous communication,

476Asynchronous event, 1046at utility, 388, 464, 559AT&T Bell Laboratories, 5, 280at.allow file, 464at.deny file, 464atd daemon, 388Athena, Project, 246ATM link, 360Attachment, 1046Attribute, LDAP, 683authconfig utility, 430Authenticated relaying, email,

662Authentication, 1046

Apache, 850database, 1025OpenSSH, 592, 594, 596user, 424

authorized_keys file, 593auto_master file, 715autofs filesystem, 478, 714Automatic

mounting, 388, 1046number identification, 1026

automount daemon, 388, 715, 716

automount utility, 714Avoided, 1046

B

B language, 9Back door, 1046Back tick, 349, 1051Background

command grouping, 293defined, 231desktop, 104foreground, versus, 231job control, 13, 294PID stored in $!, 946process, 316, 1046running a command in, 231symbol (&), 292

000.book Page 1095 Friday, April 4, 2008 9:22 AM

1096 Index

BACKSLASH escape character, 138, 291, 301

BACKSLASH in replacement strings, 999

BACKSPACE key, 129Backup

active filesystem, 553amanda, 554cpio utility, 555dump level, 557failing to perform, 564file, 552, 557full, 553incremental, 553media, 553offsite, 553policy, 553simple, 556tar utility, 554utilities, 554

badtabs.c program, 877Basename, 183, 1047basename utility, 931, 932, 961bash, 1048

<& duplicate input file descriptor, 938

>& duplicate output file descriptor, 938

alias, 332arguments, 948arithmetic evaluation, 966

example, 921, 944, 967operators, 969

arithmetic expansion, 346operators, 969

array variables, 940attribute

array, 304export, 304function, 304integer, 304, 305readonly, 303, 304

background, 280builtin

exec, 937getopts, 962typeset, 944

close file, 938command

process, 342substitution, 348

command line, order of expansion, 301

conditional expression, 967example, 939, 963

control structure. See Control, structure

directory stack manipulation, 296

editing previous commands, 318, 319

emacs command line editor, 327

event number, 317expand null variable, 951expand unset variable, 951expression, 969features, 338file descriptor, 937globbing, 349history mechanism, 316, 320makepath shell script, 975menu, 933open file, 937operator, 969

bitwise, 973remainder, 972short-circuiting, 972ternary, 973

options. See bash, featuresoverlay, 290pathname completion, 328process substitution, 351program structures, 974programming, 974prompt, 307PS3 prompt, 934quick substitution, 325quiz shell script, 978quotation mark removal, 343recursion, 975redirection operators, 286reexecuting events, 318, 319REPLY keyword variable, 934signal names, 959, 962special characters, 138standard error. See Standard,

errorstandard input. See Standard,

inputstandard output. See Standard,

outputstartup files, 281string pattern matching, 968substitution, quick, 325symbolic link, 207

ternary operator, 971tilde substitution, 345variable

See also Variablearray, 940assign default value, 951BASH_ENV, 282COLUMNS, 934display error message, 952expansion, 951LINES, 934modifier, 951OPTARG, 963OPTIND, 963PS3, 934REPLY, 934, 954substitute default value, 951

vi command line editor, 326vim command line editor, 326–x option, 916

BASH_ENV variable, 282bashrc file, 425Baud, 1047Baud rate, 1047BCPL language, 9Bell Laboratories. See AT&T

Bell LaboratoriesBerkeley

DB, 682Internet Name Domain. See

DNSUNIX, 6, 14, 1047

Berners-Lee, Tim, 395bg builtin, 231, 295, 965bin directory, 306Binary file, 287Binary files, fixing broken, 867BIND, 1047. See also DNSbind builtin, 330Binding, key, 1065BIOS, 1047

boot from CD, 26security, 569setup, 26

birthday shell script, 935bison utility, 16Bit, 1047

bucket, 227, 462depth, 1047

Bit-mapped display, 1047BitTorrent, 498

bittorrent-curses utility, 499

000.book Page 1096 Friday, April 4, 2008 9:22 AM

Index 1097

downloading from the command line, 499

manners, 499obtaining Fedora using, 41peer, 499prerequisites, 499seed, 499swarm, 499torrent, 499torrent information,

displaying, 500torrentinfo-console utility, 500tracker, 499

bittorrent-curses utility, 499Bitwise operator

&, 970, 973^, 970|, 970AND, 370, 371

Blank character, 138, 301, 1047, 1082

Block, 1047device, 477, 1047number, 1047special file, 1047

Blocking factor, 1048Blowfish encryption, 1017bmp filename extension, 181Bookmark

Konqueror, 266toolbar, Konqueror, 268

Boolean, 1048Boolean operator, 972

!, 313, 970, 974&&, 313, 506, 967, 971, 972,

974|, 1000||, 313, 967, 971, 972, 973–a, 911, 967NOT, 974–o, 967

Boot, 1048bootstrap, 1048Linux, 545loader, 1048loader, grub, 545netboot, 1070options, 63options, kernel, 537parameter

modifying, 63quiet, 50splash, 50

reconfigure, 432system, the, 48, 417

boot partition, 32, 544Bootstrap, 1048Bottleneck, network, 381Bourne, Steve, 280, 1048Bourne Shell (original), 280. See

also shBrace, 1048

around a variable, 302expansion, 344shell functions, 336

Bracket, 1048character class, 995filename expansion, 235

Branch, 1048break control structure, 926, 965Bridge, network, 1048Bringing the system down, 426Broadcast, 1048

about, 370address, 1048network, 360, 1048packet, 367unicast, versus, 367

Browser, 395Firefox, 100Konqueror, 106Lynx (text only), 396Mosaic, 395Mozilla, 393, 395, 396, 507,

1076BSD. See Berkeley, UNIXBuffer, 1049

disk, 427primary, 102selection, 102

Bug, 506, 1049BugSplat, 507Bugtraq, 1024Bugzilla, 507defect-tracking system, 507system, 506

Builtin, 237, 906, 952, 1049. (dot), 283, 957, 965: (null), 952, 961, 965[[...]], 968alias, 332bash, list of, 965bg, 231, 295, 965bind, 330cd, 186, 207, 293, 305, 311,

965

command, 1049command, editing using fc, 320declare, 303, 304dirs, 296echo, 149, 234, 301, 930, 945,

953, 961, 965eval, 337, 965exec, 286, 937, 956, 965execution of, 316exit, 125, 946, 961, 965export, 304, 305, 469, 942, 965fc, 318fg, 232, 295, 965getopts, 962, 965history, 316, 317jobs, 130, 232, 294, 296, 965kill, 130, 232, 252, 408, 409,

410, 567, 933, 960, 962, 965

let, 347, 966locale, 312null, 961, 965popd, 298pushd, 297pwd, 182, 186, 965read, 923, 924, 929, 953, 954,

966readonly, 303, 304, 305, 966set, 304, 913, 915, 916, 950,

951, 966shift, 949, 964, 966source, 283test, 905, 906, 907, 911, 915,

918, 920, 966times, 966tput, 925trap, 925, 959, 966type, 953, 966typeset, 944ulimit, 881umask, 433, 469unalias, 332, 335unset, 303, 336, 966utility, versus, 906wait, 966

bundle shell script, 936bunzip2 utility, 152, 156Burning installation CD/DVD,

41Byte, 1049bz2 filename extension, 152, 181bzcat utility, 153bzip2 utility, 152, 156, 556bzip2recover utility, 153

000.book Page 1097 Friday, April 4, 2008 9:22 AM

1098 Index

C

C. See C programming languageC filename extension, 871c filename extension, 181, 859,

865, 871C programming language, 1049

#include preprocessor directive, 861

a.out file, 864about, 8, 9archived library, 866assembler, 862badtabs.c program, 877comments, 859compiler

phase, 862using, 862warning options, 878

debugging, 876function prototype, 861functions, 858getchar function, 861header file, 861, 862include file, 861, 862library, 858

getpwnam() function, 669getpwuid() function, 669libc.so, 863libm.so, 863libwrap.a, 439, 441

link editor, 862macro expansion, 860main function, 862object file, 863, 864optimizer, 864portability, 9preprocessor, 859, 862preprocessor directives, 859programming, 858putchar function, 861sample program, 859shared library, 866statically linked library, 866stdio.h header file, 861symbolic debugger, 880tabs.c program, 859

c++ filename extension, 871C++ programming language, 9C89 programming language, 9Cable

10Base2, 36110BaseT, 361

Category 5, 361Category 5e, 361Category 6, 359, 361Category 7, 359coaxial, 361fiberoptic, 361glass, 361modem, 1049thicknet, 361thinnet, 361twisted pair, 361unshielded twisted pair, 361UTP, 361

Cache, 1049Cache, DNS. See DNS, cacheCaching-only server. See DNS,

cacheCall by value, 942Caller ID, 1026Calling environment, 1049Calling program, name of, 947cancel utility, 523Caret in regular expressions, 996Cascading windows, 1049case control structure, 927Case-sensitive, 1049

domain name, not, 386filename, 181password, 128

cat utility, 139, 221, 223, 224, 284, 910

Category 5 cable, 361Category 5e cable, 361Category 6 cable, 359, 361Category 7 cable, 359Catenate, 139, 224, 1049cc filename extension, 871CD

download, burn, and install Fedora, 37

Live, 24rescue, 42

cd builtin, 186, 207, 293, 305, 311, 965

CDPATH variable, 311CERN, 395CERT, 1024, 1028CGI, 847Chain loading, 1050Change

access permission using chmod, 194

directories using cd, 186

filename using mv, 142password using passwd, 126

Characteralphanumeric, 1044class, 235, 1050device, 477, 1050escaping, 291list. See Character, classquoting, 291special file, 1050typeface, 17

Character-based, 1050Character-based terminal, 1050checkout command (cvs), 892,

896Checksum, 1050Child

directory, 179, 180process, 314, 316, 1050

chkargs shell script, 906, 908chkconfig utility, 422chkrootkit utility, 1028chmod utility, 194, 288chmod() system call, 889chown() system call, 889chroot jail

BIND, 774DNS, 774FTP, 628named daemon, 774running a service in, 444security considerations, 444setting up, 442using, 442vsftpd, 628

chroot_list file (vsftpd), 636chsh utility, 432CIDR, 371, 1050CIFS, 1050CIPE, 1051Cipher, 1051Ciphertext, 1014, 1051Clark, Jim, 395Class

character, 1050IP address, 368

Classless Inter-Domain Routing. See CIDR

Clear screen, 163clear utility, 432Cleartext, 1051CLI, 1051Click explained, 96

000.book Page 1098 Friday, April 4, 2008 9:22 AM

Index 1099

Click-to-focus, 131CLID, 1026Client, 1051Client, specifying, 435Client/server model, 247, 384,

386, 395, 441, 613, 667, 697

Clipboard, KDE, 275Clipboard, X Window System,

103Close files, bash, 938close() system call, 889CMOS setup, 26CN, LDAP, 683Coaxial cable, 361coda filesystem, 478Code, reentrant, 1077CODEC, 1051Collating sequence, machine,

1067Colon (:) builtin, 952Color

depth, 251, 1051quality, 1051window

GNOME, 264KDE, 274

COLUMNS variable, 934Combo box, 1051Comer, Doug, 4Command, 214, 1051

; separator, 290argument, 214builtin, 237, 316, 1049completion, 328control flow. See Control,

structurecontrol structure. See Control,

structureediting previous, 319execution of, 316export, 462grouping, 290, 293interpreter, 105mode, vim, 166name, 214NEWLINE separator, 290option, 215process, 342reexecuting previous, 319repeating, 131run remotely, ssh, 598separation, 290

separator, 291, 908substitution, 348, 915, 932,

1051summary, 965syntax, 214terminator, 291usage message, 214, 908, 914

Command line, 214, 1051argument, 214, 947editing, 326execution, 219expansion, 301, 343interface, 1051option, 215parse, 217, 342processing, 217, 301syntax, 214token, 214, 342whitespace, 291word, 214, 342

command_menu shell script, 929Comments

C programs, 859makefile, 871shell scripts, 289

commit command (cvs), 893Common Name, LDAP, 683Common UNIX Printing System.

See CUPSCommunication

interprocess, 148, 476network, 374write, 162

comp.lang.c newsgroup, 393comp.os.linux.announce

newsgroup, 394comp.os.linux.answers

newsgroup, 413, 1007comp.os.linux.misc newsgroup,

393, 394, 413, 1007comp.os.linux.networking

newsgroup, 394comp.os.linux.security

newsgroup, 394comp.os.linux.setup newsgroup,

394comp.security.firewalls

newsgroup, 1023Compare files using diff, 147Compiling a C program, 862Compiz Fusion, 133Completion

command, 328pathname, 328

Readline Library, 328variable, 329

Component architecture, 1051Components, KDE, 254Compress

bunzip2, 156bzip2, 152, 156, 556bzip2recover, 153compress, 153, 181gzip, 153OpenSSH, 610uncompress, 181unzip, 153zip, 153

compress utility, 153, 181Computer Systems Research

Group, 6Computer, diskless, 1055Computing, distributed, 383,

1055Concatenate. See CatenateConcurrent Versions System. See

cvs commandCondition code. See Exit statusConditional expression, 967Conditional expression,

example, 939, 963conf filename extension, 435config file, 415, 601configs directory, 541Configure

and Build System, 504daemon, 422desktop window, 104monitor, 82Panel window, 113video card, 82

configure shell script, 505Connectionless, protocol, 1052Connection-oriented protocol,

366, 1052Console

single-user mode, 423system, 125terminal, 1052virtual, 125, 1088

consolehelper utility, 408, 427Content, Apache, 812Context menu, 102continue control structure, 926,

965

000.book Page 1099 Friday, April 4, 2008 9:22 AM

1100 Index

Controlbar, Nautilus, 258Center, KDE, 109character, 1052characters, printer, 930flow. See Control, structurejob, 231structure, 904, 1052

break, 926, 965case, 927continue, 926, 965do, 917, 918, 920, 924done, 917, 918, 920, 924elif, 911elif versus fi, 911else, 908esac, 927fi, 904, 908, 911fi versus elif, 911for, 917, 918, 961for...in, 917, 918if, 904, 908, 911if...then, 904if...then...elif, 911if...then...else, 908in, 917select, 933shell scripts, 287then, 904, 908, 911two-way branch, 908until, 924while, 920, 956, 961

CONTROL key, 17CONTROL-C key, 102, 130CONTROL-D key, 125, 222, 296CONTROL-H key, 129, 138, 169, 217CONTROL-L key, 163, 171CONTROL-M key, 138CONTROL-Q key, 128CONTROL-R key, 163CONTROL-U key, 129, 138, 169, 217CONTROL-V key, 102, 138CONTROL-W key, 129, 169, 217CONTROL-X key, 102, 129CONTROL-Z key, 231, 295Conventions

book, used in this, 16end line key, 17file naming, 235

Convert file to/from Windows format, 151

Cookie, 1052

Coordinated Universal Time. See UTC

Copybuffer, 102directory recursively using mv,

474directory, shell script, 293file using cp, 141, 192

Copyleft, 5Core

dump, 881memory, 881

core file, 570, 571, 881Correct typing mistakes, 129count shell script, 921cp utility, 141, 192, 293cp versus ln, 204cpdir shell script, 293cpio utility, 555, 556cpp filename extension, 871CPU, 1052CPU intensive processes, report

on, 562crack utility, 568Cracker, 1053Crash, 428, 1053Crash flag, 485creat() system call, 889Create

directory using mkdir, 185file using vim, 164file, null, 462

Creation date, file, display using ls, 193

cron directory, 389cron.* directories, 559cron.allow file, 464cron.d directory, 389cron.deny file, 464crond daemon, 389, 559crontab file, 389crontab utility, 464, 559Cryptography, 1053. See also

Encryptioncsh, 1049CSRG, 6CSS, 1049, 1053CUPS, 512

adding a printer, 527command line interface, 526configuring a printer, 524JumpStart, configuring a local

printer, 513

JumpStart, configuring a remote printer, 518

KDE printing manager, 531lpadmin utility, 527lpinfo utility, 526modifying a printer, 527more information, 513PPD files, 526prerequisites, 512print queue, 529printing from Windows, 532printing quotas, 529printing to Windows, 534sharing printers, 529Web interface, 524winprinter, 517

cups directory, 529cupsd.conf file, 529Current, 1053Current directory. See Working

directoryCursor, 1053custom.conf file, 88, 89Customize the desktop, 109Cut and paste, 102cut utility, 347cvs command

add, 893checkout, 892, 896commit, 893export, 895import, 895log, 890release, 895remove, 894rtag, 894update, 893

cvs utility, 890CVSROOT variable, 891cxx filename extension, 871Cycling, window, 102Cypher, 1051

D

Daemon, 1053acpid, 388apmd, 388atd, 388automount, 388, 715, 716configure, 422crond, 389, 559dhcpcd, 389

000.book Page 1100 Friday, April 4, 2008 9:22 AM

Index 1101

dhcpd, 389, 446, 447ftpd, 389gated, 390gateway, 390gpm, 389httpd, 389imapd. See Daemon, imap-

loginimap-login, 659in.fingerd, 375, 389inetd, 389ipop3d. See Daemon, pop3-

loginlockd, 389lpd, 389, 512messages, 473, 566, 570, 1024mountd, 389, 703name, 388named, 389, 758, 764network, 358, 388nfsd, 389, 713nmbd, 390, 720, 738, 739ntpd, 389pop3-login, 659portmap, 389, 392, 437postfix, 1020pppd, 389prefix

in., 388rpc., 388

printer, 389, 419procmail, 640protocol, 388rexecd, 390rhnsd, 508rlogind, 1024routed, 390routing, 390rquotad, 389rshd, 1024rsyslogd, 190, 390, 570, 574,

1024sendmail, 390, 464, 639, 640,

644, 646, 1020services, providing, 388smbd, 390, 720, 738spamd, 652, 655sshd, 388, 390, 603statd, 389Superserver. See Daemon,

xinetdtalkd, 390telnetd, 390, 1024

tftpd, 390timed, 390xinetd, 390, 421, 422, 439,

726ypbind, 673ypbind-mt, 673yppasswdd, 681ypxfrd, 680yum-updatesd, 496

DataEncryption Standard. See DES

encryptionsink, 227structure, 1054

Databaseauthentication, 1025Berkeley, 682dbm, 1054DNS, 385gdbm, 1054group, 1060hardware, 432hosts, 387hwconf, 432initializing, 63Linux Software Map, 1009locate, 63, 158magic number, 473ndbm, 1054NIS, 373, 387, 667, 1071passwd, 550, 1060, 1087,

1088printcap, 469RHN, 507rpm, 503search engine, 396services, 1074Sleepycat, 682SQL, 1082system services, 1062terminfo, 165whatis, 63, 158

Datagram, network, 359, 1054Dataless system, 699, 1054Date, display, 149date utility, 149, 227db filename extension, 759, 761dbm database, 1054DC, LDAP, 683ddd utility, 880, 886DDoS attack, 1054Debug, 1054Debugger, 876

ddd, 886graphical symbolic, 885option, 916shell script, 916symbolic, 880ups, 886xxgdb, 885

declare builtin, 303, 304Decorations, window, 133Decrement operator, 971Default, 1054defaultrouter file, 390Defect-tracking system, 507Delete

directory using rmdir, 190file using rm, 140key, 129line, 129link using rm, 208word, 129

Delete key, 129Delimiter, regular expression,

994Delta, SCCS, 1054Demand mounting, filesystem,

714Denial of Service. See DOS and

DDoSDependency line (make), 869depmod utility, 544Dereference, 1054DES encryption, 1017Descriptor, file, 284Descriptor, file, duplicate, 938Design, top-down, 980Desktop, 1054

appearance, 111background, 104CD, 24configure, window, 104customize, 109hovering, 98Icon context menu, 103icons, 103KDE, defined, 266launching applications, 99Main menu, 99manage, 1054manager, choosing, 96menu, 104

Icon context, 103Main, 99

panel, 97

000.book Page 1101 Friday, April 4, 2008 9:22 AM

1102 Index

Desktop, continuedPanel Icon menu, 98Panel menu, 112Post-it notes, 99theme, 96, 111toolbar, 102, 109tooltips, 98window, defined, 100

Detached process. See Background, process

dev directory, 475, 889, 1068devfs filesystem, 475Device, 1054

block, 477, 1047character, 477, 1050driver, 475, 477, 888, 1055file, 220, 1055file, export, 708filename, 1055independence, 13independent input and output,

13name, 558names, dynamic (udev), 475nonrewinding, 558null, 227number

major, 477, 1068minor, 477, 1069

physical, 1074raw, 478tape, 557tape, nonrewinding, 558

devpts filesystem, 478df utility, 699dhclient utility, 446dhclient.conf file, 446dhclient.leases file, 446DHCP, 445, 1055

client, 446how it works, 446MAC addresses, 448more information, 445prerequisites, client, 446prerequisites, server, 447protocol, 445resolv.conf file, and, 470server, 447static IP addresses, 448

dhcpcd daemon, 389dhcpd daemon, 389, 446, 447dhcpd.conf file, 447Die, process, 316

diff utility, 147, 598Diffie-Hellman encryption, 1016dig utility, 382, 754, 758, 776Digital

signature, 1016Signature Algorithm. See DSA

Directory, 11, 12, 139, 179, 475, 1055

., 187, 474

.., 187, 474

.ssh, 593/ (root), 32, 180, 188/bin, 188/boot, 32, 188/dev, 189, 220, 475, 889, 1068/etc, 189

cron.*, 559cron.d, 389cups, 529httpd, 819logrotate.d, 571mail, 647, 650opt, 189pam.d, 452, 455, 457, 468rc.d, 469

about, 422init.d, 419, 421rcn.d, 418

skel, 551ssh, 593sysconfig, 471X11, 80, 189X11/xorg.conf, 82xinetd.d, 421, 439yum.repos.d, 490, 491

/home, 32, 189/lib, 189

gcc, and, 864modules, 189, 544security, 452, 455

/lost+found, 429/mnt, 189/opt, 33, 189, 504/proc, 189/root, 189/sbin, 189

Superuser commands, 405/sbin,Superuser commands in,

405/sys, 189/tmp, 189, 571, 933/usr, 33, 189

bin, 189doc, 121, 190

games, 189include, 189info, 190lib, 189

gcc, and, 864linking, and, 867shared, 866terminfo, 1085

local, 33man, 190sbin, 388, 405share, 190src, 190, 538

/var, 32, 190ftp, 625log, 190, 473, 571, 1004,

1024mail, 571named, 764, 770spool

disk usage, 571problem solving, 1004

tmp, 571www

Apache files, 819html, 814, 816, 819

~ (home). See Home directoryaccess permission, 196bin, 189, 306boot, 32, 544change using cd, 186child, 179, 180compact, 572configs, 541copy recursively using mv, 474copy, shell script, 293create using mkdir, 185cron, 389cron.*, 559cron.d, 389cups, 529current. See Directory,

workingdelete using rmdir, 190dev, 220, 475, 889, 1068doc, 121, 190empty, 179erase using rmdir, 190file, 179, 1055ftp, 625games, 189hierarchy, 1055

000.book Page 1102 Friday, April 4, 2008 9:22 AM

Index 1103

home, 139, 182, 305, 714, 1062

home, 32, 468home versus working

directory, 187httpd, 819important, 462include, 189, 861info, 190init.d, 418LDAP, 682lib, 189, 864, 866, 867link, 202list using ls, 139listing, 139local, 33, 189log, 190, 473, 571, 1004, 1024logrotate.d, 571mail, 571, 644, 647, 650make using mkdir, 185man, 190modules, 189, 544move using mv, 192named, 764, 770opt, 33, 189, 504pam.d, 452, 455, 457, 468parent, 179, 180pathname, 179, 191proc, 189public_html, 823rc.d, 469

init.d, 419, 421maintain, 422

rcn.d, 418remove unused space, 572remove using rmdir, 190rename using mv, 192root, 178, 180, 188, 1079sbin, 189, 190, 388, 405security, 452, 455service, 1055share, 190skel, 551spool

disk usage, 571problem solving, 1004

src, 190, 538ssh, 593stack manipulation, 296standard, 188sysconfig, 471terminfo, 1085tmp, 571, 933

usr, 33var, 32working

change using cd, 186defined, 182home, versus, 187relative pathnames, 184significance of, 184with, 190

www, 819X11, 80, 189xinetd.d, 421, 439yum.repos.d, 490, 491

dirs builtin, 296Disk

buffer, 427capacity planning, 31Druid, 66extended partition, 30filesystem, 29formatting, 29fragmentation, 569free space, 29, 570logical partition, 30partition, 29, 1073partition table, 29, 73primary partition, 30quota system, 573RAM, 36usage, 569Volume label, 432, 483

Diskette, floppy. See Floppy diskette

Diskless, 1055Diskless system, 698Display

date using date, 149end of a file using tail, 144file using cat, 139graphical, 1059hidden filename, 234machine name, 141ordered file using sort, 145resolution, changing, 132sorted file using sort, 145system load using w, 162text using echo, 149top of a file using head, 144uptime using w, 162user list

using finger, 159using w, 161using who, 159

DISPLAY variable, 250Distributed computing, 383,

714, 1055Distribution, Linux, 4dmesg utility, 418, 432, 547DMZ, 1055DN, LDAP, 683DNS, 1055

$INCLUDE, 767$ORIGIN, 767$TTL, 767A (address) record, 750AAAA (address) record, IPv6,

750about, 373, 385authority, 746cache, 749, 752, 767caching-only server. See DNS,

cachechroot jail, 774CNAME record, 750database, 385, 749delegation, 747dig utility, 382, 754, 758, 776domain

defined, 744qualification, 767root, 746

FQDN, 745full-functioned nameserver,

777glue, 772hints zone, 770host utility, 382, 755how it works, 755in-addr.arpa domain, 753inverse mapping. See DNS,

reverse name resolutionip6.arpa domain, 753iterative query, 747JumpStart

setting up a DNS cache, 757setting up a domain with

system-config-bind, 759log, 775, 778, 780master server, 748more information, 756MX record, 651, 750named daemon, 389, 758, 764named directory, 764named.ca file, 770named.conf file, 764, 777, 782

000.book Page 1103 Friday, April 4, 2008 9:22 AM

1104 Index

DNS, continuednameserver, full-functioned,

777node. See DNS, domainNS record, 750nsswitch.conf file, 755origin. See DNS, zone nameoverview, 743prerequisites, 755primary master server, 748PTR record, 751query, 747, 752recursive query, 747resolver, 746resource record, 749response, 752reverse mapping. See DNS,

reverse name resolutionreverse name resolution, 753root domain, 745, 746root zone, 770secondary server, 748security, 744server

caching, 767master, 748primary master, 748secondary, 748slave, 748, 780split horizon, 781types of, 748

setting up, 763slave server, 748, 780SOA record, 751split horizon server, 781subdomain, 746system-config-bind utility, 759time format, 766transactions signatures. See

DNS, TSIGtroubleshooting, 775TSIG, 773, 776TTL value, 751TXT record, 752zone, 746

file, 766, 770hint, 770name, 766, 767root, 770section, named.conf, 765

do control structure, 917, 918, 920, 924

doc directory, 121, 190

Document Object Model. See DOM

Document root, Apache, 814Documentation

finding, 1005online, 383system, 114, 116

Dollar signregular expression, in, 996variables, use with, 301

DOM, 1055Domain

See also DNSDNS, defined, 744in-addr.arpa, 753ip6.arpa, 753name, 385, 1056Name Service. See DNSname, not case-sensitive, 386NIS, 668root, 746

done control structure, 917, 918, 920, 924

Door, 1056DOS

convert files, 151filename, 180filename extension, 180filesystem, mounting, 480mounting filesystems, 481

DoS attack, 1056dos2unix utility, 151, 620Double versus single quotation

marks, 333dovecot self-signed certificate,

659dovecot.conf file, 659Downloading Fedora, 38DPMS, 1056Drag, 1056DragonSquire utility, 1023Driver, device, 475, 1055Druid, 1056DSA, 1017, 1056DSA, LDAP, 683DSE, LDAP, 683DSL, 360, 1056dsniff utility, 1028DSO, Apache, 812Dual monitors, specifying, 82Dual-boot system, 79Dump level, 557dump utility, 557

dumpdates file, 464, 557Duplicate lines, getting rid of

using uniq, 146DVD, Install, 24

See also InstallationISO image, 38

Dynamicdevice names (udev), 475Host Configuration Protocol.

See DHCPIP address, 368library. See Shared, libraryshared objects, Apache, 812

E

e2label utility, 432echo builtin, 149, 234, 301, 930,

945, 953, 961, 965ed editor, 143Editor, 1056

command line, 326ed, 143ex, 310Readline Library, 326vim, 164

edquota utility, 573Edwards, Dan, 1086EEPROM, 1056Effective user ID, 1056egrep utility, 999Electronic message, write, 162Element, 1056El-Gamal encryption, 1016elif control structure, 911else control structure, 908emacs mail, 164Email. See MailEmblems, file, Nautilus, 260Emoticon, 1056Empty regular expression, 998Emulator

operating system, 7terminal, 105

Encryption, 10143-DES, 1017AES, 1017algorithm, 1014asymmetric. See Encryption,

public keyBlowfish, 1017DES, 1017Diffie-Hellman, 1016

000.book Page 1104 Friday, April 4, 2008 9:22 AM

Index 1105

digital signature, 1016DSA, 1017El-Gamal, 1016GnuPG, 1018host key, 594IDEA, 1017implementation, 1017key, 1014man-in-the-middle, 773, 1018,

1021MD5, 470OpenSSH, 594PEM, 1019PGP, 1018private key, 1015public key, 1015RC5, 1017ring of trust, 1018RSA, 1016, 1079scheme, weaknesses of, 1015secret key, 1015session key, 594symmetric key, 1016

End line key, 17End of file. See EOFEnquire program, 395Enter text using vim, 167Enter-only focus, 131Entry, LDAP, 683ENV variable, 282Environment, 1057

calling, 1049establish, 469exec, 957export, 305, 316, 942variable, 299

EOF, 163, 222, 1057EPROM, 1057Erase key, 129, 131, 217, 327,

462Erase word key, 217Errata, 507Error

codes, Apache, 852correcting, 129message

cannot execute, 219conditional, 952name of calling script, 932NFS server xxx not

responding, 699not found, 219

redirecting to standard error, 286

standard error. See Standard, error

system, 473usage, 214, 908, 914

shell script, 915standard. See Standard, errorusage message, 214, 908, 914

esac control structure, 927Escape a character, 138, 291Escape an end of line, 291ethereal utility, 1028Ethernet network, 357, 360, 361,

362, 1057Eumlation, terminal, 125eval builtin, 337, 965Event, 1057

asynchronous, 1046history, 316modifying previous, 324number, 317, 321reexecuting, 318text, 321words within, 322X Window System, 247

Evolution utility, 164ex editor, 310Exabyte, 1057Exclamation point, 321exec builtin, 286, 937, 956, 965exec() system call, 289, 888Execute

access, 193, 287, 288command, 219, 316permission, 288shell script, 289

Exitshell, from a, 296status, 946, 1057

exit builtin, 125, 946, 961, 965exit() system call, 888Expansion

arithmetic, 346brace, 302, 344command line, 343filename, 350macro, 860null variable, 951order of, 301, 343parameter, 346pathname, 233, 302, 349, 350quotation marks, double, 350

tilde, 183, 345unset variable, 951variable, 346

Explicit focus, 131Exploit, 1057Export

device file, 708link, 708variable, 957

export builtin, 304, 305, 469, 942, 965

export command (cvs), 895exportfs utility, 428, 712exports file, 707, 708, 709Expression, 1057

arithmetic, 1045logical, 1067

ext2 filesystem, 478, 485ext3 filesystem, 478, 485Extended multiuser mode, 424Extended partition, 30Extended regular expression,

1000Extensible Markup Language.

See XMLExtension, filename. See

Filename, extensionExtra toolbar, Konqueror, 268Extranet, 359, 1057EXTRAVERSION number,

kernel, 542

F

f filename extension, 871Fahlman, Scott, 1081Failsafe session, 1057false file, 469Family tree, 178fc builtin, 318FCEDIT variable, 320FDDI network, 1057fdformat utility, 482Features, bash. See bash, featuresFedora

Anaconda, 53booting, 48desktop, initial, 96Directory Server, 683druid, 1056errata, 507Firstboot, 61

000.book Page 1105 Friday, April 4, 2008 9:22 AM

1106 Index

Fedora, continuedinstalling, 51

Anaconda, 53BIOS setup, 26boot commands, 64burning CD/DVD, 37CMOS setup, 26default layout, 31Disk Druid, 66disk setup, 66disk space, 26display, configuring, 80download, burn, and install

CD/DVD, 37dual monitors, 82DVD, testing, 53explained, 23firewall, 62Firstboot, 61formatting, low-level, 29free space, 29how it works, 36installation type, 58installer interface, 27Kickstart, 78low-level formatting, 29MD5SUM file, 42network configuration, 57network installation, 37partition, 29partition planning, 31planning, 24requirements, 25rescue CD, 42SHA1SUM file, 41start, 51upgrade, 55upgrading versus installing, 28virtual consoles, 53X Window System,

configuring, 80Kickstart, 78mirror sites, 39Project, 27rescue CD, 42rescue mode, 51RHEL, versus, 27SELinux, 414software, adding, 497updates, 507, 1023upgrade. See Fedora, installingversus RHEL, 27X.org, 80

fg builtin, 232, 295, 965FHS, 12, 117, 188fi control structure, 904, 908,

911Fiber Distributed Data Interface.

See FDDIFiberoptic cable, 361FIFO special file, 351, 474, 476File, 1057

.autofsck, 485

.bash_history, 316

.bash_login, 281

.bash_logout, 281

.bash_profile, 281, 317, 462

.bashrc, 184, 281, 462

.config, 541

.cshrc, 1053

.forward, 646, 652

.htaccess, 820, 850

.htpasswd, 850

.inputrc, 329

.login, 1067

.logout, 1067

.netrc, 619

.pgpkey, 161

.plan, 160

.profile, 281, 462, 1075

.project, 161

.rhosts, 377, 1023

.toprc, 563/bin/false, 469/boot/grub/grub.conf, 537,

545/dev

nst0, 558null, 227, 462, 464, 570,

923, 962pts, 463random, 463rmt/0, 557st0, 558tty, 958urandom, 463zero, 464

/etcaliases, 464, 567, 645anacrontab, 559at.allow, 464at.deny, 464auto_master, 715bashrc, 425cron.allow, 464cron.deny, 464

crontab, 389defaultrouter, 390dhclient.conf, 446dhcpd.conf, 447dovecot.conf, 659dumpdates, 464, 557exports, 707, 708, 709fstab, 388, 465, 483, 701,

705group, 425, 465, 552grub.conf, 537, 545hosts, 372, 387, 466, 583,

667hosts.allow, 438, 439, 441hosts.deny, 438, 439, 441hosts.equiv, 376, 1023inittab, 248, 418, 426, 466,

566issue, 128, 425login.defs, 468, 551logrotate.conf, 571motd, 128, 425, 467, 469,

564mtab, 467named.conf, 756, 763, 764,

777, 782netgroup, 467nologin.txt, 456, 469nsswitch.conf, 387, 425,

449, 468, 668, 755ntp.conf, 389pam.conf, 457pam.d, 452passwd, 305, 424, 468, 565,

667, 919, 920, 1088printcap, 469profile, 281, 412, 425, 469protocols, 469, 799rc.d

init.d, 418init.d/kudzu, 432rc, 418rc.local, 420rc.sysinit, 418, 485

resolv.conf, 469, 583, 757rpc, 392, 470rsyslog.conf, 390, 574securetty, 407security/access.conf, 407selinux/config, 415services, 388, 392, 470shadow, 424, 470share/magic, 473

000.book Page 1106 Friday, April 4, 2008 9:22 AM

Index 1107

shells, 432sudoers, 406sysconfig

httpd, 814, 841hwconf, 432iptables, 793, 803, 808iptables-config, 793named, 756, 775network, 671, 676rsyslog, 575selinux, 415yppasswdd, 682

sysctl.conf, 537termcap, 1085vsftpd

chroot_list, 636ftpusers, 636user_list, 636

X11/xorg, 80xinetd.conf, 421, 439yp.conf, 672ypserv.conf, 676yum.conf, 490

/procfs/nfs, 708mounts, 467sys, 538

/rootanaconda-ks.cfg, 60install.log, 60

/usrinclude, 861local, 189pub/ascii, 1045sbin, 190share/magic, 1068

/varlib/nfs/xtab, 708, 713log

lastlog, 190maillog, 569messages, 190, 453, 473,

566, 569, 570, 775, 1004

secure, 453, 473, 1004vsftpd.log, 636wtmp, 190, 572

spool/mqueue, 644a.out, 864access, 650access permission, 193, 194access.conf, 407aliases, 464, 567, 645, 652

ambiguous reference, 233anaconda.cfg, 78anaconda-ks.cfg, 60anacrontab, 559archive using tar, 153ascii, 1045at.allow, 464at.deny, 464authorized_keys, 593auto_master, 715backup, 552, 557bashrc, 281, 425binary, fixing broken, 867block special, 1047character special, 1050close (bash), 938config, 415, 601configuration, rules, 435copy using cp, 192core, 570, 571, 881create using cat, 223creation date, display using ls,

193cron.allow, 464cron.deny, 464crontab, 389cupsd.conf, 529custom.conf, 88, 89defaultrouter, 390defined, 11descriptor, 284, 937descriptor, duplicating, 938device, 220, 475, 1055dhclient.conf, 446dhclient.leases, 446dhcpd.conf, 447directory, 179, 1055directory vs. ordinary, 474display

beginning of using head, 144end of using tail, 144using cat, 139

dovecot.conf, 659dumpdates, 464, 557empty, creating an, 191execute permission, 288exports, 707, 708, 709false, 469FIFO special, 351, 474, 476forcefsck, 485fstab, 388, 465, 483, 701, 705ftpusers (vsftpd), 636group, 425, 465, 552

group assignment, 465group, display using ls, 193growing, 570grub.conf, 537, 545header, 861, 862hierarchical structure, 178hosts, 372, 387, 466, 583, 667hosts.allow, 438, 439, 441hosts.deny, 438, 439, 441hosts.equiv, 376, 1023html, 814, 816, 819httpd, 814, 841httpd.conf, 815, 820, 840hwconf, 432identifying using file, 147important, 462include, 861index.htm, 824index.html, 824index.php, 824index.shtml, 824inittab, 248, 418, 426, 466,

566install.log, 60iptables, 793, 803, 808iptables-config, 793issue, 128, 425kdmrc, 88known_hosts, 594, 596, 597ks.cfg, 78large, rotate, 571lastlog, 190link, 202linux-gate.so.1, 443list, 139log, 190, 569, 571login.defs, 468, 551logrotate.conf, 571magic, 473, 1068mailertable, 650maillog, 569, 644Makefile, 858, 869, 870makefile, 869, 870manager

Konqueror, 106, 109Nautilus, 255

MD5SUM, 42message of the day. See motdmessages, 190, 453, 473, 566,

569, 570, 775, 1004motd, 128, 425, 467, 469, 564mounts, 467move using mv, 191

000.book Page 1107 Friday, April 4, 2008 9:22 AM

1108 Index

File, continuedmqueue, 644mtab, 467name. See Filenamenamed, 756, 775named pipe, 351, 474, 476named.conf, 756, 763, 764,

777, 782netgroup, 467network, 671, 676nfs, 708nicknames, 670nologin.txt, 456, 469nsswitch.conf, 387, 425, 449,

468, 668, 755nst0, 558ntp.conf, 389null, 227, 462, 464, 570, 923,

962object, 863, 864open using Nautilus, 259open, bash, 937open, finding, 567order using sort, 145ordinary, 179, 1072ordinary vs. directory, 474owner, 288owner, display using ls, 193pack archive using tar, 153pam.conf, 457pam.d, 452passwd, 305, 424, 468, 565,

667, 919, 920, 1088pathname, 179, 191permission, 194, 288, 465permissions, Nautilus, 260pointer to, 202PPD, 526printcap, 469profile, 281, 412, 425, 469properties, Nautilus, 259protocols, 469, 799pts, 463random, 463rc, 418rc.d/init.d/kudzu, 432rc.local, 420rc.sysinit, 418, 485reference, ambiguous, 233,

1044remove using rm, 140rename using mv, 191resolv.conf, 469, 583, 757

rmt/0, 557rotate, 571, 1079rpc, 392, 470rsyslog, 575rsyslog.conf, 390, 574search for a, 261secure, 453, 473, 1004securenets, 678securetty, 407security, 1019selinux, 415sendmail.cf, 647sendmail.mc, 642, 648services, 388, 392, 470SHA1SUM, 41shadow, 424, 470shells, 432size, display using ls, 193smb.conf, 729smbpasswd, 722smbusers, 722sort using sort, 145sparse, 1082special, 474, 1050, 1055, 1082ssh_config, 601ssh_known_hosts, 593, 596,

597sshd_config, 605st0, 558standard, 188startup, 182, 281, 462, 565,

1083stdio.h C header, 861structure, 178sudoers, 406symbolic link, 475sys, 538sysconfig/hwconf, 432sysctl.conf, 537tar, 153temporary, name of, 933termcap, 1085terminal, 220text, 164truncate, 462, 570tty, 958type of, discover using ls, 193types, GNOME, 261typescript, 150UNIX domain socket, 475urandom, 463user_list (vsftpd), 636virtusertable, 651, 652

vsftpdchroot_list, 636ftpusers, 636user_list, 636

vsftpd.conf, 626vsftpd.log, 636window, 220wtmp, 190, 572xinetd.conf, 421, 439xorg, 80xorg.conf, 82xtab, 708, 713yp.conf, 672yppasswdd, 682ypserv.conf, 676yum.conf, 490yum-updatesd.conf, 496zero, 464

file utility, 147, 473, 571Filename, 164, 179, 1057

/, 180absolute, 311ambiguous reference. See File,

ambiguous referencebasename, 183, 1047case, 17case-sensitive, 181change using mv, 142characters in, 180choice of, 180completion, 1057conventions, 235defined, 183device, 1055DOS, 180extension, 181, 1057

a, 863, 866bmp, 181bz2, 152, 181C, 871c, 181, 859, 865, 871c++, 871cc, 871conf, 435cpp, 871cxx, 871db, 759, 761DOS, 180f, 871gif, 181gz, 153, 181h, 861, 871htm, 824

000.book Page 1108 Friday, April 4, 2008 9:22 AM

Index 1109

html, 181, 824jpeg, 181, 1065jpg, 181, 1065l, 871ldif, 683list of, 871m, 871MIME and, 108, 259o, 181, 863, 865, 871pdf, 181php, 824ppd, 526ps, 181remove a, 325repo, 491rpmnew, 28s, 865, 871sh, 871shared object, 866shtml, 824so, 863, 866tar.bz2, 154tar.gz, 154tar.Z, 154, 181tbz, 154tgz, 181tif, 181, 1086tiff, 181, 1086torrent, 499txt, 181, 235tz, 154var, 824y, 871Z, 153, 181

generation, 13, 233, 1057hidden, 182, 234, 1061length, 179, 180, 433, 933period, leading, 234quoting, 350reference, ambiguous. See File,

ambiguous referenceroot directory, 180simple, 183, 185, 218, 1081temporary file, 933typeface, 17unique, 933, 945Windows, 180

Fileserver, 384, 697Filesystem, 1058

/proc, 471, 480active, 553adfs, 478affs, 478

autofs, 478, 714check integrity of, 484coda, 478copy directory recursively

using mv, 474defined, 177demand mounting, 714devfs, 475devpts, 478disk, 29ext2, 478, 485ext3, 478, 485filename length, 179, 433free list, 474, 1059GFS, 479hfs, 479Hierarchy Standard, 117Hierarchy Standard, Linux, 12hpfs, 479independence, 30iso9660, 479journaling, 478, 479, 485,

1065minix, 479mount

automatically, 714demand, 714point, 30, 715remote, 700

msdos, 479ncpfs, 479NFS, 419, 479, 702ntfs, 479organize, 178proc, 471, 479, 480, 556qnx4, 479RAID, 33, 479reiserfs, 479remote, 358, 1078repair, 429romfs, 479root, 1079smbfs, 479Standard, Linux, 12, 188structure, 11, 177swap, 31, 472sysv, 479types, list of, 478ufs, 479umsdos, 479use, 178vfat, 479virtual, 480xfs, 479

Filling, 1058Filter, 14, 230, 1058Find

command name using apropos, 157

inode using find utility, 913, 916

string using grep, 143find utility, 413, 571finger utility, 159, 374, 375, 389,

919fingerd daemon. See in.fingerdFirefox, starting, 100Firewall, 363, 1058

See also iptablesbuilding a, 794OpenSSH, 609toolkit, 1029

Firmware, 1058Firstboot, 61Flag, crash, 485flex utility, 16Floppy diskette, mount, 481, 482Focus

desktop, 1058follows-mouse, 131strictly-under-mouse, 131under-mouse, 131window, 102, 131

Folder. See DirectoryFont

antialiasing, 1045, 1084preferences, GNOME, 263window, GNOME, 264

Footer, 1058for control structure, 917, 918,

961for...in control structure, 917,

918forcefsck file, 485Foreground, 13, 231

background versus, 231process, 1058

Fork, 1058child, 888process, 314

fork() system call, 289, 314, 316, 888

Formatting a hard disk, low-level, 29

FQDN, 373, 386, 745, 1058Fragmentation, disk, 569Frame, network, 359, 1059

000.book Page 1109 Friday, April 4, 2008 9:22 AM

1110 Index

Freelist, filesystem, 474, 1059software, definition, 1033space, disk, 29, 570, 1059Standards Group, 188

freedesktop.org group, 254Freefire, security solutions, 1028fsck utility, 429, 478, 484, 569FSG, 188FSSTND, 12, 188fstab file, 388, 465, 483, 701,

705FTP

about, 614account, 468active, 614anonymous, 619ASCII transfer mode, 620automatic login, 619basic commands, 616binary transfer mode, 620chroot jail, 628ftp utility, 614, 620JumpStart

downloading files using ftp, 616

starting a vsftpd server, 625more information, 615passive, 614, 1073PASV connection, 614PORT connection, 614prerequisites, 615pub directory, 619security, 614, 620, 625server, 624tutorial, 616vsftpd server, 624vsftpd.conf file, 626

ftp directory, 625ftp utility, 358, 614, 620ftpd daemon, 389ftpusers file, 636Full

backup, 553duplex, 1059functioned nameserver, DNS,

777regular expressions, 999

pipe, 1000plus sign, 1000question mark, 1000summary, 1001

Fully qualified domain name. See FQDN

Function, 1059C language, 858, 862prototype, 861shell, 335, 1081

fuser utility, 483fwtk utility, 1029

G

gaim. See pidgingames directory, 189gated daemon, 390Gateway, 1059

daemon, 390network, 362proxy, 391router, and, 581

gawk, 919, 920gcc

See also C programming language

history, 9home page, 858using, 862warning options, 878

gdb utility, 880, 881gdbm database, 1054gdm utility, 88, 426gdmsetup utility, 88GECOS, 1059GECOS and NIS, 682Generate filenames, 233Generic operating system, 8getchar C macro, 861gethostbyname() system call, 755getopts builtin, 962, 965getpid() system call, 888getppid() system call, 888Getting started using Konqueror,

107getty utility, 314GFS filesystem, 479GIAC, security certification and

training, 1029gif filename extension, 181Giga-, 1059Global Filesystem, 479Global variable, 299, 957Globbing, 233, 349Glue, DNS, 772Glyph, 1059

GMT, 1059GNOME, 94, 254

color window, 264control center, 110custom.conf file, 88, 89desktop, about, 15display manager. See

GNOME, gdm utilityfile types, 261focus, window, 132font preferences, 263font window, 264gdm utility, 88, 426gdmsetup utility, 88gnome-appearance-properties

utility, 263gparted utility, 69GTK, 254Help window, 115KDE, compared, 105, 254logging in on, 96Main menu, 99manager, session, 106menu

Main, 99Panel Icon, 98

MIME types, 261Nautilus

control bars, 258emblems, file, 260file

manager, 255permissions, 260properties, 259

location bar, 258menubar, 258open file, 259Open Location dialog box,

258Side pane, 257spatial view, 255toolbar, 258traditional view, 257View pane, 257

Panel Icon menu, 98partition editor, 69run program window, 265session manager, 106terminal emulator, 265titlebar, 101toolbar, 102window focus, 132Window List, 99Workspace Switcher, 99

000.book Page 1110 Friday, April 4, 2008 9:22 AM

Index 1111

gnome-control-center utility, 110gnome-font-properties utility, 263gnome-search-tool utility, 261gnome-terminal utility, 265GNU

Configure and Build System, 504

gcccompiler, 862, 878home page, 858

gdb utility, 880General Public License, 4GnuPG encryption, 1018grub utility, 545manuals, 1005usage message, 215

GnuPG encryption, 1018gopher utility, 395gparted utility, 69GPG. See GnuPG encryptionGPL. See GNU, General Public

Licensegpm daemon, 389gprof utility, 16gq utility, 692Grand Unified Boot Loader. See

grub utilityGraphical display, 1059Grave accent, 1051grep utility, 143, 229, 919, 920,

923, 935, 1049, 1058Group

about, 465access, 193add, 552apache, 814commands, 290, 293file assigned to, 465ID, 465, 468, 1060name of, display using ls, 193password, 465user private, 465users, 1059wheel, 456windows, 1060

group database, 1060group file, 425, 465, 552groupadd utility, 552groupdel utility, 552groupmod utility, 552groups utility, 465grub utility, 545grub.conf file, 537, 545

GTK, 254GUI, 27, 1060

combo box, 1051radio button, 1077scrollbar, 1080spinner, 1082text box, 1085thumb, 1085WYSIWYG, 1090X Window System, 15, 80

Guided partitioning, 31gunzip utility, 153gz filename extension, 153, 181gzip utility, 153

H

h filename extension, 861, 871Hacker, 1060Half duplex, 1060halt utility, 426, 427, 428Halt, program, 130Hard disk. See DiskHard link, 1060, 1066

create using ln, 474remove using rm, 208symbolic link, versus, 474

Hardcoded filename in shell scripts, 932

Hardwaredatabase, 432device, 432help, 122

Hash, 1060one-way, 1072SHA1 algorithm, 1080table, 1060

head utility, 144Header

document, 1060file, 861, 862

HelpSee also More informationanswers, finding, 394apropos utility, 116Center (KDE), 114documentation, 114error messages, 121getting, 1005GNOME, 115GNU manuals, 123hardware, 122HOWTOs, 121

info pages, 118Internet, from the, 121KDE Help Center, 114Linux Documentation Project,

121, 123local, 121man pages, 116netnews, 394Red Hat Web site, 122support forums, 122window (GNOME), 115

Here document, 935, 936, 1061Hesiod, 1061Heterogeneous, 1061Heterogeneous network, 667Hexadecimal number, 1061hfs filesystem, 479Hidden filename, 1061

defined, 182display, 234not displayed with ?, 234

Hierarchical file structure, 178Hierarchy, 1061HISTFILESIZE variable, 316History, 1061

C Shell mechanism, classic, 320

eventediting, 319number, 321previous

!$ last word of, 323modifying, 324

reexecuting, 319text, 321words within, 322

mechanism, 316viewing, 318word designator, 322

history builtin, 316, 317HISTSIZE variable, 316Home directory, 139, 182, 305,

1062.bash_history file, 316.bash_login file, 281.bash_logout file, 281.bash_profile file, 281, 317.bashrc file, 184, 281.forward file, 646, 652.inputrc file, 329.netrc, 619.profile file, 281.rhosts, 1023

000.book Page 1111 Friday, April 4, 2008 9:22 AM

1112 Index

Home directory, continued.ssh, 593~, shorthand for, 183, 305automount, 714hidden file, 182passwd and, 468startup file, 182working directory, versus, 187

home partition, 32HOME variable, 300, 305, 425,

961Host

address, 367key, OpenSSH, 594security, 1023specifying, 435trusted, 376

host utility, 382, 755Hostname

about, 746resolution, 466setting the system, 584symbolic, 387

hostname utility, 141, 374hosts database, 387hosts file, 372, 387, 466, 583,

667hosts.allow file, 438, 439, 441hosts.deny file, 438, 439, 441hosts.equiv file, 376, 1023Hover, 98, 1062HOWTO documents, finding,

121hpfs filesystem, 479hping utility, 1029htm filename extension, 824HTML, 1062

history, 395suffix, 396

html file, 814, 816, 819html filename extension, 181,

824HTTP, 396, 1062httpd daemon, 389. See also

Apachehttpd directory, 819httpd file, 814, 841httpd.conf file, 815, 820, 840HTTPS protocol, 396, 847Hub, 361, 580, 1062Humor, 5, 1022, 1081hunk (diff), 147HUP signal, 567

hwconf database, 432hwconf file, 432Hypermedia, 396Hypertext, 395, 1062

link, 395Markup Language. See HTMLTransfer Protocol. See HTTPWorld Wide Web, 395

I

I/O device. See DeviceI/O slave, KDE, 254IANA, 388, 1062ICMP packet, 380, 1062icmp_seq, 380Icon, 1062

context menu, 103desktop, 103moving, 113

Iconify, 1062ICQ, 358id utility, 408IDEA encryption, 1017IDS

about, 1023AIDE, 1023DragonSquire, 1023samhain, 1023tripwire, 1023

if control structure, 904, 908, 911

if...then control structure, 904if...then...elif control structure,

911if...then...else control structure,

908IFS variable, 309Ignored window, 1062IM, 100IMAP, email, 659imapd daemon. See imap-login

daemonimap-login daemon, 659Implied dependency, make, 871import command, cvs, 895in control structure, 917in.fingerd daemon, 375, 389in-addr.arpa domain, 753Include directive, 861include directory, 189, 861Include file, 861Incorrect login, 124

Increment operator, 971Incremental backup, 553Indentation. See IndentionIndention, 1063index.htm file, 824index.html file, 824index.php file, 824index.shtml file, 824Indirect pointer, 206inetd daemon, 389Infinite recursion, alias, 332info directory, 190info utility, 237

KDE Help Center, from the, 114

manual, 1005using, 118

Information. See More information

Init script, 418, 469init utility, 314, 417, 423, 424,

425, 427, 466init.d directory, 418inittab file, 248, 418, 426, 466,

566Inode, 205, 474, 1063

altering using mv, 474create another reference using

ln, 474file, 474filesystem, 206links shell script, 912number, 474

Input, 1063focus, changing, 102, 131mode, vim, 166standard. See Standard, input

Input/Output device. See DeviceINPUTRC variable, 329insmod utility, 544Install DVD

about, 24rescue mode, 51

install.log file, 60Installation

See also Live CD; Install DVDboot parameters, 63computer, 1063dual-boot system, 79

Installing Fedora or RHEL. See Fedora, installing

Installing software, 489

000.book Page 1112 Friday, April 4, 2008 9:22 AM

Index 1113

Integrated Services Digital Network. See ISDN

Integrity, filesystem, 484Interactive, 1063Interface, 1063

pseudographical, 26user, 1063, 1088

Internal Field Separator. See IFS variable

International Organization for Standardization. See ISO

Internet, 16, 1063Assigned Numbers Authority.

See IANAbrowser, 395connection sharing, 805Control Message Protocol. See

ICMPlook up a user, 382Messenger, 100mirror site, 1006multiple clients on a single

connection, 806multiple servers on a single

connection, 808netiquette, 1070netnews. See Netnewsnetwork, 358Printing Protocol. See IPPProtocol Security. See IPSecProtocol. See IP and TCP/IPRelay Chat, 358search engine, 396service provider. See ISPservices, 392sharing a connection, 805speed, 359URI, 1087URL, 396, 1087Usenet, 396

internet (small i), 1063Internetwork, 358InterNIC, 382Interprocess communication, 14,

148, 476Interrupt key, 130, 959Intranet, 358, 1064Intrusion detection system. See

IDSInvisible file. See Hidden

filename

IP, 1064address, 367, 386, 1064class, address, 368IPng, 373IPv6, 373, 1021, 1040masquerading, 791, 802, 806multicast. See MulticastNext Generation, 373spoofing, 377, 1064version 6. See IP, IPv6

ip6.arpa domain, 753IPC, 1064ipchains utility, 790ipop3d daemon. See pop3-loginIPP protocol, 512IPSec, 1021, 1038iptables, 789

ACCEPT target, 801building a set of rules, 796chain policy, 797chain, about, 790classifiers. See iptables, matchcommand line, 795commands, 797connection tracking, 792, 800conntrack module, 792display criteria, 798DNAT, 791DNAT target, 801DROP target, 801Filter table, 790how it works, 790Internet connection sharing,

805IP masquerading, 806iptables-restore utility, 802iptables-save utility, 802jump, 796JumpStart, building a firewall

with system-config-securitylevel, 794

LOG target, 801Mangle table, 791MASQUERADE, 791, 802masquerade, 1068match, 790

criteria, 795extension, 799

explicit, 800implicit, 799

more information, 792NAT table, 790netfilter, 790network packet, 791

non-terminating target, 796packet match criteria, 796, 798patch-o-matic, 789policy, 797prerequisites, 793protocols file, 799REJECT target, 802resetting rules, 793RETURN target, 802RH-Firewall-1-INPUT chain,

803router, 805rule, 790

match criteria, 796number, 796saving, 802specification, 796

sharing an Internet connection, 805

SNAT, 791, 802, 806state machine, 792, 800system-config-firewall utility,

794system-config-securitylevel

utility, 794, 803target, 790, 796, 801

iptables file, 793, 803, 808iptables-config file, 793iptables-restore utility, 802iptables-save utility, 802IPv6, 373, 1064

address record, DNS, 750in 2.6 kernel, 1040ping6, 380traceroute6, 381

IRC, 358is_regfile shell script, 907ISC2 security certification, 1029ISDN, 360, 1064ISO, 1064

image, 38ISO9660 filesystem, 479, 1064protocol model, 365

ISP, 1064issue file, 128, 425iwconfig utility, 584

J

Job, 231control, 13, 294, 1065

bg builtin, 295fg builtin, 295how to use, 231jobs builtin, 294

000.book Page 1113 Friday, April 4, 2008 9:22 AM

1114 Index

Job, continuednumber, 231, 232stop foreground, 231

jobs builtin, 130, 232, 294, 296, 965

John the Ripper utility, 1029Journaling filesystem, 478, 479,

485, 1065Joy, Bill, 1049JPEG, 1065jpeg filename extension, 181,

1065jpg filename extension, 181,

1065JumpStart

Apache, getting up and running, 814

Apache, setting up with system-config-httpd, 816

building a firewall with system-config-securitylevel, 794

configuring a Samba server with system-config-samba, 723

configuring sendmail on a client, 642

configuring sendmail on a server, 643

DNS, setting up a cache, 757DNS, setting up a domain with

system-config-bind, 759downloading files using ftp,

616NFS server, configuring with

system-config-nfs, 707NFS, mounting a remote

directory, 700OpenSSH, starting the sshd

daemon, 603OpenSSH, using ssh and scp,

595printer, configuring a local,

513printer, configuring a remote,

518starting a vsftpd server, 625

Justify, 1065jwhois utility, 382

K

K&R, 9KAddressBook, 690

kcolorchooser utility, 274kcron utility, 560kdbg utility, 880KDE, 94, 253

active view indicator, Konqueror, 270

Bookmark toolbar, Konqueror, 268

bookmark, Konqueror, 266browser, Konqueror, 106clipboard, 275Color window, Select, 274components, 254Control Center, 109desktop, 15, 266Extra toolbar, Konqueror,

268FAQ, 114file manager, Konqueror, 106,

109focus, window, 132getting started, Konqueror,

107GNOME, compared, 105, 254Help Center, 114I/O slaves, 254KAddressBook, 690kcolorchooser utility, 274kdbg utility, 880kdm utility, 88kfind utility, 268klipper utility, 275KNotes utility, 99konsole utility, 273Kparts, 254link indicator, Konqueror,

271sLocation toolbar, Konqueror,

268lock to current location,

Konqueror, 271logging in on, 96Main menu, 99Main panel, 97manager, session, 106menu

Main, 99Panel, 112Panel Icon, 98

menubar, 267Navigation panel, Konqueror,

272

pager, 98Panel Icon menu, 98Panel menu, 112portability, 254printer utility, 531Qt, 253Run Command window, 275Search bar, Konqueror, 268search using kfind, 268Select Color window, 274shortcut, Konqueror, 271taskbar, 99terminal emulator, 273titlebar, 101toolbar

defined, 102Konqueror, 109, 268

User’s Manual, 114view, Konqueror, 109, 270,

271Web Shortcuts (Konqueror),

266window focus, 132workspace (Konqueror), 270

kdm KDE utility, 88kdmrc file, 88Kerberos, 1025, 1029, 1065Kernel, 6, 1065

/proc filesystem, 4712.4, 10372.6 features

2TB filesystem, 10424GB-4GB memory split,

1041ACL, 1041AIO, 1038asynchronous I/O, 1038BIO, 1041block I/O, 1041hugeTLBFS, 1040HyperThreaded CPUs,

1041I/O elevators, 1042IGMPv3, 1040interactive scheduler

response tuning, 1042Internet Protocol virtual

server, 1040IPSec, 1038IPv6, 1040IPVS, 1040kksymoops, 1039

000.book Page 1114 Friday, April 4, 2008 9:22 AM

Index 1115

native Posix thread library, 1038

network stack features, 1040NPTL, 1038O(1) scheduler, 1039OOPS, 1039OProfile, 1039PAE, 1041physical address extension,

1041remap_file_pages, 1040reverse map virtual memory,

1039rmap VM, 1039TLBFS, 1040translation look-aside buffer

file system, 1040XFS journaling filesystem,

10422.6 release, 1037boot, 417boot options, 537cleaning the source tree, 541compiling, 543configuring, 541device driver, 888display messages using dmesg,

432dmesg utility, 547export table, 708EXTRAVERSION number,

542install binary, 503installing compiled, 544messages, 547module, 543. See also

Loadable modulenetwork packet filtering. See

iptablespacket filtering. See iptablesparameter, 538programming interface, 10raw device, 478rebuild, 537responsibilities, 887source code, installing, 539source code, locating, 538special files, 475system calls, 887

kernelspace, 1065Kernighan & Ritchie. See K&RKey

BACKSPACE, 129binding, 1065

CONTROL, 17CONTROL-C, 102, 130CONTROL-D, 125, 222, 296CONTROL-H, 129, 138, 169, 217CONTROL-L, 163, 171CONTROL-M, 138CONTROL-Q, 128CONTROL-R, 163CONTROL-U, 129, 138, 169, 217CONTROL-V, 102, 138CONTROL-W, 129, 169, 217CONTROL-X, 102, 129CONTROL-Z, 231, 295Delete, 129encryption, 1014end line, 17ENTER, 17erase, 129, 131, 217, 327, 462interrupt, 130kill, 129, 217line kill, 129, 217META, 1068NEWLINE, 17, 290, 291RETURN, 17, 129, 217, 290SPACE bar, 138suspend, 129, 130, 171, 231,

295, 959TAB, 138typeface, 17word erase, 217

Keyboard, 1065move cursor to next line, 17system-config-keyboard,

configuring with, 430Keyword

searching for using apropos, 157

variable, 300, 305kfind utility, 268Kickstart utility, 78kill builtin, 130, 232, 252, 408,

409, 410, 567, 933, 960, 962, 965

Kill key, 129, 217Kill line key, 129, 217KILL signal, 567kill() system call, 888killall utility, 411kilo-, 1065klipper utility, 103, 275KMail, 659KNotes utility, KDE, 99Knowledgebase, Red Hat, 1006

known_hosts file, 594, 596, 597Konqueror

active view indicator, 270bookmark, 266Bookmark toolbar, 268browser, 106Extra toolbar, 268file manager, 106, 109getting started, 107LDAP quey, 692link indicator, 271Location toolbar, 268lock to current location, 271menubar, 267Navigation panel, 272Search bar, 268shortcut, 271toolbar, 109, 267, 268view, 109, 270, 271Web Shortcuts, 266workspace, 270

konsole utility, 273Korn, David, 280, 1066Korn Shell. See kshKparts, KDE, 254ks.cfg file, 78ksh, 280, 1066kudzu utility, 432, 582

L

l filename extension, 871LAN, 16, 361, 1066

compared to intranet, 358configuring, 579example, 363more information, setting up a

LAN, 587setting up, 580

Language, procedural, 974Language, used by the system,

124Large number, 1066Last in first out stack, 296Last Line mode, vim, 167lastlog file, 190LBX, 367ld utility, 867LD_LIBRARY_PATH variable,

867, 868LD_RUN_PATH variable, 867

000.book Page 1115 Friday, April 4, 2008 9:22 AM

1116 Index

LDAP, 682, 1066administrator, 686gq client, 692KAddressBook client, 690Konqueror client, 692setting up a server, 685

ldapadd utility, 688ldapmodify utility, 687ldapsearch utility, 687ldd utility, 866, 867ldif filename extension, 683LDIF, LDAP, 683ld-linux library, 866ld-linux.so utility, 867Leaf, 1066Least privilege, 406, 1066Left-handed mouse, 110, 252Length of filename, 180, 433less utility, 116, 140, 230, 292,

910let builtin, 347, 966lib directory, 189, 864, 866, 867libattr library, 866libc library, 866libc.so library, 863libm.a library, 863libm.so library, 863Library, 858

archived, 866dynamic. See Library, sharedld-linux, 866libacl, 866libattr, 866libc, 866libc.so, 863libm.so, 863shared, 866, 868statically linked, 866

libwrap.a library, 439, 441lids utility, 1029LIFO stack, 296Lightweight Directory Access

Protocol. See LDAPLine kill key, 129, 217Line Printer Daemon. See lpd

daemonLINES variable, 934Link, 12, 202, 1066

create using ln, 204delete using rm, 208export, 708hard, 474, 475, 1060, 1066hard versus symbolic, 203

hypertext, 395indicator, Konqueror, 271inode, 474number of, display using ls,

193point-to-point, 1074remove using rm, 208, 474soft. See Link, symbolicsymbolic, 1066

bash and, 207create using ln, 206defined, 474versus hard, 203, 206

symlink. See Link, symboliclinks shell script, 912links utility, 396lint utility, 878Linux

2.6 kernel. See Kernelboot, 545distribution, 4documentation, 114Documentation Project, 121,

123Filesystem Hierarchy

Standard, 12, 188Filesystem Standard, 12, 188kernel. See Kernelmanual, 117newsgroup, 413, 1007PAM. See PAMPluggable Authentication

Modules. See PAMStandard Base, 188Terminal Server Project, 698

Linux Software Map database, 1009

linux terminal name, 1011linux.redhat.install newsgroup,

393, 394linux.redhat.misc newsgroup,

394linux.redhat.rpm newsgroup,

394linux-gate.so.1 file, 443LinuxSecurity.com security

news, 1029List server, 376, 1007Listserv, 376, 1007Live CD, 24

See also InstallationISO image, 38

Live session, 49

llibacl library, 866ln utility, 204, 206, 474

versus cp, 204Load, system, display using w,

162Load average, 162Loadable module, 1067Loader, boot. See BootloaderLocal

area network. See LANvariable, 316, 942, 957

local directory, 33, 504local file, 189Locale, 1067locale builtin, 312localhost, 373, 466locate database, 63, 158locate utility, 63, 158Location bar

illustration, 109Nautilus, 258

Location toolbar, Konqueror, 268

Lock to current location, Konqueror, 271

lock utility, 925lockd daemon, 389locktty shell script, 925Log

Apache, 819DNS, 775, 778, 780email, 644file, check, 569file, rotate, 571files, 190in. See Loginmachine, 567OpenSSH, 607out, 425, 1067rsyslogd daemon, 390sendmail, 644system, 390vsftpd, 633

log command (cvs), 890log directory, 190, 473, 571,

1004, 1024Logical

expression, 1067partition, 30Volume Manager. See LVMvolume. See LVM, LV

000.book Page 1116 Friday, April 4, 2008 9:22 AM

Index 1117

Login, 1067Choose a session dialog box,

96description of, 424GUI, 124incorrect, 124name. See Usernameproblems, 124, 565procedure, 128prompt, 128, 424remote, 125, 126root, 405, 569, 1079screen, 96, 124security, 1024shell, 314, 425, 469, 1067

login utility, 314, 424login.defs file, 468, 551LOGNAME variable, 425Logout, 125logresolve utility, 830logrotate utility, 571logrotate.conf file, 571logrotate.d directory, 571logwatch utility, 569Loopback service, 466lost+found directory, 429lp utility, 523lpadmin utility, 527lpd daemon, 389, 512lpinfo utility, 526lpq utility, 143, 523LPR line printer system, 512lpr utility, 143, 229, 231, 523lprm utility, 143, 523lpstat utility, 143, 523ls utility, 139, 185, 193, 196,

205, 234, 288LSB, 188lseek() system call, 889lsmod utility, 544lsof utility, 567LV. See LVM, LVLVM, 29, 35, 75

LV, 29, 35, 75PV, 35VG, 75

LWN.net security alerts, 1029lynx text browser, 396

M

m filename extension, 871m4 macro processor, 648

MAC address, 448, 1067Machine

collating sequence, 1067independence, 9log, 567name, display, 141

Macro, 1068C preprocessor, 859, 861expansion, 860m4, processor, 648make, 874processor, m4, 648

magic file, 473, 1068Magic number, 108, 473, 1068magic number database, 473Mail

.forward file, 646, 652accepting mail from unknown

hosts, 649access file, 650aliases, 464, 645aliases file, 652authenticated relaying, 662backup server, 649check root, 569communicate with users, 563delivery agent, 390forwarding email, 650how sendmail works, 644IMAP, 659JumpStart

configuring sendmail on a client, 642

configuring sendmail on a server, 643

KMail, 659list server, 376, 1007log, 644mail directory, 644, 647, 650mailbox, 307maildir format, 644mailertable file, 650mailing list, 658maillog file, 644Mailman, 658mailq utility, 646mailstats utility, 647makemap utility, 647masquerading, 648mbox format, 644MDA, 639, 1068more information, 642mqueue file, 644

MTA, 639, 1069MTA security, 1019MUA, 639, 1070MUA security, 1020network addresses, 164newaliases utility, 646POP, 659Postfix, 664postmaster, 569praliases utility, 646prerequisites, 641procmail daemon, 640Qmail, 664relay host, 650security

about, 1019GnuPG, 1019MTA, 1019MUA, 1020PEM encryption, 1019

self-signed certificate, 662sending to remote user, 375sendmail daemon, 639, 640,

644, 646sendmail.cf file, 647sendmail.mc file, 642, 648serving multiple domains, 651SMTP, 639spam, 382SpamAssassin, 652spamd daemon, 652SquirrelMail, 656SSL, 662user agent, 390virtusertable file, 651, 652Webmail, 656

mail directory, 571, 644, 647, 650

mail utility, 164, 568MAIL variable, 307, 425Mailbox, 307MAILCHECK variable, 307maildir format, 644mailertable file, 650Mailing list, 658maillog file, 569, 644Mailman, 658MAILPATH variable, 307mailq utility, 646mailstats utility, 647Main

memory, 1068menu, 99panel, KDE, 97

000.book Page 1117 Friday, April 4, 2008 9:22 AM

1118 Index

main function, 862Mainframe computer, 7Maintenance. See System,

administrationMajor device number, 477, 1068make utility, 154, 868, 869, 874makedbm utility, 678Makefile, discussion, 869Makefile file, 858, 870makefile file, 869, 870makemap utility, 647makewhatis utility, 63, 158MAN, 362, 1068man directory, 190man pages, 114man utility, 14, 116, 120Manager

session, 106, 133window, 133

Man-in-the-middle, 773, 1018, 1021

ManualsGNU, 123, 1005HOWTO, 121man, 116reference, finding, 1005system, about, 114

Map file, 715Masquerading, 1068

IP, 791, 802, 806mail, 648

Massachusetts Institute of Technology. See MIT

Master Boot Record. See MBRMaster server, DNS, 748mbox format, 644MBR, 545MD5 encryption, 470, 1068MD5SUM file, 42md5sum utility, 42MDA, 639, 1068Mega-, 1068Memory

main, 1068paging, 472testing, 52virtual, 472

memtest86+ utility, 52Menu, 1068

context, 102Desktop, 99, 104Icon context, 103Main, 99

Panel, 112Panel Icon, 98Panel, KDE, 112shell script, 929

Menubar, 109Konqueror, 267Nautilus, 258

Merge, 1068mesg utility, 163Message

daemon, from, 473deny using mesg, 163Digest 5. See MD5of the day. See motd filesecurity, 473sending

email, 563wall, 563write, 162, 563

syslog directory, 1024system, 473, 566truncating, 570usage, 214, 908, 914, 932,

1087messages file, 190, 453, 473,

566, 569, 570, 775, 1004

META key, 1068Metabit, 1045Metacharacter, 233, 1068Metacity window manager, 133Metadata, 1069Method of last resort, kill, 409Metropolitan area network. See

MANMicroprocessor, 8Middle mouse button, 102MIME, 108, 261, 1069mingetty utility, 314, 424, 467Minicomputer, 7mini-HOWTO documents,

finding, 121Minimize window, 1069MINIX, 4minix filesystem, 479Minor device number, 477, 1069Mirror site, 1006misc.jobs.offered newsgroup,

393Mistake, correct typing, 129MIT, 15

Athena, Project, 246X Consortium, 246

MITM. See Man-in-the-middlemkdir utility, 185, 187, 701mkfifo utility, 476mkfs utility, 432, 482, 569mkswap utility, 472Modem, 1069Modem, cable, 1049Modifying a user, 550modinfo utility, 544modprobe utility, 544Module

See also Loadable modulekernel, 543

modules directory, 189, 544Monitor, configure, 82Monitors, dual, 82More information

Apache, 813DHCP, 445DNS, 756email, 642FTP, 615iptables, 792LAN, setting up a, 587NFS, 700NIS, 670OpenSSH, 594PAM, 453Samba, 721security, 1028system administration, 413

more utility, 140, 230, 910Morris, Robert T. Jr., 1026Mosaic Web browser, 395motd file, 128, 425, 467, 469,

564Mount, 1069

automatic, 388, 1046filesystem automatically, 714floppy diskette, 481point, 30, 480, 483, 715, 1069remote filesystem, 700table, 465

mount utility, 428, 467, 480, 481, 701, 737

mountd daemon, 389, 703mounts file, 467Mouse

about, 1069click explained, 96left-handed, 110, 252middle button, 102mouseover, 1069

000.book Page 1118 Friday, April 4, 2008 9:22 AM

Index 1119

pointer, 1069pointer, hover, 98, 1062remap buttons, 252right-handed, 252wheel, 252window manager, 15

Mouseover, 1069Move

directory using mkdir, 192file using mv, 191

Mozillahistory of, 395, 396, 507netnews, 393proxy, 1076

mqueue file, 644MS Windows. See Windowsmsdos filesystem, 479MS-DOS. See DOSmt utility, 559MTA, 639, 1069

security, 1019mtab file, 467MUA, 639, 1070

security, 1020Multiboot specification, 1070Multicast, 369, 1070Multipurpose Internet Mail

Extension. See MIMEMultitasking, 11, 231, 1070Multithreaded program, 886Multiuser, 1070

about, 424Linux design, 8, 10mode, 424

extended, 424initiate, 423

Superuser, 406mv utility, 142, 191, 474MX record, DNS, 651, 750mxgdb utility, 880

N

Namecommand, 214daemons, 388domain. See Domain, namelogin. See Usernameserver, 385, 386variable, 299

named.conf file, 763, 764, 777, 782

named daemon, 389, 758, 764

named directory, 764, 770named file, 756, 775Named pipe, 351, 474, 475, 476named.conf file, 756Namespace, 1070NAT, 790, 1070National Center for

Supercomputer Applications, 395

Nautiluscontrol bars, 258file

emblems, 260manager, 255open with, 259permissions, 260properties, 259

location bar, 258menubar, 258open file, 259Open Location dialog box, 258Side pane, 257spatial view, 255toolbar, 258traditional view, 257Vew pane, 257

Navigation panel, Konqueror, 272

NBT, 1070ncpfs filesystem, 479ndbm database, 1054nessus utility, 1029net use utility (Windows), 739net utility, 720net view utility (Windows), 739NetBIOS, 1070Netboot, 699, 1070netcat utility, 1029netgroup file, 467Netiquette, 1070Netmask, 1071Netnews

answers, finding, 394archive, groups.google.com,

394comp.lang.c newsgroup, 393comp.os.linux.announce

newsgroup, 394comp.os.linux.misc

newsgroup, 393, 394comp.os.linux.networking

newsgroup, 394

comp.os.linux.security newsgroup, 394

comp.os.linux.setup newsgroup, 394

comp.security.firewalls newsgroup, 1023

group structure, 393groups, 393hierarchical structure of

groups, 393history of, 392linux.redhat.install

newsgroup, 393, 394linux.redhat.misc newsgroup,

394linux.redhat.rpm newsgroup,

394misc.jobs.offered newsgroup,

393Mozilla News, 393Netscape News, 393newsgroups, 393nn utility, 393readnews utility, 393rec.skiing newsgroup, 393rn utility, 393sci.med newsgroup, 393soc.singles newsgroup, 393structure of groups, 393talk.politics newsgroup, 393tin utility, 393xrn utility, 393xvnews utility, 393

NetscapeBugSplat, 507history of, 395Navigator, 395netnews, 393

netstat utility, 369Network

@ in an address, 374, 375, 376@ with email, 376100BaseT cable, 36110Base2 cable, 36110BaseT cable, 361address, 1071

@ sign in, 374, 375, 376email, 164mask, 371space, private, 582, 1075

Address Translation. See NATboot, 1070bottleneck, 381

000.book Page 1119 Friday, April 4, 2008 9:22 AM

1120 Index

Network, continuedbroadcast, 360, 1048

address, 1048multicast, compared, 370packet, 367unicast, compared, 367

browser, 395Category 5 cable, 361Category 5e cable, 361Category 6 cable, 359, 361Category 7 cable, 359class, IP address, 368coaxial cable, 361connection, test using ping, 379daemon, 358, 388datagram, 359, 1054DNS, 385domain name, 385dynamic IP address, 368Ethernet, 357, 360, 361, 362,

1057extranet, 359, 1057FDDI, 1057fiberoptic cable, 361fileserver, 697Filesystem. See NFSfirewall, 363frame, 359, 1059gateway, 362, 581, 1059heterogeneous, 667hops, 380host address, 367hostname, FQDN, 373hostname, nickname, 373hub, 361, 580, 1062ICMP packet, 1062Information Service. See NISinterface card. See Network,

NICInternet, 358intranet, 358IP

address, 367address class, 368Next Generation, 373

local area. See LANmetropolitan area. See MANmulticast, 369, 1070nameserver, 385, 386netmask, 1071netnews. See Netnewsnewsgroup, 393NIC, 580, 581

number. See Network, addresspacket, 359, 380, 1073packet filtering, 1073. See also

iptablespacket sniffer, 1073partner net, 359passive hub, 361, 580ping to test, 379point-to-point link, 360port forwarding, 1075PPP protocol, 367private address space, 582,

1075privileged port, 1075protocol, 365remote filesystem, 358resolver, 386route trace, 380router, 361, 362, 363, 581,

1079router, SmoothWall Linux

distribution, 581security

about, 1020guidelines, 1021solutions, 1021

segment, 1071services, 358, 388setting up, 580SLIP protocol, 367sniff, 1082socket, 476static IP address, 368subnet, 371, 1083

about, 371address, 1084mask, 371, 1084number, 1084specifying, 436

switch, 360, 361, 580, 1071switching hub. See Network,

hubTCP/IP protocol, 365thicknet cable, 361thinnet cable, 361Time Protocol. See NTPtoken ring, 1086topology, shared, 1081trace route, 380transfer rate, 361trusted hosts, 376tunneling, 1087, 1088twisted pair cable, 361

UDP, 365, 1087unicast, 367, 1087unicast vs. broadcast, 367unshielded twisted pair cable,

361user communication, 374utilities, 358, 376UTP cable, 361virtual private, 359VPN, 359, 1088WAN. See WANWAP, 581wide area. See WANWi-Fi, 1089wireless

access point, 581, 1089bridge, 581mode, 582NIC, 584

network file, 671, 676newaliases utility, 646NEWLINE key, 17, 290, 291News, Internet. See NetnewsNewsgroup

comp.lang.c, 393comp.os.linux.announce, 394comp.os.linux.answers, 413,

1007comp.os.linux.misc, 393, 394,

413, 1007comp.os.linux.networking,

394comp.os.linux.security, 394comp.os.linux.setup, 394comp.security.firewalls, 1023linux.redhat.install, 394linux.redhat.misc, 394linux.redhat.rpm, 394list of, 1007misc.jobs.offered, 393rec.skiing, 393sci.med, 393soc.singles, 393talk.politics, 393

NFS, 697, 698, 1071/proc/fs/nfs/exports file, 708all_squash option, 712attribute caching options, 702block size, 704client, setting up, 700daemons, 389data flow, 698error handling options, 703

000.book Page 1120 Friday, April 4, 2008 9:22 AM

Index 1121

error message, NFS server xxx not responding, 699

exchanging files, 586export

device file, 708directory hierarchy, 708table, kernel, 708

exportfs utility, 712exports file, 708, 709filesystem, 479fstab file, 701, 702, 705home directories, 586JumpStart

configuring an NFS server with system-config-nfs, 707

mounting a remote directory, 700

line speed, testing, 704miscellaneous options, 703more information, 700mount a filesystem, 700mount utility, 701nfsnobody, 711NIS and, 711options

all_squash, 712attribute caching, 702error handling, 703miscellaneous, 703root_squash, 711

performance, improving, 704portmap utility, 700, 713prerequisites, 700, 706root_squash option, 711security, 700server–server dependency, 715setuid, 701showmount utility, 712stop, 419testing, 713timeout, 703, 704umount utility, 702user ID mapping, 711xtab file, 708, 713

nfs file, 708nfsd daemon, 389, 713nfsnobody, 711NIC, 386, 580, 581, 1071nice() system call, 888Nickname, host, 373nicknames file, 670NIS, 667, 668, 1071

adding users, 675client setup, 671client, test, 673database, 373, 387, 1071domain, 668domain name, 671, 1072GECOS, 682login, 425makedbm utility, 678Makefile, 678map, 669

displaying, 670names, 669nicknames, 670

master server, 668more information, 670need for, 373network file, 671NFS and, 711nicknames file, 670nisdomainname utility, 672passwd utility, 674prerequisites, client, 671prerequisites, server, 675removing users, 675rpcinfo utility, 673securenets file, 678server setup, 675server specify, 672slave server, 668source files, 669testing, 681Yellow Pages, 668yp.conf file, 672ypbind daemon, 673ypbind-mt daemon, 673ypinit utility, 680yppasswd utility, 674yppasswdd daemon, 681ypserv.conf file, 676ypwhich utility, 673ypxfr utility, 680ypxfrd daemon, 680

nisdomainname utility, 672nmap utility, 1029nmbd daemon, 390, 720, 738,

739nmblookup utility, 739, 740nn utility, 393NNTP, 393, 1072No news is good news, 876noacpi boot parameter, 65noapic boot parameter, 65

noapm boot parameter, 65noclobber variable, 225Node, 1072nologin utility, 469nologin.txt file, 456, 469Nonprinting character, 1072Nonrewinding tape device, 558Nonvolatile storage, 1072Normal mode, vim. See vim,

Command modeNOT Boolean operator, 974nsswitch.conf file, 387, 425, 449,

468, 668, 755nst0 file, 558ntfs filesystem, 479NTP, 1072ntp.conf file, 389ntpd daemon, 389Null

builtin (:), 961, 965device, 227string, 942, 1072

null file, 227, 462, 464, 570, 923, 962

Numberblock, 1047device

major, 1068minor, 1069

giga-, 1059hexadecimal, 1061job, 231kilo-, 1065large, 1066magic, 108, 1068mega-, 1068octal, 1072sexillion, 1080tera-, 1085undecillion, 1087

O

–o Boolean operator, 967o filename extension, 181, 863,

865, 871Object file, 863, 864ObjectClass, LDAP, 684Octal number, 1072od utility, 464OLDPWD variable, 346One-time password, 1024Online documentation, 116, 383

000.book Page 1121 Friday, April 4, 2008 9:22 AM

1122 Index

Openfile, 937Group, 246Location dialog box, Nautilus,

258open() system call, 889OpenLDAP, 682OpenOffice.org, 100OpenPGP Message Format, 1018OpenSSH, 1072

.ssh directory, 593authentication, 592, 594authorized keys, 604authorized_keys file, 593automatic login, 604clients, 595compression, 610config file, 601configuration files, 601, 605debugging, 607diff utility, 598encryption, 594files, 592firewall, 609global files, 593host key, 594how it works, 594initial connection to, 596JumpStart

starting the sshd daemon, 603

using ssh and scp, 595known hosts, 596known_hosts file, 594, 596,

597log file, 607more information, 594NFS shared home directories,

and, 586port forwarding, 608prerequisites, 595, 603protocol versions 1 and 2, 592public key encryption, 592recommended settings, 596,

603remote commands, 598rhost authentication, 593scp utility, 595security, 591server authentication, 596session key, 594setup, 596sftp utility, 601

shell, remote, 598ssh directory, 593ssh utility, 592, 595, 597, 598ssh_config file, 601ssh_known_hosts file, 593,

596, 597sshd daemon, 603sshd_config file, 605ssh-keygen utility, 604troubleshooting, 607tunneling, 608user files, 593X11 forwarding, 596, 602,

607, 608Operating system, 1072

generic, 8proprietary, 7

Operations menu, window, 102Operator

bash, 969in expressions, 969redirection, 286

bitwise&, 970, 973^, 970|, 970AND, 370, 371

Boolean, 972!, 313, 970, 974&&, 313, 506, 967, 971,

972, 974|, 1000||, 313, 967, 971, 972, 973–a, 911, 967NOT, 974–o, 967

decrement, 971increment, 971postdecrement, 971postincrement, 971predecrement, 971preincrement, 971relational, 968short-circuiting, 972table of, 969

OPIE utility, 1024, 1029opt directory, 33, 189, 504OPTARG variable, 963Optimizer, C compiler, 864OPTIND variable, 963Option, 1072

bash. See bash, featuresboot, 63

combining, 215defined, 215

OR operator, 967Order file using sort, 145Order of expansion, command

line, 301Ordinary file, 179, 1072Organize a filesystem, 178Other access, 193out shell script, 909Output, 1072

append. See Append, standard output

redirect, 148standard. See Standard, output

Overlay a shell, 290Owner

access, 193file, name of, display using ls,

193, 288

P

P2P, 1073Pack archive file using tar, 153Package. See Software, packagePacket, 1073

broadcast, 367filtering, 1073. See also

iptablesnetwork, 359, 380sniffer, 1073unicast, 367

Page break, 171Pager, 98, 116, 140, 1073Paging, 472, 1073. See also swapPAM, 452, 1073

features, 425more information, 453security, login, 1024stack, 455

pam.conf file, 457pam.d directory, 452, 455, 457,

468Panel

desktop, 97Icon menu, 98menu, KDE, 112Navigation, Konqueror, 272

Parameterexpansion, 346positional, 946shell, 299

000.book Page 1122 Friday, April 4, 2008 9:22 AM

Index 1123

special, 944substitution, 301

Parentdirectory, 179, 180of all processes, 417process, 314, 957, 1073

Parenthesesgrouping commands, 293shell functions, 336

Parse, 217, 342parted utility, 72Partition

/boot, 32, 74, 544/home, 32/usr, 33/var, 32deleting, 70disk, 29, 1073Disk Druid, 66Editor, GNOME, 69gparted editor, 69guided creation, 31LVM, 35parted editor, 72planning, 31RAID, 33, 487resizing, 71size, table of minimum, 33sizes, 31table, 29

Partner net, 359PASC, 280Passive FTP. See FTP, passivePassive hub, 361, 580Passphrase, 1073passwd database, 550, 1060,

1087, 1088passwd file, 305, 424, 468, 565,

667, 919, 920, 1088passwd utility, 405, 406, 471,

674Password, 1073

breaking, 568change, 126, 405criteria, 127group, 465hashed, 470one-time, 1024Samba, 722security, 126Superuser, 568

PASV FTP. See FTP, passivePath, search, 156

PATH variable, 306inherited, 300login, 425Superuser, 405, 412usage, 931

Pathname, 1074~ (tilde) in a, 183absolute, 183, 218, 1044completion, 328defined, 179element, 1074expansion, 233, 302, 349, 350last element of, 1074relative, 184, 185, 218, 1078using, 191

pdf filename extension, 181Peer, BitTorrent, 499Period, leading in a filename, 234Peripheral device. See DevicePermission

access, 1044change using chmod, 194control of, 194directory, 196display using ls, 193execute, 288read, 288types of, 194

execute, 288file access, 194, 465read, 288setgid, 195setuid, 195setuid, set using chmod, 406

Persistent, 1074PGP encryption, 1018pgpkey file. See .pgpkey filePhilosophy, UNIX, 374, 876Phish, 1074php filename extension, 824Physical

device, 1074security, 1026volume. See LVM, PV

PID, 314, 1074$! variable, and, 946$$ variable, 945background process and, 231,

292fg, 294number 1, 314, 417temporary file, use in name of,

933

pidgin utility, 100pidof utility, 411pinfo utility, 119ping utility, 379, 433, 470, 739ping6 utility, 380Pipe, 1074

command separator, 292defined, 228end of line, at, 920filter, 14, 230introduction, 148named, 351, 474, 475, 476noclobber and, 225standard error, and, 285symbol, 1000syntax exception, 920

Pipeline. See Pipepirut utility, 497Pixel, 1074Plaintext, 1014, 1074plan file. See .plan filePluggable Authentication

Module. See PAMPlus sign, 1000Point to give focus, 131Pointer to a file, 202Point-to-point link, 360, 584,

1074Point-to-Point Protocol. See PPPPOP, email, 659pop3-login daemon, 659popd builtin, 298Port, 387, 1074

forwarding, 1075forwarding, OpenSSH, 608privileged, 387, 1020

Portability, 8, 9portmap daemon, 389, 392, 437portmap utility, 700, 713Portmapper, 1075Positional parameter, 300, 946POSIX, 8, 280Postdecrement operator, 971Postfix, 664postfix daemon, 1020Postincrement operator, 971Postmaster, 569PostScript Printer Definition

files, 526Postscript, brace expansion, 344Power management, 388Power, turn off, 428poweroff utility, 426

000.book Page 1123 Friday, April 4, 2008 9:22 AM

1124 Index

ppd filename extension, 526PPD files, 526PPID. See Parent, processPPP protocol, 367, 470, 584pppd daemon, 389praliases utility, 646Preamble, brace expansion, 344Preboot Execution Environment.

See PXEPredecrement operator, 971Preincrement operator, 971Preprocessor directive

#define, 859, 860#include, 861defined, 859macro, 859, 862symbolic constant, 859, 862

PrerequisitesApache, 813automount, 714BitTorrent, 499CUPS, 512DHCP client, 446DHCP server, 447DNS, 755FTP, 615iptables, 793make, 869NFS, 700, 706NIS client, 671NIS server, 675Samba, 721sendmail, 641vsftpd, 624

Pretty Good Privacy. See PGPPrimary

buffer, 102master server, DNS, 748partition, 30

Printfile, 143IPP protocol, 512queue, 529

Printable character, 1075printcap file, 469Printer

See also Printingcapability database, 469configuring with CUPS, 524control characters, 930daemon, 389, 419lpr and, 143page break, 171

sharing, 529skip to top of page, 171top of form, 171using, 143

printer utility, 531Printing

See also PrinterCUPS, 512manager, KDE, 531quotas, 529system, about, 511UNIX traditional, 523Windows, from, 532Windows, to, 534

Privacy Enhanced Mail. See PEM encryption

Private address space, 582, 1075Private key, 1015Privilege, least, 406, 1066Privileged port, 387, 1020, 1075Probe devices, 432proc filesystem, 189, 471, 479,

480, 556Procedural language, 974Procedure, 1075Process, 1075

background, 314, 316, 1046child, 314, 316, 1050defined, 219, 314die, 314, 316first, 417foreground, 1058fork, 314ID. See PIDinit, 417kill, 409parent, 314, 1073parent of all, 417parent-child relationship, 314search for using ps and grep,

410sleep, 219, 316spawn. See Forkspontaneous, 314start, 219structure, 314substitution, 351wake up, 219, 314, 316

Processing a command line, 217procmail daemon, 640procmail utility, 164profile file, 281, 412, 425, 469

Program, 1075See also Builtin; Utilitybadtabs.c, 877keeping current, 868running a, 108stop, 130structures, 974tabs.c, 859terminate, 130X Window System, 247

Programmerapplications, 889systems, 889

Programming tools, 857Project Athena, 246project file. See .project filePROM, 1075Prompt, 1076

#, 405$, 17%, 17bash, 307job control and, 294login, 128, 424PS2, 336PS3, 934representation, 17root, 405secondary, 920shell, 128, 214Superuser, 405

Proprietary operating system, 7Protocol, 1076

connectionless, 1052connection-oriented, 366,

1052datagram-oriented, 367defined, 365DHCP, 445HTTP, 396HTTPS, 396, 847ICMP, 380IPP, 512IPSec, 1021, 1038ISO model, 365network, 365NNTP, 393Point-to-Point, 584PPP, 367, 584SLIP, 367TCP/IP, 365TELNET, 390UDP, 365

000.book Page 1124 Friday, April 4, 2008 9:22 AM

Index 1125

protocols file, 469, 799Proxy, 1076

defined, 391gateway, 391, 1076server, 391, 1076

ps filename extension, 181ps utility, 232, 314, 566, 570,

945PS1 variable, 283, 307PS2 variable, 309, 336PS3 variable, 934PS4 variable, 916Pseudographical interface, 26Pseudoterminal, 463pstree utility, 315pts file, 463pub directory, 619Public key encryption, 1015Public key encryption, OpenSSH,

592Public License, GNU. See GNU,

General Public Licensepublic_html directory, 823pushd builtin, 297putchar C macro, 861pwd builtin, 182, 186, 965pwd utility, 185, 207PWD variable, 346PXE, 699Python, 1076

Q

Qmail, 664, 1020qnx4 filesystem, 479Qt, 253Question mark, 1000Questions, finding answers to,

394Quick substitution, 325Quiescent, 423quiet boot parameter, 50quota utility, 573quotaon utility, 573Quotation mark

double, 301, 348, 905, 949removal, 343single, 138, 301, 920single versus double, 333, 350usage message, 914

Quoting, 1076characters, 138, 291shell variables, 301special characters, 302whitespace, 301

R

Radio button, 1077RAID, 33, 487, 552, 1077RAM, 1077

disk, 36, 1077swap, and, 31, 472testing, 52

Random access memory. See RAM

Random bytes, generating, 463random file, 463Random number generator, 463RANDOM variable, 981RAS, 1025, 1077, 1078Raw

device, 478mode, 477

rbac utility, 1030rc file, 418rc scripts, 418rc.d

about, 422directory, 469init.d directory, 419, 421init.d/kudzu file, 432

rc.local file, 420rc.sysinit file, 418, 485RC5 encryption, 1017rcn.d directory, 418rcp utility, 376RDF, 1077Read

access, 193, 288user input, 953

read builtin, 923, 924, 929, 953, 954, 966

read() system call, 887, 889Readline Library, 318, 326, 328readnews utility, 393readonly builtin, 303, 304, 305,

966Readonly memory. See ROMReadonly variable, 299reboot utility, 426Reboot, system, 124Rebuilding Linux, 537rec.skiing newsgroup, 393Recursion, 975Recursion, infinite, alias, 332,

335Recursive plunge. See Recursion,

infinite, alias

Red HatDirectory Server, 683Enterprise Linux. See RHELKnowledgebase, 1006Network. See RHNPackage Manager. See RPMsecurity information, 1030

Redirectoperators, bash, 286output, 148standard

error, 957, 962input, 224, 957output, 222, 225, 957output and append, 226output and error, 285output of background job,

232output using tee, 230

Redirection, 13, 222, 1077Redundant array of inexpensive

disks. See RAIDReentrant code, 887, 1077Reexecuting commands, 318Refresh screen, 163Regular character, 1078Regular expression, 993, 1078

\(...\) bracket expression, 998ampersand, 999, 1002anchor, 996asterisk, 996bracket, 995bracketing, 998caret, 996delimiter, 994dollar sign, 996empty, 998extended, 1000full, 999longest match, 997period, 995quoted digit, 999quoting parentheses, 998quoting special characters, 997replacement string, 998rules of use, 997simple string, 994special character, 994special character, quoting, 997square bracket, 1050summary, 1001

reiserfs filesystem, 479reject utility, 529

000.book Page 1125 Friday, April 4, 2008 9:22 AM

1126 Index

Relational operator, 968Relative pathname, 184, 185,

218, 1078Release, CVS, 890release command (cvs), 895Religious statue, miniature. See

IconRemainder operator, 972Remap mouse buttons, 252Remote

access security, 1025access server. See RAScomputing and local displays,

248filesystem, 358, 1078login, 126procedure call. See RPC

Removedevice using kudzu, 432directory using rmdir, 190file using rm, 140link using rm, 208software package, 489, 503user, 552variable, 303

remove command, 894Rename

directory using mv, 192file using mv, 142, 191

Repair filesystem, 429Repairing a broken system using

recovery mode, 51Repeating a command, 131Replacement string, 998, 999,

1002REPLY variable, 934, 954repo filename extension, 491Reports, system, 560Request for comments. See RFCRescue CD, 42Rescue mode, 42, 51, 411Reserved port. See Privileged

portreset utility, 433Resizing a window, 101Resolution, changing the display,

132resolv.conf file, 469, 583, 757Resolver, 386, 469, 746, 1078Resource Description

Framework. See RDFResource record, DNS, 749Respawn, 466

Restore, 1078restore utility, 557Return code. See Exit, statusRETURN key, 17, 129, 217, 290Reverse name resolution, DNS,

753rexecd daemon, 390RFC, 1078RHEL (Red Hat Enterprise

Linux)See also Fedora; RHNabout, 28installing, 52versus Fedora, 27

RHN (Red Hat Network), 507database, 507entitle, 507rhnsd daemon, 508server, 507

rhnsd daemon, 508rhost Authentication, OpenSSH,

593Right-handed mouse, 252Ring of trust, 1018Ritchie, Dennis, 9rlogin utility, 358rlogind daemon, 1024rm utility, 140, 208, 334, 474,

910rmdir utility, 190rmmod utility, 544rmt/0 file, 557rn utility, 393Roam, 1078ROM, 1079romfs filesystem, 479Root

directory, 178, 180, 188, 1079domain, DNS, 746filesystem, 1079login, 405, 569, 1079user. See Superuserwindow, 103

root user. See SuperuserRotate file, 571, 1079routed daemon, 390Router, 1079

discussion, 581network, 361, 362, 363setting up with iptables, 805SmoothWall Linux

distribution, 581Routing daemon, 390

RPC, 391, 669, 1079rpc file, 392, 470rpcbind utility, 700rpcinfo utility, 437, 673RPM (Red Hat Package manager)

about, 501binary package, 501database, 503install, 502install kernel binary, 503query file, 502query package, 502rpm utility, 572source package, 501SRPMS, 501uninstall, 503upgrade, 502

rpm utility, 572rpmnew filename extension, 28rquotad daemon, 389RSA encryption, 1016, 1079rsh utility, 358, 376rshd daemon, 1024rsyslog file, 575rsyslog utility, 390rsyslog.conf file, 390, 574rsyslogd daemon, 190, 390, 570,

574, 1024rtag command (cvs), 894Run, 1080

Application window, GNOME, 265

background command, 231command script, 469command scripts. See rc scriptsCommand window, KDE, 275program, 425shell script, 289

Runlevel, 10802, 4243. See Multiuser4, 4245, 424initdefault, and, 418, 467table of, 418

runlevel utility, 428ruptime utility, 566

S

s filename extension, 865, 871S/Key utility, 1024safedit shell script, 931

000.book Page 1126 Friday, April 4, 2008 9:22 AM

Index 1127

saint utility, 1030Samba, 1080

[homes] share, 735about, 719administration. See Samba,

swat utilitybrowser parameters, 733browsing Linux shares from

Windows, 735communication parameters,

734daemons, 720global parameters, 730home directories, sharing, 735JumpStart, configuring a

Samba server with system-config-samba, 723

Linux sharesaccessing from Windows,

735setting up, 724

logging parameters, 733manual configuration, 729mapping a share, 736more information, 721NBT, 1070net use utility (Windows), 739net utility, 720net view utility (Windows), 739NetBIOS, 1070nmbd daemon, 720, 738, 739nmblookup utility, 739, 740password, 722ping utility, 739prerequisites, 721printing from Windows, 533printing to Windows, 534security parameters, 730share, 1080share parameters, 734shared directory, 587SMB, 1081smb.conf file, 729smbclient utility, 720, 737, 740smbd daemon, 720, 738smbpasswd file, 722smbstatus utility, 720, 738smbtree utility, 720, 736smbusers file, 722suite of programs, 720swat utility, 725system-config-samba utility,

723

testparm utility, 738testprns utility, 738troubleshooting, 738user

adding, 724map, 722name, 722nobody, 724

utilities, 720Web Administration Tool. See

Samba, swat utilityWindows

networks, browsing, 737share, 1080shares from Linux, accessing,

736shares, connecting to, 737shares, displaying, 736shares, mounting, 737

WINS, 1089xinetd daemon, 726

samhain utility, 1023, 1030SANS security training and

education, 1030sara utility, 1030sbin directory, 190, 405Scheduling

jobs, 10routine tasks, 559

Schema, 1080Schneier, Bruce, 1030sci.med newsgroup, 393scp utility, 358, 476, 595. See

also OpenSSHScreen, login, 124Screen, refresh, 163script utility, 150Script, init, 469Script, shell. See Shell scriptScroll, 1080Scrollbar, 1080Search

bar, Konqueror, 268engine, 396

database, 396index, 397Web crawler, 396

for a file, 261for Files window, 261keyword using apropos, 157path, 156string using grep, 143using kfind, 268

Secondary prompt, 920Secondary server, DNS, 748Secret key encryption. See

Symmetric key encryption

Secunia vulernability monitoring, 1030

secure file, 453, 473, 1004Secure Sockets Layer. See SSLsecurenets file, 678securetty file, 407Security

access permission, 193, 194accton utility, 1024ACL, 1041, 1044AIDE utility, 413, 1023, 1028ANI, 1026Apache security directives, 838authentication, 1046automatic number

identification, 1026back door, 1046BIND. See Security, DNSBIOS, 569Bugtraq, 1024caller ID, 1026CERT, 568, 1024, 1028checksum, 1050chkrootkit utility, 1028chroot jail. See chroot jailcipher, 1051ciphertext, 1014, 1051cleartext, 1051CLID, 1026cookie, 1052crack utility, 568cracker, 1053cryptography, 1053cypher, 1051DDoS attack, 1054digital signature, 1016DNS, 744, 774DoS attack, 1056DragonSquire IDS, 1023dsniff utility, 1028email, 1019encryption. See EncryptionEnhanced Linux. See SELinuxethereal utility, 1028Fedora, 1023file, 1019finger utility, 375firewall, 363

000.book Page 1127 Friday, April 4, 2008 9:22 AM

1128 Index

Security, continuedFirewall toolkit, 1029Freefire solutions, 1028FTP, 620, 625fwtk utility, 1029GIAC certification and

training, 1029hole, 506host, 1023host based trust, 377host, trusted, 376hosts.equiv file, 376hping utility, 1029in.rexecd daemon, 390Internet, root access, 407IP spoofing, 377IPng, 373IPSec, 1021, 1038IPv6, 373ISC2, 1029John the Ripper utility, 1029keep the system secure, 568Kerberos, 1029, 1065kill, 409lids utility, 1029Linux features, 12LinuxSecurity.com, 1029locktty script, 925login, 1024

account, 377shell, 469

LWN.net, 1029mailing list, bugtraq, 1028man-in-the-middle, 773, 1018,

1021messages, 473MITM. See Man-in-the-middlemore information, 1028MTA, 1019MUA, 1020nessus utility, 1029netcat utility, 1029network

about, 1020guidelines, 1021solutions, 1021

NFS, 700nmap utility, 1029one-time password, 1024OpenSSH. See OpenSSHOPIE utility, 1024, 1029PAM, 425, 1024password, 126, 405, 468

PATH and Superuser, 409PATH variable, 307physical, 1026plaintext, 1014priv utility, 406RAS, 1025rbac utility, 1030Red Hat information, 1030remote access, 1025resources, 1028ring of trust, 1018rlogind daemon, 1024root access, Internet, 407RSA, 1079rshd daemon, 1024rsyslogd daemon, 1024saint utility, 1030samhain utility, 1023, 1030SANS training and

certification, 1030sara utility, 1030Schneier, Bruce, 1030Secunia vulnerability

monitoring, 1030SecurityFocus tools and lists,

1030SELinux, 414setgid, 195setuid, 195, 406, 568SHA1 hash algorithm, 1080shadow file, 470smartcard, 1025snort utility, 1030software, up-to-date, 506spoofing, 377srp utility, 1030ssh. See sshSSL, 1019STARTTLS, 663, 1019su utility, 408sudo utility, 406Superuser and PATH, 409Superuser password, 568swatch utility, 1030TCP wrappers, 441telnet, 378telnetd daemon, 1024TLS, 1019Treachery, tools, 1030tripwire utility, 1023, 1030Trojan horse, 412, 1086trust, 377trusted host, 376

up-to-date software, 506virtual private network, 359virus, 1026, 1088VPN, 359vsftpd, 630wiping a file, 463worm, 1026, 1088, 1090xhost, 250xinetd daemon. See xinetd

daemonsecurity directory, 452, 455SecurityFocus, security tools and

lists, 1030sed utility, 571Seed, BitTorrent, 499Segment, network, 1071select control structure, 933Selection buffer, 102Self-signed certificate, 659, 662,

848SELinux, 414selinux file, 415sendmail. See also Mailsendmail daemon, 390, 464, 639,

640, 644, 646, 1020sendmail, masquerade, 1068sendmail.cf file, 647sendmail.mc file, 642, 648Separating commands, 290Server, 1080

DNScache, 767full-functioned, 777master, 748primary master, 748secondary, 748slave, 780split horizon, 781types of, 748

file, 697FTP, 624mail list, 376, 1007Message Block Protocol. See

Samba, SMBname, 385, 386process, 384proxy, 391setting up, 435, 586vsftpd, 624X, 247, 1090

service utility, 420Service, directory, 1055

000.book Page 1128 Friday, April 4, 2008 9:22 AM

Index 1129

Servicesdaemons providing, 388Internet, 392network, 388nsswitch.conf file, 449

services database, 1074services file, 388, 392, 470Session, 1080

defined, 106failsafe, 1057key, OpenSSH, 594manager, 106, 133

sestatus utility, 416set builtin, 304, 913, 915, 916,

950, 951, 966Set group ID. See SetgidSet user ID. See SetuidSetgid, 195, 1080

root, files belonging to the group, 195, 406

setserial utility, 433Setuid, 195, 406, 1080

at, 406crontab, 406finding files using find, 413grant privileges, 406mount, 481, 701NFS, 701nosuid option to mount, 481,

701root, files owned by, 195, 406security, 568

Sexillion, 1080sftp utility, 601sh filename extension, 871sh Shell, 280, 282, 1048SHA1 hash algorithm, 1080SHA1SUM file, 41sha1sum utility, 41Shading, window, 102shadow file, 424, 470shar shell script, 936Share, 1080share directory, 190Shared

librarycreating, 868using, 866

network topology, 1081object, filename extension, 866

Shares, adding Linux (Samba), 724

Sharing an Internet connection, 805

Shell, 213, 1081archive, 936arithmetic (bash), 966calling program, name of, 947command

grouping, 290, 293interpreter, 105separation, 290substitution, 915, 932

comment, 914comparing strings, 968control structure

break, 926case, 927continue, 926do, 917, 918, 920, 924done, 917, 918, 920, 924elif, 911else, 908esac, 927fi, 904, 911for, 917, 918, 961for...in, 917, 918if, 904, 908, 911if...then, 904if...then...elif, 911if...then...else, 908in, 917then, 904, 908, 911until, 924while, 920, 961

environment variable, 299, 942

exit from, 296features, 338function, 335, 1081job control, 294keyword variable, 300login, 314, 425, 469, 1067name of the calling program,

947options. See Shell, featuresparameter, 299

positional, 300special, 300

prompt, 17, 128, 214, 307readonly variable, 299sh, 280, 282sleep, 219strings, comparing, 968user-created variable, 299variable. See Shell variable

Shell script, 279, 286, 1081# comment, 289#! shell to use, 288/dev/tty for a terminal, 958addbanner, 961bash, 974birthday, 935bundle, 936chkargs, 906, 908command_menu, 929comment, 289configure, 505count, 921cpdir, 293create, 286debug, 916double quotation marks, 949,

954error message, 915, 932executing, 287, 289Here document, 935infinite loop, 960invocation, 289is_regfile, 907links, 912locktty, 925makepath, 975menu, 929out, 909PATH usage, 932quiz, 978quote in, 905, 914, 920, 949read user input, 953recursion, 975running, 289safedit, 931shar, 936specifying a shell, 288spell_check, 922temporary filename, 933, 945usage message, 908, 914, 932user input, 953whos, 919whoson, 287

SHELL variable, 425Shell variable

$!, 946$#, 931, 947$$, 933, 945$*, 948$?, 946$@, 919, 948

000.book Page 1129 Friday, April 4, 2008 9:22 AM

1130 Index

Shell variable, continued$0, 947BASH_ENV, 282CDPATH, 311COLUMNS, 934CVSROOT, 891DISPLAY, 250ENV, 282FCEDIT, 320HISTFILESIZE, 316HISTSIZE, 316HOME, 300, 305, 425, 961IFS, 309INPUTRC, 329keyword, 305LD_LIBRARY_PATH, 867,

868LD_RUN_PATH, 867LINES, 934LOGNAME, 425MAIL, 307, 425MAILCHECK, 307MAILPATH, 307naming, 299noclobber, 225OLDPWD, 346OPTARG, 963OPTIND, 963PATH, 306

example, 931keyword shell variable, 300login, 425root, 405security, 412

PS1, 283, 307PS2, 309, 336PS3, 934PS4, 916PWD, 346quoting, 301RANDOM, 981readonly, 299REPLY, 934, 954SHELL, 425TERM, 125, 425, 462

shells file, 432shift builtin, 949, 964, 966Short-circuiting operator, 972Shortcut, Konqueror, 271Shortcut. See Linkshowmount utility, 712shtml filename extension, 824Shutdown system, 124

shutdown utility, 426, 472Side pane, Nautilus, 257Signal, 1081

defined, 959hang up, 960HUP, 567KILL, 567kill, 960list of, 959names, 959, 962quit, 960software termination, 960TERM, 130terminal interrupt, 960

Signature, digital, 1016Silicon Graphics, 395Simple filename, 183, 185, 218,

1081Single quotation mark, 138, 920Single versus double quotation

marks, 333Single-user

from multiuser, 428maintenance, 423mode, about, 423Superuser, 406system, 1081

Size of file, display using ls, 193skel directory, 551Skip to top of page, 171slapcat utility, 688slappasswd utility, 686Slave server, DNS, 748, 780Sleep, shell, 219sleep system call, 316Slice. See PartitionSLIP protocol, 367Sloppy focus, 131Slow system, 566Smartcard, 1025SMB. See Samba, SMBsmb.conf file, 729smbclient utility, 720, 737, 740smbd daemon, 390, 720, 738smbfs filesystem, 479smbpasswd file, 722smbstatus utility, 720, 738smbtree utility, 720, 736smbusers file, 722Smiley, 1081Smilies, plural of smileysmolt utility, 63

SmoothWall, Linux router distribution, 581

SMTP, 379, 639, 1081Snap, window, 1081SNAT, 806Sneakernet, 1081Sniff, 1082snort utility, 1030so filename extension, 863, 866SOA record, DNS, 751soc.singles newsgroup, 393Socket

about, 476UNIX domain, 475

SOCKS, 1082Soft link. See Symbolic, linkSoftware

add, 497bug, 506free, definition, 1033installing, 489keep up-to-date, 506package, 489

add, 502information, 502remove, 503

termination signal, 960upgrading, 489

Sort, 1082sort utility, 14, 145, 229, 230,

1058source builtin, 283Source code management, 889Source repository, 891SPACE, 138, 1082Spam, 1082

SpamAssassin, 652whois and, 382

spamd daemon, 652, 655Sparse file, 1082Spawn. See ForkSpecial

character, 1082

*, 234?, 233[], 235defined, 138, 233filename generation, 233Here document, 936pathname expansion, 233quoting, 301, 302regular expressions, 993standard input, 936

000.book Page 1130 Friday, April 4, 2008 9:22 AM

Index 1131

fileabout, 474, 475block, 475character, 475device file, 1055

parameters, shell, 300, 944Speed, Internet, 359spell_check shell script, 922Spinner, 1082splash boot parameter, 50splint utility, 878Split horizon server, DNS, 781Splitting, word, 309Spontaneous process, 314Spoofing, IP, 1064Spool, 1082spool directory, 571, 1004SQL, 1082Square bracket, 1083

test, 907SquirrelMail, 656src directory, 190, 538srp utility, 1030ssh directory, 593ssh utility, 126, 358, 388, 476,

584, 592, 595, 597, 598, 1025, 1030. See also OpenSSH

ssh_config file, 601ssh_known_hosts file, 593, 596,

597sshd daemon, 388, 390sshd_config file, 605ssh-keygen utility, 604SSL

Apache, 847email, 662security, 1019

st0 file, 558Stack

defined, 296directory, manipulation, 296LIFO, 296PAM, 455

Stallman, Richard, 2Stand-alone computer, 357Standard

directories and files, 188error, 220, 284, 915, 937,

1083exec, 957file descriptor, 284, 937shell script, 914trap, 962

input, 220, 1083exec, 957file descriptor, 284, 937pipe (|), 292redirect, 224special character, 936

output, 220, 1083append, 226exec, 957file descriptor, 284, 937pipe (|), 292redirect, 222, 230

StandardsFHS, 188Free Standards Group, 188FSG, 188FSSTND, 188Linux Filesystem Hierarchy

Standard, 188Linux Standard Base, 188LSB, 188OpenPGP Message Format,

1018option handling, 965

STARTTLS, security, 663, 1019Startup file, 182, 1083

.bash_login file, 281

.bash_logout file, 281

.bash_profile, 281, 462

.bashrc, 184, 281, 462

.cshrc, 1053

.inputrc, 329

.login, 1067

.logout, 1067

.profile, 281, 462, 1075

.toprc, 563/etc

bashrc, 281, 425profile, 281, 425, 469

bash, 281BASH_ENV variable, 282check for problems, 565ENV variable, 282

startx utility, 128, 248stat utility, 433stat() system call, 888statd daemon, 389Static IP address, 368Statically linked library, 866Status

exit, 1057line, 1083

stdio.h C header file, 861Sticky bit, 1083

Stop a program, 130Stopping a job using the suspend

key, 231strace utility, 887Streaming tape, 1083Streams. See Connection-

oriented protocolString, 1083

comparing, 968double quotation marks, 301finding using grep, 143pattern matching (bash), 968

Stroustrup, Bjarne, 9Structure, data, 1054Structured Query Language. See

SQLstty utility, 462, 925Stylesheet. See CSSsu utility, 406, 407, 408, 568Subdirectory, 178, 1083Subdomain, 746Subnet, 371, 1083

address, 1084mask, 371, 1084number, 1084specifying, 436

Subpixel hinting, 1084Subroutine. See ProcedureSubshell, 289, 293, 1084Substitution

command, 348parameter, 301

sudo utility, 406sudoers file, 406Sun Microsystems, 373, 667, 697Superblock, 1084Supercomputers, 8Superserver. See xinetd daemonSuperuser, 94, 405, 1084

becoming, 406multiuser mode, 406password, 568password, changing a user’s,

127PATH variable, 405PATH, and security, 409powers, 195privileges, 405prompt, 405setuid, 406single-user mode, 406su utility, 406sudo utility, 406

000.book Page 1131 Friday, April 4, 2008 9:22 AM

1132 Index

Suspend key, 129, 130, 171, 231, 295, 959

SVID. See System, V Interface Definition

Swap, 472, 1084filesystem, 31, 472RAM, and, 31, 472space, 1084

swapon utility, 472Swarm, BitTorrent, 499swat utility, 725swatch utility, 1030Switch. See Network, switchSwitching hub, 361, 580sylpheed utility, 164Symbol table, 881Symbolic

constant, 859debugger, 880hostname, 387link, 206, 474, 475, 1066,

1084creating using ln, 206deleting using rm, 208

symlink. See Symbolic, linkSymmetric key encryption, 1016sync utility, 427Syntax, command line, 214sys file, 538sysconfig

about, 471hwconf file, 432

sysctl utility, 537, 538sysctl.conf file, 537System

administrationaccept utility, 529at utility, 559authconfig utility, 430back up files, 557bug, 506chkconfig utility, 422client, specifying, 435communicate with users, 563configuration file rules, 435consolehelper utility, 408,

427crontab utility, 559dmesg utility, 418, 432dump utility, 557e2label utility, 432edquota utility, 573exportfs utility, 428

filebackup, 552growing, 570

filesystemintegrity, 484mount remote, 700repair, 429

free space, disk, 570fsck utility, 429, 484gdmsetup utility, 88group, add, 552groupadd utility, 552groupdel utility, 552groupmod utility, 552halt utility, 426, 427, 428host, specifying, 435hosts.allow file, 438hosts.deny file, 438init scripts, 418init utility, 424, 425KDE, 112Kickstart utility, 78kill builtin, 408, 410killall utility, 411kudzu utility, 432log in problem, 565log, machine, 567logwatch utility, 569lpadmin utility, 527lpinfo utility, 526lsof utility, 567memtest86+ utility, 52mkfs utility, 432more information, 413mount remote filesystem,

700mount utility, 428multiuser mode, 423multiuser/graphical mode,

424parted utility, 72password, modify, 551pidof utility, 411poweroff utility, 426problems, 565ps utility, 232, 314, 566, 570quota utility, 573quotaon utility, 573reboot utility, 426reject utility, 529reports, 560rescue mode, 411restore utility, 557

rpcinfo utility, 437rpm utility, 501rsyslogd daemon, 574runlevels, 418schedule tasks, 559SELinux, 414service utility, 420setuid files, finding, 413shutdown utility, 426single-user mode, 423, 428slow system, 566su utility, 407subnet, specifying, 436sync utility, 427system does not boot, 429telinit utility, 428tools, 405top utility, 562Trojan horse, 412trouble alias, 567tune2fs utility, 432, 485umask builtin, 433umount utility, 428, 483uname utility, 434user

add, 550, 551cannot log in, 565getting information to, 563modify, 550, 551remove, 552

useradd utility, 551userdel utility, 552usermod utility, 552vmstat utility, 561wall utility, 428wget utility, 508xinetd daemon, 439

administrator, 94, 1084powers, 195, 405responsibilities, 403Superuser, 195

boot, 417bring down, 426bring up, 417bug, 506call, 858, 887, 888

bad, trapping, 959C, from, 858chmod(), 889chown(), 889close(), 889creat(), 889defined, 10, 887

000.book Page 1132 Friday, April 4, 2008 9:22 AM

Index 1133

device, raw, 478exec(), 289, 888exit(), 888filesystem operations, 888fork(), 289, 314, 316, 888gethostbyname(), 755getpid(), 888getppid(), 888kill(), 888lseek(), 889manual section, 117nice(), 888open(), 889process control, 888read(), 887, 889sleep(), 316stat(), 888tracing with strace, 887unlink(), 889wait(), 888write(), 887, 889

console, 125, 423, 1085crash, 428dataless, 699, 1054diskless, 698does not boot, 429error messages, 473initialization, customize, 419logging in, 96logs, 574maintenance, 423messages, 473, 574mode, 1085operation, 417powering down, 428programmer, 889reboot, 124, 426reports, 560rescue mode, 42security, 568shutdown, 124, 426single-user, 1081system-config-nfs utility, 707V Interface Definition, 9V UNIX, 1085well-maintained, 404

system services database, 1062system-config-bind utility, 759system-config-date utility, 430system-config-display utility, 80system-config-firewall utility, 794system-config-httpd utility, 816

system-config-keyboard utility, 430

system-config-kickstart utility, 78system-config-language utility,

430system-config-lvm utility, 35system-config-network utility, 583system-config-network-cmd utility,

431system-config-nfs utility, 707system-config-rootpassword utility,

431system-config-samba utility, 723system-config-securitylevel utility,

794, 803system-config-selinux utility, 416system-config-services utility, 420system-config-soundcard utility,

431system-config-users utility, 550sysv filesystem, 479

T

T-1 line, 360T-3 line, 360TAB key, 138Table, hash, 1060tabs.c program, 859tail utility, 144, 232talk utility, 376, 390talk.politics newsgroup, 393talkd daemon, 390Tanenbaum, Andrew, 4, 479Tape

archive. See tar utilitydevice, 557, 558mt utility, 559nonrewinding, 558streaming, 1083

tar file, 153tar utility, 153, 293, 554, 556tar.bz2 filename extension, 154tar.gz filename extension, 154tar.Z filename extension, 154,

181Tarball, 153Target file, make, 869Taskbar, KDE, 99tbz filename extension, 154TC Shell, 1085TCP, 1085TCP wrappers, 441

TCP/IP, 365, 391tcsh, 1085tee utility, 230Teletypewriter, 1087telinit utility, 423, 428telnet utility, 126, 358, 377, 378,

845, 1020telnetd daemon, 390, 1024Temporary file, 933Tera-, 1085TERM signal, 130TERM variable, 125, 425, 462Termcap, 1010, 1011termcap file, 1085Terminal, 1085

ASCII, 1045character-based, 1050console, 1052emulator

GNOME, 105, 265KDE, 105, 273telnet, 125

file, 220interrupt signal, 960name

ansi, 1011linux, 1011vt100, 462, 1011vt102, 1011vt220, 1011xterm, 1011

pseudo, 463Server Project, Linux, 698specifying, 1010standard input, 221standard output, 221X, 1090

Terminate a program, 130Terminfo, 1010, 1011terminfo database, 165terminfo directory, 1085Ternary operator, 971, 973test builtin, 905, 906, 907, 911,

915, 918, 920, 966test utility, 906testparm utility, 738testprns utility, 738Text

box, 1085echo, 149file, 164

Textual interface, 26tftp utility, 699

000.book Page 1133 Friday, April 4, 2008 9:22 AM

1134 Index

tftpd daemon, 390tgz filename extension, 181Theme, 1085Theme, desktop, 96, 111then control structure, 904, 908,

911Thicknet, 361, 1085Thinnet, 361, 1085Thompson, Ken, 9, 1046Thread, 886, 887Three-finger salute, 427Thumb, 1085tif filename extension, 181, 1086tiff filename extension, 181,

1086Tilde expansion, 183, 305, 345Tiled windows, 1086time builtin, 966Time to live. See TTLtimed daemon, 390tin utility, 393Titlebar, 101TkCVS utility, 898TLS, security, 1019tmp directory, 571, 933Toggle, 1086Token, 214, 342Token ring network, 1086Toolbar

defined, 102Extra, Konqueror, 268illustration, 109Konqueror, 109, 267, 268Nautilus, 258

Tooltip, 98, 1086Top of form, 171top utility, 562, 566Top-down design, 980torrent filename extension, 499Torrent, BitTorrent, 499torrentinfo-console utility, 500Torvalds, Linus, 1, 2, 3, 6, 1065touch utility, 191, 872tput builtin, 925tr utility, 151, 228, 285traceroute utility, 380traceroute6 utility, 381Tracker, BitTorrent, 499Transactions signatures, DNS.

See DNS, TSIGTransfer rate, network, 361Transient window, 1086

Transmission Control Protocol. See TCP

Transmission Control Protocol/Internet Protocol. See TCP/IP

Transport Layer Security. See TLS

trap builtin, 925, 959, 966Treachery, security tools, 1030Tree structure, 178tripwire utility, 1023, 1030Trojan horse, 412, 868, 1086Trolltech, 253Troubleshooting, DNS, 775true utility, 961Trusted host, 376tset utility, 433TTL, 1086TTL, DNS, 751tty file, 958tty utility, 220TTY. See Teletypewritertune2fs utility, 432, 485Tunneling, 1087Tunneling, OpenSSH, 608Tutorial

FTP, 616Using vim to create and edit a

file, 164Twisted pair cable, 361txt filename extension, 181, 235type builtin, 953, 966Type of file, display using ls, 193Typeface conventions, 17typescript file, 150typeset builtin, 303, 944Typo, correcting, 129tz filename extension, 154

U

U.S. Library of Congress, 378UCE. See Spamudev utility, 475UDP, 365, 1087UDP/IP, 391ufs filesystem, 479ufsdump utility, 464UID, 1087

effective, 1056passwd file, in, 468

ulimit builtin, 881umask builtin, 433, 469, 966

umount utility, 428, 467, 483, 702

umsdos filesystem, 479unalias builtin, 332, 335uname utility, 434uncompress utility, 181Undecillion, 1087Undeclared variable, 942Unicast packet, 367, 1087Unicast vs. broadcast, 367Unicode, 1087uniq utility, 146Unique filename, 933, 945University of Illinois, 395UNIX

Bourne Shell, 280domain socket, 475philosophy, 374printing, traditional, 523System V, 6, 1085System V Interface Definition.

See System, V Interface Definition

unix2dos utility, 151, 620unlink() system call, 889Unlock view, Konqueror, 271Unmanaged window, 1087Unmount a busy filesystem, 483Unpack archive file using tar, 153unset builtin, 303, 336, 966Unshielded twisted pair. See UTPuntil control structure, 924unzip utility, 153update command (cvs), 893updatedb utility, 63, 158Upgrade. See Fedora, installingUpgrading software, 489ups utility, 880, 886Uptime, display using w, 162uptime utility, 162urandom file, 463URI, 1087URL, 396, 1087Usage message, 214, 908, 914,

932, 1087Usenet, 392, 396User

accounts, manage, 550add, 550, 551authentication, 424cannot log in, 565communication, network, 374created variable, 299, 300

000.book Page 1134 Friday, April 4, 2008 9:22 AM

Index 1135

Datagram Protocol. See UDPfinger, 159ID. See UIDinterface, 1063, 1088map, Samba, 722mode, 1088modify, 550, 551name, Samba, 722name. See Usernamenfsnobody, 711nobody, Samba, 724private groups, 465remove, 552root. See SuperuserSamba, 724Superuser. See Superuserw, 161who, 159

user_list file (vsftpd), 636useradd utility, 551userdel utility, 552usermod utility, 552Username, 468, 470, 1088Userspace, 1088usr partition, 33UTC, 1088Utility, 1088

accept, 529accton, 1024adduser, 551AIDE, 413, 1023, 1028amanda, 554anacron, 559apm, 428apropos, 63, 116, 157, 1005aspell, 921, 923at, 388, 464, 559authconfig, 430automount, 714basename, 931, 932, 961bison, 16bittorrent-curses, 499builtin versus, 906bunzip2, 152, 156bzcat, 153bzip2, 152, 156, 556bzip2recover, 153cancel, 523cat, 139, 221, 223, 224, 284,

910chkconfig, 422chkrootkit, 1028chmod, 194, 288

chsh, 432clear, 432compress, 153, 181consolehelper, 408, 427cp, 141, 192, 293cpio, 555, 556crack, 568crontab, 464, 559cut, 347cvs, 890date, 149, 227ddd, 880, 886depmod, 544df, 699dhclient, 446diff, 147, 598dig, 382, 754, 758, 776dmesg, 418, 432, 547dos2unix, 151, 620DragonSquire, 1023dsniff, 1028dump, 557e2label, 432edquota, 573egrep, 999emacs, 164ethereal, 1028Evolution, 164exportfs, 428, 712fdformat, 482file, 147, 473, 571find, 413, 571, 913, 916find using whereis, 156find using which, 156finger, 159, 374, 375, 389, 919flex, 16fsck, 429, 478, 484, 569ftp, 358, 468, 614, 620fuser, 483fwtk, 1029gawk, 919, 920gcc, 9, 862gcc (GNU), 878gdb, 880, 881gdm, 426gdm (GNOME), 88gdmsetup, 88getty, 314gnome-appearance-properties,

263gnome-control-center, 110gnome-search-tool, 261gnome-terminal, 265

gopher, 395gparted, 69gprof, 16gq, 692grep, 143, 229, 919, 920, 923,

935, 1049, 1058groupadd, 552groupdel, 552groupmod, 552groups, 465grub, 545gunzip, 153gzip, 153halt, 426, 427, 428head, 144host, 382, 755hostname, 141, 374hping, 1029id, 408info, 118, 237, 1005init, 314, 417, 423, 424, 425,

427, 466insmod, 544ipchains, 790iptables, 789iptables-restore, 802iptables-save, 802iwconfig, 584John the Ripper, 1029jwhois, 382kcolorchooser, 274kcron, 560kdbg, 880kdm (KDE), 88kerberos, 1025, 1029kfind, 268Kickstart, 78killall, 411klipper, 103, 275konsole, 273kudzu, 432, 582ld, 867ldapadd, 688ldapmodify, 687ldapsearch, 687ldd, 866, 867ld-linux.so, 867less, 116, 140, 230, 292, 910lids, 1029links, 396lint, 878ln, 204, 206, 474locate, 63, 158

000.book Page 1135 Friday, April 4, 2008 9:22 AM

1136 Index

Utility, continuedlock, 925login, 314, 424logresolve, 830logrotate, 571logwatch, 569lp, 523lpadmin, 527lpinfo, 526lpq, 143, 523lpr, 143, 229, 231, 523lprm, 143, 523lpstat, 143, 523ls, 139, 185, 193, 196, 205,

234, 288lsmod, 544lsof, 567lynx, 396mail, 164, 568mailq, 646mailstats, 647make, 154, 868, 869, 874makedbm, 678makemap, 647makewhatis, 63, 158man, 14, 116, 120md5sum, 42memtest86+, 52mesg, 163mingetty, 314, 424, 467mkdir, 185, 187, 701mkfifo, 476mkfs, 432, 482, 569mkswap, 472modinfo, 544modprobe, 544more, 140, 230, 910mount, 428, 467, 480, 481,

701, 737mt, 559mv, 142, 191, 474mxgdb, 880names, typeface, 17nessus, 1029net, 720net use (Windows), 739net view (Windows), 739netcat, 1029netstat, 369network, 358, 376newaliases, 646nisdomainname, 672nmap, 1029

nmblookup, 739, 740nn, 393nologin, 469od, 464OPIE, 1024, 1029option, 215parted, 72passwd, 405, 406, 471, 674pidgin, 100pidof, 411pinfo, 119ping, 379, 433, 470, 739ping6, 380pirut, 497portmap, 700, 713poweroff, 426praliases, 646printer, 531procmail, 164ps, 232, 314, 566, 570, 945pstree, 315pwd, 185, 207qmail, 1020quota, 573quotaon, 573rbac, 1030rcp, 376readnews, 393reboot, 426reject, 529reset, 433restore, 557rlogin, 358rm, 140, 208, 334, 474, 910rmdir, 190rmmod, 544rn, 393rpcbind, 700rpcinfo, 437, 673rpm, 572rsh, 358, 376rsyslog, 390runlevel, 428ruptime, 566S/Key, 1024saint, 1030samhain, 1023, 1030sara, 1030scp, 358, 476, 595. See also

OpenSSHscript, 150sed, 571service, 420

sestatus, 416setserial, 433sftp, 601sha1sum, 41showmount, 712shutdown, 426, 472slapcat, 688slappasswd, 686smbclient, 720, 737, 740smbstatus, 720, 738smbtree, 720, 736smolt, 63snort, 1030sort, 14, 145, 229, 230, 1058splint, 878srp, 1030ssh, 126, 358, 388, 476, 584,

592, 595, 597, 598, 1025, 1030. See also OpenSSH

ssh-keygen, 604startx, 128, 248stat, 433strace, 887stty, 462, 925su, 406, 407, 408, 568sudo, 406swapon, 472swat, 725swatch, 1030sylpheed, 164sync, 427sysctl, 537, 538system-config-bind, 759system-config-date, 430system-config-display, 80system-config-firewall, 794system-config-httpd, 816system-config-keyboard, 430system-config-kickstart, 78system-config-language, 430system-config-lvm, 35system-config-network, 583system-config-network-cmd, 431system-config-nfs, 707system-config-rootpassword, 431system-config-samba, 723system-config-securitylevel, 794,

803system-config-selinux, 416system-config-services, 420system-config-soundcard, 431system-config-users, 550

000.book Page 1136 Friday, April 4, 2008 9:22 AM

Index 1137

tail, 144, 232talk, 376, 390tar, 153, 293, 554, 556tee, 230telinit, 423, 428telnet, 126, 358, 377, 378, 845,

1020test, 905, 906, 911, 915, 966testparm, 738testprns, 738tftp, 699tin, 393TkCVS, 898top, 562, 566torrentinfo-console, 500touch, 191, 872tr, 151, 228, 285traceroute, 380traceroute6, 381tripwire, 1023, 1030true, 961tset, 433tty, 220tune2fs, 432, 485typeset, 303udev, 475ufsdump, 464umount, 428, 467, 483, 702uname, 434uncompress, 181uniq, 146unix2dos, 151, 620unzip, 153updatedb, 63, 158ups, 880, 886uptime, 162useradd, 551userdel, 552usermod, 552uucp, 393vimtutor, 164vmstat, 561w, 161, 566wall, 428, 563wc, 347webalizer, 851wget, 508whatis, 63, 158whereis, 157which, 156who, 159, 220, 227, 229, 468,

572whois, 382

write, 159, 162, 563X Window System, 247xargs, 571xclock, 108xev, 248xhost, 249Xinerama, 1090xmodmap, 252Xorg, 246xrn, 393xvnews, 393xxgdb, 880, 885ypinit, 680yppasswd, 674ypwhich, 673ypxfr, 680yum. See yumyumdownloader, 496zcat, 153zip, 153

UTP cable, 361uucp utility, 393

V

var filename extension, 824var partition, 32Variable, 299, 1088

braces, 302completion, 329default value, assign, 951display error message, 952environment, 299expansion, 346, 951exported, 957global, 299, 957keyword, 300local, 316, 957modifiers, 951naming, 299readonly, 299remove, 303shell, 299substitute default value, 951substitution, 301undeclared, 942user created, 299, 300

VeriSign, 1016vfat filesystem, 479VG. See LVM, VGvi bash command line editor, 326Video card, configure, 82View pane, Nautilus, 257

View, Konqueror, 109, 270Viewport. See Workspacevim

bash command line editor, 326case sensitivity, 1049Command mode, 166correct a mistake, 169, 170create a file, 164d command, 170dd command, 170delete text, 170edit a file, 164end a session, 171enter text, 167exit from, 171exit, emergency, 165getting started, 165Input mode, 166, 167insert text, 170Last Line mode, 167move the cursor, 169Normal mode. See vim,

Command modepage break, 171quit, 171replacement string, 1002safedit script, 931special characters, 1002starting, 165terminal specification, 1010u command, 170undo changes, 170Work buffer, 171x command, 170ZZ command, 171

vimtutor utility, 164Virtual

console, 125, 1088filesystem, 480memory, 472private network. See VPN

virtusertable file, 651, 652Virus, 1026, 1088VLAN, 1088vmstat utility, 561Volume group. See LVM, VGVolume label, 432, 483VPN, 359, 1088vsftpd

See also FTPchroot jail, 628configuration file, 626connection parameters, 634

000.book Page 1137 Friday, April 4, 2008 9:22 AM

1138 Index

vsftpd, continueddisplay, 632downloading files, 630files, 636log, 633logging in (users), 627messages, 632PASV connections, 634PORT connections, 634prerequisites, 624security, 630server, 624stand-alone mode, 624, 627starting, 625testing, 625uploading files, 630

vsftpd.conf file, 626vsftpd.log file, 636vt100 terminal, 462, 1011vt102 terminal, 1011vt220 terminal, 1011Vulcan death grip, 427

W

w utility, 161, 566W2K, 1089W3. See World Wide WebW3C, 1089wait builtin, 966wait() system call, 888Wake up, process, 316wall utility, 428, 563WAN, 16, 360, 362, 363, 1089WAP, 581, 1089wc utility, 347Web

See also World Wide Webcrawler, 396ring, 1089shortcuts, Konqueror, 266

webalizer utility, 851Webmail, 656Weissman, Terry, 507wget utility, 508whatis database, 63, 158whatis utility, 63, 158wheel group, 456whereis utility, 157which utility, 156while control structure, 920,

956, 961, 964

Whitespace, 1089command line, 291defined, 138quoting, 301

who am i, 159who utility, 159, 220, 227, 229,

468, 572whois utility, 382whos shell script, 919whoson shell script, 287Wide area network. See WANWidget, 1089Wi-Fi, 1089Wildcard, 1089. See also

MetacharacterWindow, 1089

active, 131cascading, 1049clipboard, 103Configure Panel, 113context menu, 102cut and paste, 102cycling, 102decorations, 133defined, 100file, 220focus

click-to-focus, 131enter-only focus, 131explicit focus, 131focus-follows-mouse, 131focus-strictly-under-mouse,

131focus-under-mouse, 131input focus, 131point to give focus, 131sloppy focus, 131

ignored, 1062input focus, 102, 131List, GNOME, 99Location bar, 109manager, 15, 16, 1089

about, 133Compiz Fusion, 133Metacity, 133

menubar, 109minimize, 1069mouse buttons, remap, 252Operations menu, 102resizing, 101root, 103scrollbar, 1080Search for Files, 261

shading, 102snap, 1081thumb, 1085tiled, 1086titlebar, 101toolbar, 109transient, 1086typical, 101unmanaged, 1087wobbly, 133

Windowsconvert files, 151dual-boot system, 79filename limitation, 180integration. See Sambanet use utility (Samba), 739net view utility (Samba), 739networks, browsing using

Samba, 737privileged port, 1075Samba. See Sambashares from Linux, accessing

using Samba, 736shares, connecting to using

Samba, 737shares, displaying using

Samba, 736shares, mounting, 737

winprinter, 517WINS, 1089Wiping a file, 463Wire. See CableWireless. See Network, wirelessWobbly windows, 133Word, 1089

defined, 129, 214, 954deleting, 129designator, 322erase key, 217parse a command line, 342splitting (bash), 309

Work buffer, 1089Work buffer, vim, 171Working directory, 1090

change using cd, 186defined, 182execute a file in, 307PATH, 287relative pathnames and, 184significance of, 184versus home directory, 187

Workspace, 1090defined, 96GNOME, 15

000.book Page 1138 Friday, April 4, 2008 9:22 AM

Index 1139

Konqueror, 270Switcher, GNOME, 99

Workstation, 7, 1090World Wide Web

about, 395Berners-Lee, Tim, 395CERN, 395Consortium, 1089Enquire, 395HTML, 395hypermedia, 396hypertext, 395link, hypertext, 395Mosaic browser, 395name, 395origins, 395overview, 395search engine, 396URL, 396Web crawler, 396

Worm, 1026, 1088, 1090Write access, 193write utility, 159, 162, 563write() system call, 887, 889wtmp file, 190, 572www directory, 819WWW. See World Wide WebWYSIWYG, 1090

X

XConsortium, 246server, 1090terminal, 247, 1090

X Window System, 15, 80, 1090application (client), 247client, 247client and server, 247color depth, 251display number, 250DISPLAY variable, 250display, access to, 249emergency exit, 252event, 247exiting from, 252freedesktop.org group, 254history, 246ID string, 250layers, 246library, 134Metacity window manager,

133

mousebuttons, remap, 252left-handed, 252right-handed, 252wheel, 252

multiple X servers, 251program, 247remote computing and local

displays, 248resolution, changing, 132screen number, 250server, 247server process, 567setup, system-config-display

utility, 80stack, 246starting, 128, 248utilities

clients, 247startx, 248xclock, 108xmodmap, 252

window manager, 133X stack, 246X.org versus XFree86, 246X11 forwarding, OpenSSH,

596, 602, 607, 608X11R6.6, 246X11R7.0, 80xev utility, 248XFree86 versus X.org, 246Xinerama, 1090Xlib, 246xorg.conf file, 82

X.org, 80X11 directory, 80, 189X11R6.6, 246X11R7.0, 80xargs utility, 571xclock utility, 108XDMCP, 1090xDSL, 1090xev utility, 248xfs filesystem, 479xhost utility, 249Xinerama, 1090xinetd daemon, 388, 390, 421,

422, 439, 726xinetd.conf file, 421, 439xinetd.d directory, 421, 439XINU, 4Xlib, 246XML, 1090

xmodmap utility, 252xorg file, 80Xorg utility, 246xorg.conf file, 82Xremote, 367xrn utility, 393XSM, 1090xtab file, 708, 713xterm terminal name, 1011xvnews utility, 393xxgdb utility, 880, 885

Y

y filename extension, 871Yellow Pages, 668yp.conf file, 672ypbind daemon, 673ypbind-mt daemon, 673ypinit utility, 680yppasswd utility, 674yppasswdd daemon, 681yppasswdd file, 682ypserv.conf file, 676ypwhich utility, 673ypxfr utility, 680ypxfrd daemon, 680yum, 490

automatically running, 496configuration file, 490install option, 493remove option, 494update option, 492using, 492

yum.conf file, 490yum.repos.d directory, 490yum.repos.d file, 491yumdownloader utility, 496yum-updatesd daemon, 496yum-updatesd.conf file, 496

Z

Z filename extension, 153, 181Z Shell, 1090zcat utility, 153zero file, 464Zimmerman, Phil, 1018zip utility, 153Zone, DNS, defined, 746zsh shell, 1090Zulu time. See UTC

000.book Page 1139 Friday, April 4, 2008 9:22 AM