red hat: the complete reference enterprice linux & feodora tm edition

985
< Day Day Up > Red Hat: The Complete Reference Enterprise Linux & Fedora Edition: The Complete Reference by Richard L. Petersen ISBN:0072230754 McGraw-Hill © 2004 (797 pages) Use this comprehensive guide to maximize the powerful capabilities of Red Hat Enterprise and Fedora Linux. Coverage includes Bluecurve, KDE, GNOME, deploying and managing servers and users, the 2.6 kernel, system and network security, and more. Table of Contents Red Hat The Complete Reference Enterprise Linux & Fedora Edition Introduction Part I - Getting Started Ch apt er 1 - Introduction to Red Hat Linux Ch apt er 2 - Installing Red Hat and Fedora Core Linux Ch apt er 3 - Interface Basics Ch apt er 4 - Red Hat System Configuration Ch apt er 5 - Red Hat Network Configuration Part II - Environments Ch apt er 6 - GNOME Ch apt er 7 - The K Desktop Environment: KDE This document is created with the unregistered version of CHM2PDF Pilot

Upload: ibrahim-haddad

Post on 08-Dec-2016

242 views

Category:

Documents


0 download

TRANSCRIPT

  • < Day Day Up >

    Red Hat: The Complete Reference Enterprise Linux &Fedora Edition: The Complete Reference

    by Richard L. Petersen ISBN:0072230754

    McGraw-Hill 2004 (797 pages)

    Use this comprehensive guide to maximize the powerfulcapabilities of Red Hat Enterprise and Fedora Linux.Coverage includes Bluecurve, KDE, GNOME,deploying and managing servers and users, the 2.6kernel, system and network security, and more.

    Table of Contents

    Red Hat The Complete Reference Enterprise Linux & Fedora Edition

    Introduction

    Part I - Getting Started

    Chapter1

    - Introduction to Red Hat Linux

    Chapter2

    - Installing Red Hat and Fedora Core Linux

    Chapter3

    - Interface Basics

    Chapter4

    - Red Hat System Configuration

    Chapter5

    - Red Hat Network Configuration

    Part II - Environments

    Chapter6

    - GNOME

    Chapter7

    - The K Desktop Environment: KDE

    This document is created with the unregistered version of CHM2PDF Pilot

  • Chapter8

    - The Shell

    Chapter9

    - Shell Configuration

    Chapter10

    - Managing Linux Files, Directories, and Archives

    Part III - Applications

    Chapter11

    - Office and Database Applications

    Chapter12

    - Graphics Tools and Multimedia

    Chapter13

    - Mail and News Clients

    Chapter14

    - Web, FTP, and Java Clients

    Chapter15

    - Network Tools

    Part IV - Security

    Chapter16

    - Encryption, Integrity Checks, and Signatures GNU Privacy Guard

    Chapter17

    - Internet Protocol Security: IPsec

    Chapter18

    - Secure Shell and Kerberos

    Chapter19

    - Network Firewalls: Netfilter

    Part V - Red Hat Servers

    This document is created with the unregistered version of CHM2PDF Pilot

  • Chapter20

    - Server Management

    Chapter21

    - FTP Servers

    Chapter22

    - Web Servers: Apache

    Chapter23

    - Proxy Servers Squid

    Chapter24

    - Mail Servers: SMTP, POP, and IMAP

    Chapter25

    - Print Servers

    Chapter26

    - News and Search Servers

    Part VI - System Administration

    Chapter27

    - Basic System Administration

    Chapter28

    - Managing Users

    Chapter29

    - Software Management

    Chapter30

    - File System Management

    Chapter31

    - RAID and LVM

    This document is created with the unregistered version of CHM2PDF Pilot

  • Chapter32

    - Devices and Modules

    Chapter33

    - Kernel Administration

    Part VII - Network Administration

    Chapter34

    - Domain Name System

    Chapter35

    - DHCP Server

    Chapter36

    - NFS and NIS

    Chapter37

    - Samba

    Chapter38

    - Administering TCP/IP Networks

    AppendixA

    - About the DVD-ROM

    Index

    List of Figures

    List of Tables

    List of Code Examples

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

  • < Day Day Up >

    Back Cover

    Maximize the powerful capabilities of Red Hat Enterprise and Fedora Linux using this comprehensive andup-to-date reference. You ll get full details on everything from installation and configuration to system administrationand server management of Enterprise Linux with specifics on the Linux Kernel 2.6. Thorough security coverageincludes GPG, IPSec, SSH, Kerberos, and firewalls. Learn to deploy and manage Web proxy, mail, and printserver, and administer users, software, and file systems.

    Install, manage, secure, and administer Enterprise Linux 3.0 and Fedora Master Bluecurve, KDE, GNOME, office and multimedia applications, the shell, file systems, and Internet

    clients Deploy and manage servers vsftpd and ProFTP (FTP), Apache (Web), Sendmail and Postfix (mail), Squid

    (proxy), CUPS (print), and HTDig (search), SAMBA and NFS (file), NIS, and BIND (DNS), and DHCP Master the complete suite of Red Hat system and network administration tools Manage users, services, journaling file systems, RAID devices, LVM volumes, and printers Reconfigure the 2.6 kernel and its modules Ensure system and network security using packet filtering, authentication, digital signatures, VPNs, IPSEC,

    and encryption Deploy powerful desktop, office, database, graphic, editing, and Internet applications

    About the Author

    Richard Petersen, MLIS, teaches UNIX and C/C++ courses at the University of California at Berkeley. He is theauthor of Linux: The Complete Reference (all four editions), Linux Programming: A Beginner s Guide, andmany other titles.

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

  • < Day Day Up >

    Red Hat The CompleteReference Enterprise Linux &Fedora Edition

    Richard Petersen

    McGraw-Hill/Osborne2100 Powell Street, 10th FloorEmeryville, California 94608U.S.A.

    To arrange bulk purchase discounts for sales promotions, premiums, or fund-raisers, please contact McGraw-Hill/Osborne at the above address. For information on translations or book distributors outside the U.S.A., please seethe International Contact Information page immediately following the index of this book.

    Copyright 2004 by The McGraw-Hill Companies. All rights reserved. Printed in the United States of America.Except as permitted under the Copyright Act of 1976, no part of this publication may be reproduced or distributed inany form or by any means, or stored in a database or retrieval system, without the prior written permission of thepublisher, with the exception that the program listings may be entered, stored, and executed in a computer system,but they may not be reproduced for publication.

    1234567890 DOC DOC 019876543

    Book p/n 0-07-223076-2 and DVD p/n 0-07-223077-0parts ofISBN 0-07-223075-4

    Publisher Brandon A. Nordin

    Vice President & Associate Publisher Scott Rogers

    Editorial Director Tracy Dunkelberger

    This document is created with the unregistered version of CHM2PDF Pilot

  • Project Editor Carolyn Welch

    Acquisitions Coordinator Jessica Wilson

    Technical Editor Dean Henrichsmeyer

    Technical Reviewer Ibrahim Haddad

    Copy Editor Bob Campbell

    Proofreaders Claire Splan, Mike McGee

    Indexer Claire Splan

    Composition George Toma Charbak, Jim Kussow,Kelly Stanton-Scott

    Illustrators Kathleen Fay Edwards,Melinda Moore Lytle

    Series Design Peter F. Hancik, Lyssa Wald

    This book was composed with Corel VENTURA Publisher.

    Information has been obtained by McGraw-Hill/Osborne from sources believed to be reliable. However, becauseof the possibility of human or mechanical error by our sources, McGraw-Hill/Osborne, or others, McGraw-Hill/Osborne does not guarantee the accuracy, adequacy, or completeness of any information and is not responsible forany errors or omissions or the results obtained from use of such information.

    To my sisters-in-law, Marylou and Valerie

    This document is created with the unregistered version of CHM2PDF Pilot

  • About the Author

    Richard Petersen holds a M.L.I.S. in Library and Information Studies. He currently teaches Unix and C/C++courses at the University of California, Berkeley.

    About the Technical Reviewer

    Ibrahim Haddad is a Researcher at the Open System Lab (Ericsson Corporate Unit of Research), located inMontreal, Canada. He is involved with the system architecture of third-generation wireless IP networks andrepresents Ericsson on the Technical Board of the Open Source Development Labs, the Carrier Grade LinuxWorking Group. His other commitments include serving as Contributing Editor to the Linux Journal and LinuxWorldmagazine as well as contributing articles to the O'Reilly Network and Linux User & Developer magazine. He hasdelivered a number of presentations and tutorials at local universities, IEEE and ACM conferences, Open Sourceforums, and international conferences. Ibrahim contributed to Richard Petersen's book Red Hat Linux PocketAdministrator, published by McGraw-Hill/Osborne. He received his bachelor and master degrees in ComputerScience from the Lebanese American University. He is currently a Dr. Sc. Candidate at Concordia University inMontreal. Academic awards include the "J. W. McConnell Memorial Graduate Fellowship" and the "ConcordiaUniversity 25th Anniversary Fellowship," both received in 2000.

    About the Technical Editor

    Dean Henrichsmeyer has been using Linux since 1995. He has a B.S. in Computer Science and has been an activemember of the Linux community, presenting at Linux focused tradeshows such as LinuxWorld Conference and Expo.He's worked for VA Research (now known as VA Software) since 1999. He currently is working for OSDN, theOpen Source Development Network, where, among other things, he is the site director for Linux.com.

    Acknowledgments

    I would like to thank all those at McGraw-Hill/Osborne, who made this book a reality: Tracy Dunkelberger, EditorialDirector, for her continued encouragement and analysis as well as management of such a complex project; DeanHenrichsmeyer and Ibrahim Haddad, technical editor and technical reviewer, whose analysis and suggestions provedvery insightful and helpful; Jessica Wilson, acquisitions coordinator, who provided needed resources and helpfuladvice; Bob Campbell, copy editor, for excellent editing as well as his insightful comments; and project editorCarolyn Welch, who incorporated the many features found in this book and coordinated the intricate task ofgenerating the final version. Thanks also to Scott Rogers who initiated the project.

    Special thanks to Linus Torvalds, the creator of Linux, and to those who continue to develop Linux as an open,professional, and effective operating system accessible to anyone. Thanks also to the academic community, withoutwhose special dedication Unix would not be the flexible and versatile operating system it is today. I would also like tothank professors and students at the University of California, Berkeley, for their experience and support in developingnew and different ways of understanding operating system technologies.

    I would also like to thank my parents, George and Cecelia, and my brothers George, Robert, and Mark for theirsupport and encouragement with such a difficult project. Also Valerie and Marylou and my nieces and nephewsAleina, Larisa, Justin, Christopher, and Dylan, for their support and deadline reminders.

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

  • < Day Day Up >

    Introduction

    The Red Hat Linux distribution has become one of the major Linux distributions, bringing to the PC all the power andflexibility of a Unix workstation as well as a complete set of Internet applications and a fully functional desktopinterface. This book is designed not only to be a complete reference on Linux, but also provides clear and detailedexplanations of Linux features. No prior knowledge of Unix is assumed; Linux is an operating system anyone can use.

    Red Hat has split its Linux development into two lines: Red Hat Enterprise Linux and the Fedora Project. RedHat Enterprise Linux features commercial enterprise products for servers and workstations, with controlled releasesissued every two years or so. The Fedora Project is an Open Source initiative whose Fedora Core release will beissued every six months on average, incorporating the most recent developments in Linux operating system featuresas well as supported applications. The Fedora release consists entirely of Open Source software. Development iscarried out, using contributions from Linux developers, allowing them to promote enhancements, new features, andcutting-edge applications. The project operates like other open source projects, with releases keeping pace with thecourse of rapid online development. Unlike Red Hat Enterprise Linux, the Fedora Core version of Linux is entirelyfree, though not supported by Red Hat, Inc. You can download the most current version, including test betas, from fedora.redhat.com. The Fedora Project release will replace the original entry-level Red Hat Linux distribution. TheFedora Project will also provide Fedora extras, software that enhances the core collection, and Fedora alternatives,popular alternatives to core software applications.

    The Red Hat Enterprise line of products is designed for corporate, research, and business applications. Theseproducts focus on reliability, stability, and performance. They are released on a much more controlled schedule thanthe Fedora Project versions. What was once the low-cost consumer version of Red Hat Linux will be replaced by ascaled-down commercial Enterprise version for consumers and small businesses. Red Hat offers three Enterpriseversions: one for the workstation and two for servers. Red Hat Enterprise AS provides the highest level of supportfrom intense mission critical requirements for all aspects of network support, including servers, databases, andsecurity. Red Hat Enterprise ES provides a similar package but one geared to mid-level business requirements. TheRed Hat Enterprise WS implements a workstation with a wide range of clients that can be used for either Red HatEnterprise ES or AS networks.

    This book covers the current Fedora Core release, while maintaining compatibility with Red Hat Enterprise Linux.The complete Fedora Core release is provided on the DVD-ROM included with this book. This book identifiesseven major Linux topics: Basic setup, environments, applications, security, servers, system administration, andnetwork administration. Whereas the book details the latest Red Hat tools, desktops, and kernel featured in theFedora Project, it also covers in depth the network servers, administrative tasks, and applications featured in RedHat Enterprise Linux. The book can be used as a comprehensive reference for both Red Hat Enterprise Linux andthe Fedora Project.

    The first two sections of the book are designed to cover tasks you would need to perform to get your system up andrunning. After an introduction to the working environment, including both GNOME and KDE desktops, you learnhow to quickly update your system, manage users and groups, and set up your printer using the Red Hatadministrative tools. The software management is nearly automatic, letting you install software on your system,

    This document is created with the unregistered version of CHM2PDF Pilot

    http://fedora.redhat.com

  • including applications, with just a couple of mouse clicks. Internet access can be set up for modems, DSL, wireless,and Ethernet networks with easy-to-use administrative tools that guide you every step of the way. Many people nowuse Linux to set up a home or local business network. The steps involved to implement a basic network can now becarried out using simple software tools. You can even install Bluetooth devices. All these topics are covered ingreater detail later in the book.

    GNOME and the K Desktop Environment (KDE) have become standard desktop Graphical User Interfaces (GUI)for Linux and are noted for their power, flexibility, and ease-of-use. These are complete desktop environments thatare more flexible than either Windows or the Mac/OS. You can install both, run applications from on the other, andeasily switch from one to the other. Both have become integrated components of Linux, with applications and toolsfor every kind of task and operation. Instead of treating GNOME and KDE as separate entities, GNOME and KDEtools and applications are presented throughout the book.

    Linux is also a fully functional Unix operating system. It has all the standard features of a powerful Unix system,including a complete set of Unix shells such as BASH, TCSH, and the Z-shell. Those familiar with the Unix interfacecan use any of these shells, with the same Unix commands, filters, and configuration features.

    For the Internet, Linux has become a platform for very powerful network applications. With Linux you can become apart of the Internet by creating your own Web and FTP sites. Other users can access your Linux systems, several atthe same time, using different services. You can also use very powerful GNOME, KDE, and Unix clients for mail andnews. Linux systems are not limited to the Internet. You can use it on any local intranet, setting up an FTP or Website for your network. Red Hat Linux comes equipped with variety of fully functional servers already installed andready to use.

    A wide array of applications operates on Red Hat Linux. Numerous GNOME and KDE applications are continuallyreleased through their respective Web sites. The GNU general public licensed software provides professional-levelapplications such as programming development tools, editors, and word processors, as well as numerous specializedapplications such as those for graphics and sound. A massive amount of software is available at online Linux sites like sourceforge.net where you can download Open Source applications and then easily install them onto your system.

    Since this book is really five books in one a user interface book, a security book, a server book, a networking book,and an administration book how you choose to use it depends upon how you want to use your Red Hat Linuxsystem. Almost all Linux operations can be carried out using either the GNOME or KDE interfaces. You can focuson the GNOME and KDE chapters and their corresponding tools and applications. On the other hand, if you want todelve deeper into the Unix aspects of Linux, you can check out the Shell chapters and the corresponding shell-basedapplications in other chapters. If you only want to use Linux for its Internet services, then you should concentrate onthe Internet clients and servers. If you want to use Linux as a multiuser system servicing many users or integrate it intoa local network, you can use the detailed system, file, and network administration information provided in theadministration chapters. None of these tasks are in any way exclusive. If you are working in a business environment,you will probably make use of all three aspects. Single users may concentrate more on the desktops and the Internetfeatures, whereas administrators may make more use of the security and networking features.

    Part I of this book is designed to help you start using Red Hat Linux quickly. It provides an introduction to Red HatLinux along with a listing of Linux resources, including software repositories, documentation sites, newsgroups, andLinux news and development sites. The next chapter covers the streamlined installation procedure for mostdistributions, which takes about 30 minutes or less. The installation program from Red Hat provides excellentcommentary, describing each step in detail. In this section you also learn the essentials of using both GNOME andKDE, along with the basics of working on the shell command line. System configuration tasks like adding printers andcreating new user accounts are presented with the easiest methods, without much of the complex detail described in

    This document is created with the unregistered version of CHM2PDF Pilot

  • the administration chapters that is unnecessary for basic operations. Basic network configuration tasks are discussedsuch as setting up a LAN, DSL, or Wireless connection to an Internet Service Provider (ISP). You also learn thebasics of how to set up a small local network.

    Part II of this book deals with Red Hat Linux environments. Here you are introduced to the different kinds of userenvironments available for Linux, starting with KDE and GNOME. Different features such as applets, the Panel, andconfiguration tools are described in detail. With either of these interfaces, you can run all your applications usingicons, menus, and windows. At any time, you can open up a terminal window through which you can enter standardLinux commands on a command line. You can also choose to use just the standard Unix command line interface torun any of the standard Unix commands. Next, the BASH shell and its various file, directory, and filter commands areexamined.

    Part III of this book discusses in detail the many office, multimedia, and Internet applications you can use on yourLinux system, beginning with Office suites like OpenOffice and KOffice. The different database management systemsavailable are also discussed along with the Web site locations where you can download them. A variety of differenttext editors are also available, including several GNOME and KDE editors, as well as the Vim (enhanced VI), gvim(graphical Vi), and GNU Emacs editors. Linux automatically installs mail, news, FTP, and Web browserapplications, as well as FTP and Web servers. Both KDE and GNOME come with a full set of mail, news, FTPclients, and Web browsers. There are also many independent mail clients, newsreaders, and Internet tools you caneasily install from your desktop.

    Part IV demonstrates how to implement security precautions using encryption, authentication, and firewalls.Coverage of the General Public License Privacy Guard (GPG) shows you how to implement public and private keybased encryption. IPsec tools let you use the IPSEC protocol to encrypt and authenticate network transmissions.Network security topics cover firewalls and encryption using netfilter (iptables) to protect your system, the SecureShell (SSH) to provide secure remote transmissions, and Kerberos to provide secure authentication.

    Part V discusses Internet servers you can run on Red Hat Linux, including FTP, Web, and DNS servers. Internetservers have become integrated components of most Linux systems. Both the standard vsftpd FTP server and theProFTPD server with its directive format are presented, covering features like guest and virtual FTP sites. TheApache Web server chapter covers standard configuration directives like those for automatic indexing as well as thenewer virtual host directives. Sendmail, Postfix, IMAP, and POP mail servers are covered. The INN news server,CUPS print server, the Squid proxy server, and the ht:/DIG search server are also examined.

    Part VI discusses system administration topics including user, software, file system, device, and kernel administration.There are detailed descriptions of the configuration files used in administration tasks and how to make entries in them.First, basic system administration tasks are covered such as selecting runlevels, monitoring your system, andscheduling shutdowns. Then aspects of setting up and controlling users and groups are discussed. Presentationsinclude both the GUI tools you can use for these tasks and the underlying configuration files and commands.Software installation has been simplified with package management systems like the Red Hat Package Manager(RPM) and redhat- config-packages. Then, different file system tasks are covered such as mounting file systems,selecting device names, configuring RAID devices and LVM volumes, and using CD and DVD R/RW drives. Deviceconfiguration covers topics such as device files, installing printers, and using the kernel modules to support newdevices. Using, updating, and configuring the Linux kernel with its modules is covered in detail along with proceduresfor installing new kernels.

    Part VII covers network administration topics such as configuring remote file system access and setting up firewalls.Configuration files and features for the Domain Name System (DNS) and its BIND server are examined in detailalong with features like virtual domains and IP aliases. With Linux you can easily set up your own Domain Name

    This document is created with the unregistered version of CHM2PDF Pilot

  • server for a local network. You also learn how to implement your own Dynamic Host Configuration Protocol(DHCP) server to dynamically assign hosts IP addresses. The various network file system interfaces and services likeNFS for Unix and NIS networks are presented. The chapter on Samba shows you how to access Windows filesystems and printers. Then, the different aspects of network administration are discussed such as networkconnections and routes, Domain Name services, Hostname designations, IP virtual hosts, and IP masquerading.Finally, there is an appendix covering what is available on the DVD-ROM included with this book.

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

  • < Day Day Up >

    Part I: Getting Started

    Chapter List Chapter 1: Introduction to Red Hat Linux Chapter 2: Installing Red Hat and Fedora Core Linux Chapter 3: InterfaceBasics Chapter 4: Red Hat System Configuration Chapter 5: Red Hat Network Configuration

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

  • < Day Day Up >

    Chapter 1: Introduction to RedHat Linux

    Overview

    Linux is a fast, stable, and open source operating system for PC computers and workstations that featuresprofessional-level Internet services, extensive development tools, fully functional graphical user interfaces (GUIs), anda massive number of applications ranging from office suites to multimedia applications. Linux was developed in theearly 1990s by Linus Torvalds, along with other programmers around the world. As an operating system, Linuxperforms many of the same functions as Unix, Macintosh, Windows, and Windows NT. However, Linux isdistinguished by its power and flexibility, along with being freely available. Most PC operating systems, such asWindows, began their development within the confines of small, restricted personal computers, which have onlyrecently become more versatile machines. Such operating systems are constantly being upgraded to keep up with theever-changing capabilities of PC hardware. Linux, on the other hand, was developed in a different context. Linux is aPC version of the Unix operating system that has been used for decades on mainframes and minicomputers and iscurrently the system of choice for network servers and workstations. Linux brings the speed, efficiency, scalability,and flexibility of Unix to your PC, taking advantage of all the capabilities that personal computers can now provide.

    Technically, Linux consists of the operating system program, referred to as the kernel, which is the part originallydeveloped by Linus Torvalds. But it has always been distributed with a massive number of software applications,ranging from network servers and security programs to office applications and development tools. Linux has evolvedas part of the open source software movement, in which independent programmers joined together to provide freequality software to any user. Linux has become the premier platform for open source software, much of it developedby the Free Software Foundation's GNU project. Many of these applications are bundled as part of standard Linuxdistributions. Currently, thousands of open source applications are available for Linux from sites like the OpenSource Development Network's (OSDN) sourceforge.net, the software depositories rpmfind.net and freshmeat.net,KDE's apps.kde.com, and GNOME's www.gnome.org.

    Along with Linux's operating system capabilities come powerful networking features, including support for Internet,intranets, and Windows and Apple networking. As a norm, Linux distributions include fast, efficient, and stableInternet servers, such as the Web, FTP, and DNS servers, along with proxy, news, and mail servers. In other words,Linux has everything you need to set up, support, and maintain a fully functional network.

    With the both GNOME and K Desktop, Linux also provides GUI interfaces with that same level of flexibility andpower. Unlike Windows and the Mac, Linux enables you to choose the interface you want and then customize itfurther, adding panels, applets, virtual desktops, and menus, all with full drag-and-drop capabilities andInternet-aware tools.

    Linux does all this at the right price. Linux is free, including the network servers and GUI desktops. Unlike the official

    This document is created with the unregistered version of CHM2PDF Pilot

    http://sourceforge.nethttp://rpmfind.nethttp://freshmeat.nethttp://apps.kde.comhttp://www.gnome.org

  • Unix operating system, Linux is distributed freely under a GNU General Public License as specified by the FreeSoftware Foundation, making it available to anyone who wants to use it. GNU (the acronym stands for "GNU's NotUnix") is a project initiated and managed by the Free Software Foundation to provide free software to users,programmers, and developers. Linux is copyrighted, not public domain. However, a GNU public license has muchthe same effect as the software's being in the public domain. The GNU general public license is designed to ensureLinux remains free and, at the same time, standardized. Linux is technically the operating system kernel, the coreoperations, and only one official Linux kernel exists. People sometimes have the mistaken impression that Linux issomehow less than a professional operating system because it is free. Linux is, in fact, a PC, workstation, and serverversion of Unix. Many consider it far more stable and much more powerful than Windows. This power and stabilityhave made Linux an operating system of choice as a network server.

    To appreciate Linux completely, you need to understand the special context in which the Unix operating system wasdeveloped. Unix, unlike most other operating systems, was developed in a research and academic environment. Inuniversities, research laboratories, data centers, and enterprises, Unix is the system most often used. Its developmenthas paralleled the entire computer and communications revolution over the past several decades. Computerprofessionals often developed new computer technologies on Unix, such as those developed for the Internet.Although a sophisticated system, Unix was designed from the beginning to be flexible. The Unix system itself can beeasily modified to create different versions. In fact, many different vendors maintain different official versions of Unix.IBM, Sun, and Hewlett-Packard all sell and maintain their own versions of Unix. The unique demands of researchprograms often require that Unix be tailored to their own special needs. This inherent flexibility in the Unix design inno way detracts from its quality. In fact, this flexibility attests to the ruggedness of Unix, allowing it to adapt topractically any environment. This is the context in which Linux was developed. Linux is, in this sense, one otherversion of Unix a version for the PC. The development of Linux by computer professionals working in a research-likeenvironment reflects the way Unix versions have usually been developed. Linux is publicly licensed and free andreflects the deep roots Unix has in academic institutions, with their sense of public service and support. Linux is atop-rate operating system accessible to everyone, free of charge.

    As a way of introducing Linux, this chapter discusses Linux as an operating system, the history of Linux and Unix, theoverall design of Linux, and Linux distributions. This chapter also discusses online resources for documentation,software, and newsgroups, plus Web sites with the latest news and articles on Linux. Web and FTP site listings areplaced in tables for easy reference. Here you can find sites for different distributions, Linux publications, softwarerepositories, and Linux development, as well as for office suites and commercial databases.

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

  • < Day Day Up >

    Red Hat and Fedora Linux

    Red Hat Linux is currently the most popular Linux distribution. As a company, Red Hat provides software andservices to implement and support professional and commercial Linux systems. Red Hat has split its Linuxdevelopment into two lines: Red Hat Enterprise Linux and the Fedora Project. Red Hat Enterprise Linux featurescommercial enterprise products for servers and workstations, with controlled releases issued every two years or so.The Fedora Project is an Open Source initiative whose Fedora Core release will be issued every six months onaverage, incorporating the most recent development in Linux operating system features as well as supportedapplications. Red Hat freely distributes its Fedora version of Linux under the GNU General Public License; thecompany generates income by providing professional-level support, consulting services, and training services. TheRed Hat Certified Engineers (RHCE) training and certification program is designed to provide reliable and highlycapable administrators and developers help to maintain and customize professional-level Red Hat systems. Red Hathas forged software alliances with major companies like Oracle, IBM, Dell, and Sun.

    Currently, Red Hat provides several commercial products, known as Red Hat Enterprise Linux. These include theRed Hat Enterprise Advanced Server for intensive enterprise-level tasks; Red Hat Enterprise ES, which is a versionof Linux designed for small businesses and networks; and Red Hat Enterprise Work Station. Red Hat also maintainsfor its customers the Red Hat Network, which provides automatic updating of the operating system and softwarepackages on your system. You can also use the same Red Hat Network update tool to automatically update FedoraLinux. Specialized products include the Stronghold secureWeb server, versions of Linux tailored for IBM andItanium-based servers, and GNUPro development tools.

    Red Hat also maintains a strong commitment to Open Source Linux applications. Red Hat originated the RPMpackage system used on several distributions, which automatically installs and removes software packages. Red Hatis also providing much of the software development for the GNOME desktop, and it is a strong supporter of KDE.On Red Hat, GNOME and KDE are configured to appear the same, using a standardized interface called Bluecurve.

    Red Hat provides an extensive set of configuration tools designed to manage tasks such as adding users, startingservers, accessing remote directories, and configuring devices such as your monitor or printer. These tools areaccessible on the System Settings and Server Settings menus and windows, as well as by their names, all beginningwith the term "redhat-config" (see Chapters 4 and 5). Of particular note is the new package management tool thatlets you easily install or remove software packages, arranged in recognizable categories.

    Note Though Red Hat supports both theGNOME and KDE desktop interfaces,the Bluecurve interface provides thesame look and feel for both desktops,integrating them into one visually similarinterface, with menus, windows, andpanels appearing approximately thesame, though their underlyingcapabilities differ (see Chapters 6 and 7).

    This document is created with the unregistered version of CHM2PDF Pilot

  • The new release of Red Hat features key updates to critical applications as well as new tools replacing former ones.Red Hat includes the GNOME desktop, the Apache Web server, GNU Compiler Collection (GCC), and GNUJava Compiler (GJC). New configuration tools, including redhat-config-packages for managing software andredhat-config-xfree86 for configuring your display hardware, have been added and others have been updated,redhat-config-networks, for instance, which now supports wireless networks. Red Hat now installs both the Postfixand Sendmail mail servers and lets you seamlessly switch between both.

    Installing Red Hat has become a fairly simple process, using a graphical interface with each step displaying detailedexplanations and advice. The Red Hat and Fedora distributions organize their installation to cater to several differentuses, as a server, a workstation, and a personal desktop. The personal desktop option installs preselected software(such as office and multimedia applications) for home and personal use. It features a streamlined GNOME desktopinterface. The workstation option installs desktop, office, development, and administration software. The serveroption installs all the standard servers, including the mail and FTP servers, along with default configurations andserver administration tools. You can also elect to customize your installation, selecting your own mix of installedsoftware.

    The Red Hat Fedora distribution of Linux is available online at numerous FTP sites. Red Hat Fedora maintains itsown FTP site at fedora.redhat.com, where you can download the entire current release of Fedora Linux, as well asupdates and third-party software. Red Hat was designed from its inception to work on numerous hardwareplatforms. Currently, Red Hat supports Sparc, Intel, and Alpha platforms. See www.redhat.com for moreinformation, including extensive documentation such as Red Hat manuals, FAQs, and links to other Linux sites.

    If you purchase Red Hat Linux from Red Hat, you are entitled to online support services. Although Linux is free, RedHat as a company specializes in support services, providing customers with its expertise in developing solutions toproblems that may arise or using Linux to perform any of several possible tasks, such as e-commerce or databaseoperations.

    The Fedora Project

    The Fedora core release is maintained and developed by an Open Source project called the Fedora Project. Therelease consists entirely of Open Source software. Development is carried out using contributions from Linuxdevelopers, allowing them free reign to promote enhancements and new features. The project is designed to workmuch like other open source projects, with releases keeping pace with the course of rapid online development. TheFedora Core versions of Linux are entirely free. You can download the most current version, including betas, from fedora.redhat.com. You can update Fedora using the Red Hat update agent (RHN) to access the Redhat FedoraYum repository. Updating can be supported by any one of several Yum Fedora repositories, which you canconfigure RHN to access in the /etc/sysconfig/rhn/sources configuration file. The Fedora Project release replacesthe original standard Red Hat Linux version that consisted of the entry-level Red Hat release. In addition to theFedora Core software, the Fedora project will also provide popular compatible packages as part of the FedoraExtras and Fedora Alternative Collections.

    Red Hat Enterprise Linux

    The Red Hat Enterprise line of products is designed for corporate, research, and business applications. Theseproducts focus on reliability and stability. They are released on a much more controlled schedule than the FedoraProject versions. What was once the low-cost consumer version of Red Hat Linux will be replaced by a

    This document is created with the unregistered version of CHM2PDF Pilot

    ftp://fedora.redhat.comhttp://www.redhat.comftp://fedora.redhat.com

  • scaled-down commercial Enterprise version for consumers and small business. Red Hat offers three Enterpriseversions one for the workstation and two for servers. Red Hat Enterprise AS provides the highest level of supportfrom intense mission critical requirements for all aspects of network support, including servers, databases, andsecurity. Red Hat Enterprise ES provides a similar package, but one geared to mid-level business requirements. TheRed Hat Enterprise WS implements a workstation with a wide range of clients that can be used for either Red HatEnterprise ES or AS networks.

    Red Hat Documentation

    Red Hat maintains an extensive library of Linux documentation that is freely accessible online (see Table 1-1). Fromits home page, you can link to its support page, which lists the complete set of Red Hat manuals, all in Web pageformat for easy viewing with any Web browser. These include the Reference Guide, the Getting Started Guide, andthe Installation Guide. Tip, HOW-TO, and FAQ documents are also provided. Of particular note are the HardwareCompatibility Lists. This documentation lists all the hardware compatible with Red Hat Linux. For PC users, thisincludes most hardware, with few exceptions. All the Red Hat documentation is freely available under the GNUGeneral Public License. Before installing Red Hat Linux on your system, you may want to check the onlineInstallation guide. This is a lengthy and detailed document that takes you through each step of the process carefully. Ifyour system is designed for any special tasks, be sure to consult the Customization guide, which covers a variety oftopics, such as automatic installation on networks using Red Hat kickstart; network services like Samba, Apache,and FTP; system administration tools; and software package installation and management. Red Hat also providesdocumentation on implementing PPP Internet connections, Samba file sharing, Apache Web server, firewalls, andmail servers. Table 1-1: Red Hat Linux Resources

    References

    Description

    www.redhat.com The Red Hat Web site

    www.redhat.com/support The Support page for Red Hat Linux, including links tocurrent online documentation

    fedora.redhat.com The Fedora Project, current free Open Source releasesof Red Hat

    fedora.redhat.com/docs Documentation and support tutorials for Fedora Corereleases

    The Official Red Hat Linux Getting Started Guide A getting-started guide for first-time users

    The Official Red Hat Linux x86 Installation Guide A detailed installation guide for Red Hat Linux

    This document is created with the unregistered version of CHM2PDF Pilot

    http://www.redhat.comhttp://www.redhat.com/supportftp://fedora.redhat.comhttp://fedora.redhat.com/docs

  • Red Hat Linux Installation Gotchas Installation troubleshooting

    Red Hat Reference Guide The Red Hat Reference

    Red Hat Customization Guide Topics covering common customization tasks and tools,such as server configurations

    Official Red Hat Linux Security Guide A comprehensive guide to all aspects of user, system,and network security

    Red Hat Linux System Administration Primer An overview of administration tasks and concepts

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

  • < Day Day Up >

    Red Hat Linux Fedora Core

    Red Hat Linux Fedora Core provides several new features, along with improved aspects of Red Hat 8 and 9.Though it does not include the new 2.6 kernel, it does use the latest 2.4 kernel, 2.4.22. Several new features includeBluetooth and ACPI support:

    Enhanced Bluetooth support includes firmware loader, protocol analyzer, and personal network support.

    The Advanced Configuration and Power Interface (ACPI) is supported with the adpid daemon.

    CUPS is now the only print server included. LPRng has been dropped entirely.

    Support is included for DVD+R/RW writers, the dvd+rw tools

    It includes version 3.2.3 of GCC compiler, gcc32.

    Internet Security Protocol (IPSEC) tools are now available.

    The kernel now supports the Exec shield, which makes segments of the kernel nonexecutable, providinggreater security.

    The kernel can now prevent certain kernel modules from being loaded, ensuring more centralized controlover the kernel configuration.

    The kernel also supports a laptop mode that schedules task to accommodate laptop power-saving features.

    Two older mail clients have been dropped, exmh and pine.

    This document is created with the unregistered version of CHM2PDF Pilot

  • With the kernel now including the sound support, the sndconfig tool has been dropped.

    As implemented with Red Hat 9, the Fedora Core continues support for the Native POSIX Thread Library(nptl). The thread library allows applications to be organized into separate threads, letting the processor runthem more efficiently. With threading, parts of code in different threads can be run at the same time.

    Red Hat is continuing its migration from LILO to GRUB and will soon drop LILO altogether.

    The tripwire intrusion detection software has been dropped due to development constraints.

    Red Hat continues its migration to UTF-8, the Unicode encoding for a Universal Character Set (UCS).UTF-8 is compatible with standard ASCII character files and provides a standardized method for encodingand implementing all languages. UTF-8 is now the default.

    The vsftp FPT server is the only FTP server now included. The older Washington University FTP server hasbeen dropped entirely (wu-ftpd).

    As initiated with Red Hat 8, the Fedora Core continues to refine the Bluecurve interface, providing aseamless graphical GUI for both GNOME and KDE.

    With the Fedora Core, Red Hat now has a complete range of Red Hat administration tools, all of which include aGNOME interface (see Table 1-2). Table 1-2: Red Hat Administration Tools

    Administration Tool

    Operation

    redhat-config-bind

    A Red Hat DNS configuration tool

    redhat-config-date

    A graphical interface for modifying the system date and time

    redhat-config-httpd

    Apache configuration tool

    This document is created with the unregistered version of CHM2PDF Pilot

  • redhat-config-keyboard

    A graphical interface for modifying the keyboard

    redhat-config-kickstart

    A graphical interface for making kickstart files

    redhat-config-language

    A graphical interface for modifying the system language

    redhat-config-mouse

    A graphical interface for configuring mice

    redhat-config-network

    The network administration tool for Red Hat Linux

    redhat-config-nfs

    The NFS server configuration tool

    redhat-config-packages

    The package manager for Linux RPM software

    redhat-config-printer

    A printer configuration back end/front end combination

    redhat-config-printer-gui

    A GUI front end for printconf

    redhat-config-proc

    A configuration tool for operating system tunable parameters

    redhat-config-rootpassword

    A graphical interface for modifying the root password

    redhat-config-samba

    Samba server configuration tool

    redhat-config-securitylevel

    A graphical interface for modifying the system security level

    redhat-config-services

    An initscript and xinetd configuration utility

    redhat-config-soundcard

    A graphical interface for detecting and configuring sound cards

    redhat-config-users

    A graphical interface for administering users and groups

    This document is created with the unregistered version of CHM2PDF Pilot

  • redhat-config-xfree86

    A graphical interface for configuring XFree86

    redhat-logviewer

    A graphical interface for viewing log files

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

  • < Day Day Up >

    Operating Systems and Linux

    An operating system is a program that manages computer hardware and software for the user. Operating systemswere originally designed to perform repetitive hardware tasks, which centered around managing files, runningprograms, and receiving commands from the user. You interact with an operating system through a user interface,which allows the operating system to receive and interpret instructions sent by the user. You only need to send aninstruction to the operating system to perform a task, such as reading a file or printing a document. An operatingsystem's user interface can be as simple as entering commands on a line or as complex as selecting menus and iconson a desktop.

    An operating system also manages software applications. To perform different tasks, such as editing documents orperforming calculations, you need specific software applications. An editor is an example of a software applicationthat enables you to edit a document, making changes and adding new text. The editor itself is a program consisting ofinstructions to be executed by the computer. For the program to be used, it must first be loaded into computermemory, and then its instructions are executed. The operating system controls the loading and execution of allprograms, including any software applications. When you want to use an editor, simply instruct the operating systemto load the editor application and execute it.

    File management, program management, and user interaction are traditional features common to all operatingsystems. Linux, like all versions of Unix, adds two more features. Linux is a multiuser and multitasking system. As it isa multitasking system, you can ask the system to perform several tasks at the same time. While one task is beingdone, you can work on another. For example, you can edit a file while another file is being printed. You do not haveto wait for the other file to finish printing before you edit. As it is a multiuser system, several users can log in to thesystem at the same time, each interacting with the system through his or her own terminal.

    As a version of Unix, Linux shares that system's flexibility, a flexibility stemming from Unix's research origins.Developed by Ken Thompson at AT&T Bell Laboratories in the late 1960s and early 1970s, the Unix systemincorporated many new developments in operating system design. Originally, Unix was designed as an operatingsystem for researchers. One major goal was to create a system that could support the researchers' changingdemands. To do this, Thompson had to design a system that could deal with many different kinds of tasks. Flexibilitybecame more important than hardware efficiency. Like Unix, Linux has the advantage of being able to deal with thevariety of tasks any user may face. The user is not confined to limited and rigid interactions with the operating system.Instead, the operating system is thought of as making a set of highly effective tools available to the user. Thisuser-oriented philosophy means you can configure and program the system to meet your specific needs. With Linux,the operating system becomes an operating environment.

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

  • < Day Day Up >

    History of Linux and Unix

    As a version of Unix, the history of Linux naturally begins with Unix. The story begins in the late 1960s, when aconcerted effort to develop new operating system techniques occurred. In 1968, a consortium of researchers fromGeneral Electric, AT&T Bell Laboratories, and the Massachusetts Institute of Technology carried out a specialoperating system research project called MULTICS (the Multiplexed Information and Computing Service).MULTICS incorporated many new concepts in multitasking, file management, and user interaction.

    Unix

    In 1969, Ken Thompson, Dennis Ritchie, and the researchers at AT&T Bell Laboratories developed the Unixoperating system, incorporating many of the features of the MULTICS research project. They tailored the system forthe needs of a research environment, designing it to run on minicomputers. From its inception, Unix was an affordableand efficient multiuser and multitasking operating system.

    The Unix system became popular at Bell Labs as more and more researchers started using the system. In 1973,Dennis Ritchie collaborated with Ken Thompson to rewrite the programming code for the Unix system in the Cprogramming language. Unix gradually grew from one person's tailored design to a standard software productdistributed by many different vendors, such as Novell and IBM. Initially, Unix was treated as a research product. Thefirst versions of Unix were distributed free to the computer science departments of many noted universities.Throughout the 1970s, Bell Labs began issuing official versions of Unix and licensing the systems to different users.One of these users was the Computer Science department of the University of California, Berkeley. Berkeley addedmany new features to the system that later became standard. In 1975, Berkeley released its own version of Unix,known by its distribution arm, Berkeley Software Distribution (BSD). This BSD version of Unix became a majorcontender to the AT&T Bell Labs version. AT&T developed several research versions of Unix, and in 1983, itreleased the first commercial version, called System 3. This was later followed by System V, which became asupported commercial software product.

    At the same time, the BSD version of Unix was developing through several releases. In the late 1970s, BSD Unixbecame the basis of a research project by the Department of Defense's Advanced Research Projects Agency(DARPA). As a result, in 1983, Berkeley released a powerful version of Unix called BSD release 4.2. This releaseincluded sophisticated file management as well as networking features based on Internet network protocols the sameprotocols now used for the Internet. BSD release 4.2 was widely distributed and adopted by many vendors, such asSun Microsystems.

    In the mid-1980s, two competing standards emerged, one based on the AT&T version of Unix and the other basedon the BSD version. AT&T's Unix System Laboratories developed System V release 4. Several other companies,such as IBM and Hewlett-Packard, established the Open Software Foundation (OSF) to create their own standardversion of Unix. Two commercial standard versions of Unix existed then the OSF version and System V release 4.

    Linux

    This document is created with the unregistered version of CHM2PDF Pilot

  • Originally designed specifically for Intel-based personal computers, Linux started out as a personal project of acomputer science student named Linus Torvalds at the University of Helsinki. At that time, students were making useof a program called Minix, which highlighted different Unix features. Minix was created by Professor AndrewTanenbaum and widely distributed over the Internet to students around the world. Linus's intention was to create aneffective PC version of Unix for Minix users. It was named Linux, and in 1991, Linus released version 0.11. Linuxwas widely distributed over the Internet, and in the following years, other programmers refined and added to it,incorporating most of the applications and features now found in standard Unix systems. All the major windowmanagers have been ported to Linux. Linux has all the networking tools, such as FTP file transfer support, Webbrowsers, and the whole range of network services such as e-mail, the domain name service, and dynamic hostconfiguration, along with FTP, Web, and print servers. It also has a full set of program development utilities, such asC++ compilers and debuggers. Given all its features, the Linux operating system remains small, stable, and fast. In itssimplest format, Linux can run effectively on only 2MB of memory.

    Although Linux has developed in the free and open environment of the Internet, it adheres to official Unix standards.Because of the proliferation of Unix versions in the previous decades, the Institute of Electrical and ElectronicsEngineers (IEEE) developed an independent Unix standard for the American National Standards Institute (ANSI).This new ANSI-standard Unix is called the Portable Operating System Interface for Computer Environments(POSIX). The standard defines how a Unix-like system needs to operate, specifying details such as system calls andinterfaces. POSIX defines a universal standard to which all Unix versions must adhere. Most popular versions ofUnix are now POSIX-compliant. Linux was developed from the beginning according to the POSIX standard. Linuxalso adheres to the Linux file system hierarchy standard (FHS), which specifies the location of files and directories inthe Linux file structure. See www.pathname.com/fhs for more details.

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

    http://www.pathname.com/fhs

  • < Day Day Up >

    Linux Overview

    Like Unix, Linux can be generally divided into three major components: the kernel, the environment, and the filestructure. The kernel is the core program that runs programs and manages hardware devices, such as disks andprinters. The environment provides an interface for the user. It receives commands from the user and sends thosecommands to the kernel for execution. The file structure organizes the way files are stored on a storage device, suchas a disk. Files are organized into directories. Each directory may contain any number of subdirectories, each holdingfiles. Together, the kernel, the environment, and the file structure form the basic operating system structure. Withthese three, you can run programs, manage files, and interact with the system.

    An environment provides an interface between the kernel and the user. It can be described as an interpreter. Such aninterface interprets commands entered by the user and sends them to the kernel. Linux provides several kinds ofenvironments: desktops, window managers, and command line shells. Each user on a Linux system has his or herown user interface. Users can tailor their environments to their own special needs, whether they be shells, windowmanagers, or desktops. In this sense, for the user, the operating system functions more as an operating environment,which the user can control.

    In Linux, files are organized into directories, much as they are in Windows. The entire Linux file system is one largeinterconnected set of directories, each containing files. Some directories are standard directories reserved for systemuse. You can create your own directories for your own files, as well as easily move files from one directory toanother. You can even move entire directories, and share directories and files with other users on your system. WithLinux, you can also set permissions on directories and files, allowing others to access them or restricting access toyourself alone. The directories of each user are, in fact, ultimately connected to the directories of other users.Directories are organized into a hierarchical tree structure, beginning with an initial root directory. All other directoriesare ultimately derived from this first root directory.

    With the K Desktop Environment (KDE) and the GNU Network Object Model Environment (GNOME), Linuxnow has a completely integrated GUI interface. You can perform all your Linux operations entirely from eitherinterface. KDE and GNOME are fully operational desktops supporting drag-and-drop operations, enabling you todrag icons to your desktop and to set up your own menus on an Applications panel. Both rely on an underlying XWindow System, which means as long as they are both installed on your system, applications from one can run onthe other desktop. The GNOME and KDE sites are particularly helpful for documentation, news, and software youcan download for those desktops. Both desktops can run any X Window System program, as well as anycursor-based program such as Emacs and Vi, which were designed to work in a shell environment. At the same time,a great many applications are written just for those desktops and included with your distributions. The K Desktophas a complete set of Internet tools, along with editors and graphic, multimedia, and system applications. GNOMEhas slightly fewer applications, but a great many are currently in the works. Check their Web sites at www.gnome.organd www.kde.org for new applications. As new versions are released, they include new software.

    Note Ximian currently maintains an enhancedversion of GNOME called XimianDesktop at www.ximian.com.

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

    http://www.gnome.orghttp://www.kde.orghttp://www.ximian.com

  • < Day Day Up >

    Open Source Software

    Linux was developed as a cooperative open source effort over the Internet, so no company or institution controlsLinux. Software developed for Linux reflects this background. Development often takes place when Linux usersdecide to work on a project together. The software is posted at an Internet site, and any Linux user can then accessthe site and download the software. Linux software development has always operated in an Internet environment andis global in scope, enlisting programmers from around the world. The only thing you need to start a Linux-basedsoftware project is a Web site.

    Most Linux software is developed as open source software. This means that the source code for an application isfreely distributed along with the application. Programmers over the Internet can make their own contributions to asoftware package's development, modifying and correcting the source code. Linux is an open source operatingsystem. Its source code is included in all its distributions and is freely available on the Internet. Many major softwaredevelopment efforts are also open source projects, as are the KDE and GNOME desktops along with most of theirapplications. The Netscape Communicator Web browser package has also become open source, with its sourcecode freely available. The OpenOffice office suite supported by Sun is an open source project based on theStarOffice office suite (StarOffice is essentially Sun's commercial version of OpenOffice). Many of the open sourceapplications that run on Linux have located their Web sites at SourceForge (sourceforge.net), which is a hosting sitedesigned specifically to support open source projects. You can find more information about the open sourcemovement and recent developments at Linuxcare (www.linuxcare.com) and at www.opensource.org.

    Open source software is protected by public licenses. These prevent commercial companies from taking control ofopen source software by adding a few modifications of their own, copyrighting those changes, and selling thesoftware as their own product. The most popular public license is the GNU General Public License provided by theFree Software Foundation. This is the license that Linux is distributed under. The GNU General Public Licenseretains the copyright, freely licensing the software with the requirement that the software and any modifications madeto it always be freely available. Other public licenses have also been created to support the demands of differentkinds of open source projects. The GNU Lesser General Public License (LGPL) lets commercial applications useGNU licensed software libraries. The QT Public License (QPL) lets open source developers use the QT librariesessential to the KDE desktop. You can find a complete listing at www.opensource.org.

    Linux is currently copyrighted under a GNU public license provided by the Free Software Foundation, and it is oftenreferred to as GNU software (see www.gnu.org). GNU software is distributed free, provided it is freely distributedto others. GNU software has proved both reliable and effective. Many of the popular Linux utilities, such as Ccompilers, shells, and editors, are GNU software applications. Installed with your Linux distribution are the GNUC++ and Lisp compilers, Vi and Emacs editors, BASH and TCSH shells, as well as Tex and Ghostscript documentformatters. In addition, there are many open source software projects that are licensed under the GNU GeneralPublic License (GPL). Many of these software applications are available at different Internet sites, and these arelisted in Table 1-3. Chapter 4 and Chapter 29 describe in detail the process of downloading software applicationsfrom Internet sites and installing them on your system.

    Under the terms of the GNU General Public License, the original author retains the copyright, although anyone canmodify the software and redistribute it, provided the source code is included, made public, and provided free. Also,no restriction exists on selling the software or giving it away free. One distributor could charge for the software, whileanother one could provide it free of charge. Major software companies are also providing Linux versions of their

    This document is created with the unregistered version of CHM2PDF Pilot

    http://www.linuxcare.comhttp://www.opensource.orghttp://www.opensource.orghttp://www.gnu.org

  • most popular applications. A Linux version of Sun's Java Software Development Kit (SDK) is also available through www.blackdown.org. Oracle provides a Linux version of its Oracle database. (At present, no plans seem in theworks for Microsoft applications.)

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

    http://www.blackdown.org

  • < Day Day Up >

    Linux Software

    A great deal of Linux software is currently available from online sources. You can download applications fordesktops, Internet servers, office suites, and programming packages, among others. Several centralized repositoriesmake it easy to locate an application and find information about it. Of particular note are sourceforge.net,freshmeat.net, rpmfind.net, and apps.kde.com.

    Software packages are distributed in compressed archives or in RPM packages. RPM packages are those archivedusing the Red Hat Package Manager. Compressed archives have an extension such as .tar.gz or .tar.Z, whereasRPM packages have an .rpm extension. For Red Hat Fedora Core, you can update to the latest Red Hat RPMpackage versions of software from their Fedora Yum repository using the Red Hat Update Agent (see Chapter 4).For Red Hat Enterprise Linux, you can automatically download upgrades for your system using the Red HatNetwork described. Also, any RPM package that you download directly, from whatever site, can be installed easilywith the click of a button using the redhat-config-packages tool on either the GNOME or KDE desktop. You couldalso download the source version and compile it directly on your system. This has become a simple process, almostas simple as installing the compiled RPM versions.

    Red Hat also has a large number of mirror sites from which you can download their software packages for currentreleases. Most Linux Internet sites that provide extensive software archives have mirror sites, such as www.kernel.org, that hold the new Linux kernels. If you have trouble connecting to a main FTP site, try one of its mirrors. Red Hatalso hosts open source projects at sources.redhat.com.

    The following tables list different sites for Linux software. Repositories and archives for Linux software are listed in Table 1-3, along with several specialized sites, such as those for commercial and game software. When downloadingsoftware packages, always check to see if versions are packaged for your particular distribution. For example, rpmfind.net, freshmeat.net, andsourceforge.net are also good places for locating RPM packages. Table 1-3: Linux Software Archives, Repositories, and Links

    URL

    Internet Site

    sourceforge.net SourceForge, open source software development sites for Linuxapplications and software repository

    fedora.redhat.com/updates Red Hat Fedora Yum repository for Fedora updates, withreleased and testing versions

    www.linuxgames.com Linux games

    This document is created with the unregistered version of CHM2PDF Pilot

    http://sourceforge.nethttp://freshmeat.nethttp://rpmfind.nethttp://apps.kde.comhttp://www.kernel.orghttp://rpmfind.nethttp://freshmeat.nethttp://sourceforge.nethttp://sourceforge.nethttp://fedora.redhat.com/updateshttp://www.linuxgames.com

  • www.gnome.org GNOME applications

    apps.kde.org KDE software repository

    freshmeat.net New Linux software

    www.linuxlinks.org Linux links

    filewatcher.org Linux FTP site watcher

    www.tldp.org/links.html Linux links

    rpmfind.net RPM package repository

    www.gnu.org GNU archive

    linux.duke.edu/projects/yum Yellowdog Updater, Modified (Yum) update tool, with listings ofYum repositories for updating Red Hat Fedora Core Linux

    www.blackdown.org Web site for Linux Java

    apt-rpm.tuxfamily.org APT-RPM Red Hat repository for APT-enabled RPM packages(see Chapter 4)

    sources.redhat.com Open source software hosted by Red Hat

    Linux Office and Database Software

    Many professional-level databases and office suites are now available for Linux. These include Oracle and IBMdatabases as well as the OpenOffice and K Office suites. Table 1-4 lists sites for office suites and databases. Manyof these sites provide free personal versions of their software for Linux, and others are entirely free. You candownload from them directly and install on your Linux system. Table 1-4: Database and Office Software

    This document is created with the unregistered version of CHM2PDF Pilot

    http://www.gnome.orghttp://apps.kde.orghttp://freshmeat.nethttp://www.linuxlinks.orghttp://filewatcher.orghttp://www.tldp.org/links.htmlhttp://rpmfind.nethttp://www.gnu.orghttp://linux.duke.edu/projects/yumhttp://www.blackdown.orghttp://apt-rpm.tuxfamily.orghttp://sources.redhat.com

  • URL

    Database

    www.oracle.com Oracle database

    www.sybase.com Sybase database

    www.software.ibm.com/data/db2/linux IBM DB2 database

    www-3.ibm.com/software/data/informix/ Informix database

    www.softwareag.com Adabas D database

    www.mysql.com MySQL database

    www.ispras.ru/~kml/gss GNU SQL database

    www.postgresql.org PostgreSQL database

    www.fship.com/free.html FlagShip (interface for xBase database files)

    koffice.kde.org Katabase (KOffice desktop database)

    sourceforge.net/projects/gaby/ Gaby (GNOME desktop personal database)

    Office Software

    koffice.kde.org KOffice

    /wwws.sun.com/software/star/staroffice/ StarOffice

    www.openoffice.org OpenOffice

    www.gnome.org/gnome-office GNOME Office project

    This document is created with the unregistered version of CHM2PDF Pilot

    http://www.oracle.comhttp://www.sybase.comhttp://www.software.ibm.com/data/db2/linuxhttp://www-3.ibm.com/software/data/informix/http://www.softwareag.comhttp://www.mysql.comhttp://www.ispras.ru/~kml/gsshttp://www.postgresql.orghttp://www.fship.com/free.htmlhttp://koffice.kde.orghttp://sourceforge.net/projects/gaby/http://koffice.kde.orghttp:///wwws.sun.com/software/star/staroffice/http://www.openoffice.orghttp://www.gnome.org/gnome-office

  • Internet Servers

    One of the most important features of Linux, as of all Unix systems, is its set of Internet clients and servers. TheInternet was designed and developed on Unix systems, and Internet clients and servers, such as those for FTP andthe Web, were first implemented on BSD versions of Unix. DARPANET, the precursor to the Internet, was set upto link Unix systems at different universities across the nation. Linux contains a full set of Internet clients and serversincluding mail, news, FTP, and Web, as well as proxy clients and servers. Sites for Internet server software availablefor Linux are listed in Table 1-5. Most of these are already included on the Red Hat DVD-ROM included with thisbook; however, you can obtain news, documentation, and recent releases directly from the server's Web sites. Table 1-5: Network Servers and Security

    URL

    Servers

    www.apache.org Apache Web server

    www.proftpd.org ProFTPD FTP server

    www.isc.org Internet Software Consortium: BIND, INN, and DHCPD

    www.sendmail.org Sendmail mail server

    www.squid.org Squid proxy server

    www.samba.org Samba SMB (Windows network) server

    www.eudora.com/qpopper Qpopper POP3 mail server

    www.netfilter.org IP Tables firewall

    www.netfilter.org/ipchains IP Chains firewall

    www.ssh.com Secure Shell encryption

    web.mit.edu/kerberos/www Kerberos network authentication protocol

    www.openssh.com Open Secure Shell (free version of SSH)

    This document is created with the unregistered version of CHM2PDF Pilot

    http://www.apache.orghttp://www.proftpd.orghttp://www.isc.orghttp://www.sendmail.orghttp://www.squid.orghttp://www.samba.orghttp://www.eudora.com/qpopperhttp://www.netfilter.orghttp://www.netfilter.org/ipchainshttp://www.ssh.comhttp://web.mit.edu/kerberos/wwwhttp://www.openssh.com

  • Development Resources

    Linux has always provided strong support for programming languages and tools. All distributions include the GNU Cand C++ compiler (gcc) with supporting tools such as make. Most distributions come with full development supportfor the KDE and GNOME desktops, letting you create your own GNOME and KDE applications. You can alsodownload the Linux version of the Java Software Development Kit for creating Java programs. Perl and Tcl/TKversions of Linux are also included with most distributions. You can download current versions from their Web sites. Table 1-6 lists different sites of interest for Linux programming. Table 1-6: Linux Programming

    URL

    Internet Sites

    www.gnu.org Linux compilers and tools (gcc)

    dev.scriptics.com Tcl Developer Xchange, Tcl/Tk products

    java.sun.com Sun Java Web site

    www.perl.com Perl Web site with Perl software

    www.blackdown.org Sun's Java Software Development Kit for Linux

    developer.gnome.org GNOME developer's Web site

    www.openprojects.nu Open Projects Network

    developer.kde.org Developer's library for KDE

    www.linuxcare.org Linux open source software support

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

    http://www.gnu.orghttp://dev.scriptics.comhttp://java.sun.comhttp://www.perl.comhttp://www.blackdown.orghttp://developer.gnome.orghttp://www.openprojects.nuhttp://developer.kde.orghttp://www.linuxcare.org

  • < Day Day Up >

    Online Information Sources

    Extensive online resources are available on almost any Linux topic. The tables in this chapter list sites where you canobtain software, display documentation, and read articles on the latest developments. Many Linux Web sites providenews, articles, and information about Linux. Several, such as www.linuxjournal.com and www.linuxgazette.com, arebased on popular Linux magazines. Others, such as www.linux.com, www.linuxworld.com, and www.linux.org,operate as Web portals for Linux. Some specialize in a particular area, such as linuxheadquarters.com for guides onLinux software and www.linuxgames.com for the latest games ported for Linux. Currently, many Linux Web sitesprovide news, information, and articles on Linux developments, as well as documentation, software links, and otherresources. These are listed in Table 1-7. Table 1-7: Linux Information and News Sites

    URL

    Internet Site

    www.tldp.org Web site for the Linux Documentation Project

    www.lwn.net Linux Weekly News

    www.linux.com Linux.com

    www.linuxtoday.com Linux Today

    www.linuxplanet.com LinuxPlanet

    www.linuxfocus.org Linux Focus

    www.linuxworld.com Linux World

    www.linuxjournal.com Linux Journal

    www.linuxgazette.com Linux Gazette

    www.linuxmagazine.com Linux Magazine

    This document is created with the unregistered version of CHM2PDF Pilot

    http://www.linuxjournal.comhttp://www.linuxgazette.comhttp://www.linux.comhttp://www.linuxworld.comhttp://www.linux.orghttp://linuxheadquarters.comhttp://www.linuxgames.comhttp://www.tldp.orghttp://www.lwn.nethttp://www.linux.comhttp://www.linuxtoday.comhttp://www.linuxplanet.comhttp://www.linuxfocus.orghttp://www.linuxworld.comhttp://www.linuxjournal.comhttp://www.linuxgazette.comhttp://www.linuxmagazine.com

  • www.linux.org Linux Online

    www.li.org Linux International Web site

    www.linux.org.uk Linux European Web site

    linuxheadquarters.com Linux guides and software

    slashdot.org Linux forum

    www.opensource.org Open source information

    Distribution FTP and Web sites, such as www.redhat.com and ftp.redhat.com, provide extensive Linuxdocumentation and software. The www.gnome.org site holds software and documentation for the GNOME desktop,while apps.kde.com holds software and documentation for the KDE desktop. The tables in this chapter list many ofthe available sites. You can find other sites through resource pages that hold links to other Web sites for example,the Linux Web site on the World Wide Web at www.tldp.org/links.html.

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

    http://www.linux.orghttp://www.li.orghttp://www.linux.org.ukhttp://linuxheadquarters.comhttp://slashdot.orghttp://www.opensource.orghttp://www.redhat.comftp://ftp.redhat.comhttp://www.gnome.orghttp://apps.kde.comhttp://www.tldp.org/links.html

  • < Day Day Up >

    Documentation

    Linux documentation has also been developed over the Internet. Much of the documentation currently available forLinux can be downloaded from Internet FTP sites. A special Linux project called the Linux Documentation Project(LDP), headed by Matt Welsh, has developed a complete set of Linux manuals. The documentation is available atthe LDP home site at www.tldp.org. Linux documents provided by the LDP are listed in Table 1-8, along with theirInternet sites. Table 1-8: Linux Documentation Project

    Sites

    Web Sites

    www.tldp.org LDP Web site

    Guides Document Format

    Linux Installation and Getting Started Guide DVI, PostScript, LaTeX, PDF, and HTML

    Linux User's Guide DVI, PostScript, HTML, LaTeX, and PDF

    Linux System Administrator's Guide PostScript, PDF, LaTeX, and HTML

    Linux Network Administrator's Guide DVI, PostScript, PDF, and HTML

    Linux Programmer's Guide DVI, PostScript, PDF, LaTeX, and HTML

    The Linux Kernel HTML, LaTeX, DVI, and PostScript

    Linux Kernel Hacker's Guide DVI, PostScript, and HTML

    Linux HOWTOs HTML, PostScript, SGML, and DVI

    Linux FAQs HTML, PostScript, and DVI

    This document is created with the unregistered version of CHM2PDF Pilot

    http://www.tldp.orghttp://www.tldp.org

  • Linux Man Pages Man page format

    Most of the standard Linux software and documentation currently available is already included on your Red HatDVD-ROM. HOW-TO documents are all accessible in HTML format, so you can view them easily with your Webbrowser. In the future, though, you may need to access Linux Internet sites directly for current information andsoftware.

    An extensive number of mirrors are maintained for the Linux Documentation Project. You can link to any of themthrough a variety of sources, such as the LDP home site, www.tldp.org, and www.linuxjournal.org. Thedocumentation includes a user's guide, an introduction, and administration guides. These are available in text,PostScript, or Web page format. Table 1-8 lists these guides. You can also find briefer explanations, in what arereferred to as HOW-TO documents.

    In addition to Web sites, Linux Usenet newsgroups are also available. Through your Internet connection, you canaccess Linux newsgroups to read the comments of other Linux users and to post messages of your own. SeveralLinux newsgroups exist, each beginning with comp.os.linux. One of particular interest to the beginner iscomp.os.linux.help, where you can post questions. Table 1-9 lists some of the Usenet Linux newsgroups you cancheck out, particularly for posting questions. Table 1-9: Usenet Newsgroups

    Newsgroup

    Title

    comp.os.linux.announce Announcements of Linux developments

    comp.os.linux.development.apps For programmers developing Linux applications

    comp.os.linux.development.system For programmers working on the Linux operating system

    comp.os.linux.hardware Linux hardware specifications

    comp.os.linux.admin System administration questions

    comp.os.linux.misc Special questions and issues

    comp.os.linux.setup Installation problems

    comp.os.linux.answers Answers to command problems

    This document is created with the unregistered version of CHM2PDF Pilot

    http://www.tldp.orghttp://www.linuxjournal.org

  • comp.os.linux.help Questions and answers for particular problems

    comp.os.linux.networking Linux network questions and issues

    linux.dev.group Numerous development newsgroups beginning with linux.dev, such as linux.dev.admin and linux.dev.doc

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

  • < Day Day Up >

    Chapter 2: Installing Red Hatand Fedora Core Linux

    Overview

    This chapter describes the installation procedure for Red Hat and Fedora Core Linux. The installation includes theLinux operating system, a great many Linux applications, and a complete set of network servers. The Red Hat andFedora use the same Anaconda installation program, designed to be helpful and easy to use, while at the same timeefficient and brief, installing as many services and applications as possible. Detailed help panels explain eachprocedure, every step of the way. Certain services, such as Web server support, would ordinarily require specializedand often complex configuration operations. Red Hat and Fedora automatically install and provide defaultconfigurations for many of these services.

    Red Hat and Fedora provide detailed installation guides such as the Official Red Hat Linux x86 Installation Guide.(The Fedora version will be available soon.) It is available at the Red Hat Web site. The guide consists of Web pagesyou can view using any browser. They include detailed figures and step-by-step descriptions. Checking this manualbefore you install is strongly recommended. This chapter presents all the steps in the installation process, but it is notas detailed as the Red Hat and Fedora guides. You can access documentation at the Red Hat Web site at www.redhat.com. Click Support and choose the link for your version of Red Hat.

    Installing Linux involves several steps. First, you need to determine whether your computer meets the basic hardwarerequirements. These days, most Intel-based PC computers do. Red Hat supports several methods for installingLinux. You can install from a local source such as a CD-ROM or a hard disk, or from a network or Internet source.For a network or Internet source, Red Hat supports NFS, FTP, and HTTP installations. With FTP, you can installfrom an FTP site. With HTTP, you can install from a Web site. NFS enables you to install over a local network. Fora local source, you can install from a CD-ROM or a hard disk. The DVD- ROM included with this boot alsooperates as a boot CD-ROM. In addition, you can start the installation process by booting from your DVD-ROM,from a DOS system, or from boot disks that can then use the DVD-ROM or hard disk repository. Red Hatdocumentation covers each of these methods in detail. This chapter deals with the installation using the DVD-ROMprovided with this book.

    Once the installation program begins, you simply follow the instructions, screen by screen. Most of the time, you onlyneed to make simple selections or provide yes and no answers. The installation program progresses through severalphases. First, you create Linux partitions on your hard drive, and then you install the software packages. After that,you can configure your network connection and then your X Window System for graphical user interface support.Both the X Window System and network configurations can be performed independently at a later time.

    Once your system is installed, you are ready to start it and log in. Normally, you will log in using a graphical login,selecting the desktop you want and entering your username and password. Alternatively, you can log in to a simple

    This document is created with the unregistered version of CHM2PDF Pilot

    http://www.redhat.com

  • command line interface. From the command line, you can then invoke a desktop such as GNOME or KDE thatprovides you with a full graphical user interface.

    < Day Day Up >

    This document is created with the unregistered version of CHM2PDF Pilot

  • < Day Day Up >

    Hardware, Software, and InformationRequirements

    Before installing Linux, you must ensure that your computer meets certain minimum hardware requirements. You alsoneed to have certain specific information ready concerning your monitor, video card, mouse, and CD-ROM drive.All the requirements are presented in detail in the following sections. Be sure to read them carefully before you begininstallation. During the installation program, you need to provide responses that reflect the configuration of yourcomputer.

    Hardware Requirements

    Listed here are the minimum hardware requirements for installing a standard installation of the Linux system on anIntel-based PC:

    A 32-bit Intel-based personal computer. At least an Intel or compatible 80386, 80486, or Pentium-classmicroprocessor is required. A 400 MHz Pentium is recommended for a graphical interface and 200 MHz fortext.

    A CD-ROM or DVD-ROM drive (if you are using the DVD-ROM included with this book, you will need aDVD-ROM drive).

    A 3 1/2-inch floppy disk drive and floppy disk, if your PC is not capable of booting from CD-ROM orDVD-ROM. A 3 1/2-inch, DOS high-density (HD) floppy disk drive is used to create an install disk (if youare installing from a floppy). If you install directly from a CD-ROM, you will not need it. A boot floppy canbe created using either the Linux or Windows operating system.

    Normally, at least 64MB RAM for text, and 192MB for graphical. (Linux can run on as little as 12MBRAM.) At least 2GB free hard disk space for a standard installation, including applications (keep in mind thatLinux can run on far less on a minimum installation, as little as 100MB and 16MB swap); 3GB to 6GB ormore is recommended for a full installation (all applications). You need about 5GB to install all the softwarepackages on most distribution CD-ROMs. The standard installation of basic software packages normallytakes 3GB, plus 64MB to 512MB for swap space, depending on the amount of RAM memory you have. Ifyou have less than 1GB of hard disk space, you can elect to perform a minimum install, installing only theLinux kernel without most of the applications. You could later install the applications you want, one at a time,using the redhat-config-packages tool accessible on the System Settings window.

    This document is created with the unregistered version of CHM2PDF Pilot

  • Hard disk requirements depend on the kind of installation you want: o

    Custom Installation (minimum): 520MB

    o

    Server (minimum): 870MB

    o

    Personal Desktop: 1.9GB

    o

    Workstation: 2.4GB

    o

    Custom Installation (everything): 5.3GB

    Hard Drive Configuration

    These days, Linux is usually run on its own hard drive, though it can also be run in a different partition on a hard drivethat also contains a separate partition for a different operating system such as Windows.

    If you want to install Linux and Windows on the same hard drive, you can use a partition management softwarepackage, such as fdisk, fips, Parted, or Partition Magic, to set up your Windows and Linux partitions. If you havealready installed Windows on your hard drive and configured it to take up the entire hard drive, you would resize itspartition to free up unused space. The freed space could then be used for a Linux partition. See the Red Hat Linuxx86 Installation Guide for more details.

    Information Requirements

    Part of adapting a powerful operating system like Linux to the PC entails making the most efficient use of thecomputer hardware at hand. In almost all configurations, your Linux installation process will automatically detect andconfigure your hardware components. Sometimes, however, particularly with older or very recent hardware, yourinstaller may not be able to correctly identify a component. If you have such components, such as a new modelmonitor or video card, you should first check their manuals and take note of certain configuration settings.

    You will also need to determine how you want to use hardware resources, for example, how much of your hard diskyou want to devote to Linux.

    CD-ROM, Hard Disk, and Mouse Information

    This document is created with the unregistered version of CHM2PDF Pilot

  • For some older SCSI CD-ROM drives, you need the manufacturer's name and mode