Red Hat Linux 9: Professional Secrets

Red Hat Linux 9: Professional Secrets

by Naba Barkakati

* The ultimate guide to what's under the hood of Red Hat Linux 9, completely revised to unlock its deepest secrets
* Designed to answer the questions of intermediate-to-advanced Red Hat Linux users who really want to understand the ins and outs of Red Hat Linux and what goes on behind the scenes
* Takes the reader beyond the obvious information about this

…  See more details below


* The ultimate guide to what's under the hood of Red Hat Linux 9, completely revised to unlock its deepest secrets
* Designed to answer the questions of intermediate-to-advanced Red Hat Linux users who really want to understand the ins and outs of Red Hat Linux and what goes on behind the scenes
* Takes the reader beyond the obvious information about this complicated operating system, revealing hidden features, tricks and alternate methods that can't be easily found elsewhere: little-known installation options, ways to tweak the TCP/IP configuration files for maximum network efficiency, techniques for optimizing OpenOffice, and much more
* Includes two CD-ROMS containing Red Hat Linux 9 Publisher's Edition

Editorial Reviews

From the Publisher
“…an excellent option for the Linux newbie…I would highly recommend this book…” (Slashdot – News For Nerds, 15 September)

Product Details

Publication date:
Secrets Series, #46
Product dimensions:
7.40(w) x 9.20(h) x 2.29(d)

Related Subjects

Read an Excerpt

Red Hat Linux 9 Professional Secrets

By Naba Barkakati

John Wiley & Sons

Copyright © 2003

Naba Barkakati
All right reserved.

ISBN: 0-7645-4133-1

Chapter One

An Overview of
Red Hat Linux

Secrets in This Chapter

Linux as a UNIX Platform 6
Posix Compliance 6
Linux Standard Base (LSB) 8
Linux Desktop 8

The world of operating systems changed forever when Linus Torvalds of the
University of Helsinki in Finland decided to build a UNIX-like operating system for
the PC. What started as a simple task-switching example, with two processes that printed
AAAA ... and BBBB ... on a dumb terminal, has grown into a full-fledged, multitasking,
multiuser operating system that rivals commercially available UNIX systems for Intel
80x86 systems. Many programmers around the world have contributed code and collaborated
to bring Linux to its current state. With the release of version 1.0 in March 1994,
Linux became an operating system of choice for UNIX enthusiasts, as well as for people
looking for a low-cost UNIX platform for a specific purpose, such as developing software
or running an Internet host.

This chapter provides a broad-brushstroke picture of Red Hat Linux, one ofseveral well-known
Linux distributions (other well-known Linux distributions are Mandrake, Debian,
Slackware, and S.u.S.E.). The chapter describes how you can get the most out of the built-in
capabilities of Red Hat Linux, such as networking, developing software, and running

After you overcome your initial fear of the unknown and install Linux, you will see how
you can use it to turn your PC into a UNIX workstation. The best part is that you can get
Linux for free-just download it from one of several Internet sites (for example, you'll find
links to many Linux distributions from the Linux Online website at The best way for beginners and experts alike to get started, though,
is to buy a book (such as this one) that comes with a Linux distribution on CD-ROM. This
book is your guide to the inner workings of Red Hat Linux. The next chapter shows how
to install Red Hat Linux, and subsequent chapters describe specific tasks (such as connecting
to the Internet or developing software) that you may want to perform with your
Red Hat Linux PC. In addition to many utilities with graphical user interfaces (GUIs), this
book provides you the details such as what commands to use and what configuration files
to edit.

What Is Red Hat Linux?

Linux is a freely available UNIX-like operating system that runs on a wide variety of systems.
Linus Torvalds and other programmers originally developed Linux for the Intel
80x86 processor. Nowadays, Linux is also available for systems based on other processors,
such as Intel's new 64-bit Itanium IA64 architecture processor, the Motorola 68000 family,
the Alpha AXP processor, the Sun SPARC and UltraSPAC processors, Hewlett-Packard's
HP PA-RISC processor, the PowerPC and PowerPC64 processors, ARM family of processors,
and the MIPS R4x00 and R5x00 processors. More recently, IBM has announced
Linux for its S/390 and zSeries mainframes. This book covers Red Hat Linux for the Intel
80x86 and Pentium processors (these are known as the IA32 architecture processors, or
i386, because they support the instruction set of the 80386 processor).

Red Hat Linux is a specific Linux distribution. A Linux distribution is essentially a package
consisting of the Linux operating system and a collection of applications, together
with an easy-to-use installation program. All Linux distributions include the core Linux
operating system (the kernel); the XFree86 X Window System for x86 systems; one or
more graphical desktops, such as GNOME and KDE; and a large selection of applications.
Everything comes in ready-to-run binary format, but the source code and documentation
are also included. By now, each Linux distribution includes so much software that it
comes on multiple CD-ROMs. For example, this book comes with two CD-ROMs containing
the Publisher's Edition of Red Hat Linux. The source code CD-ROM is not included
but is available upon request (see coupon on the final page of this book).

Like many other Linux distributions, Red Hat Linux is a commercial distribution. You can
buy Red Hat Linux in computer stores and bookstores. The GNU (which stands for
"GNU's Not UNIX") General Public License that applies to Linux allows for such commercial,
for-profit distribution, but requires that the software be distributed in source-code
form, and stipulates that anyone can copy and distribute the software in source-code
form to anyone else.

Both the Linux kernel and Red Hat Linux have gone through a number of versions. The
version numbers are unrelated, but each has particular significance.

Linux Kernel Version Numbers

After Linux version 1.0 was released on March 14, 1994, the loosely organized Linux
development community adopted a version-number scheme. Versions 1.x.y and 2.x.y,
where x is an even number, are stable versions. The number y is the patch level, which is
incremented as problems are fixed. Notice that these version numbers are of the form
Major.Minor.Patch, where Major and Minor are integers denoting the major and minor
version numbers, and Patch is another integer representing the patch level.

Versions 2.x.y with an odd x number are beta releases for developers only; they may be
unstable, so you should not adopt these versions for day-to-day use. Developers add new
features to these odd-numbered versions of Linux.

When this book was written, the latest stable version of the Linux kernel was 2.4.20 (note
that information about the latest version of the Linux kernel is available at This book's companion CD-ROMs contain the latest version
of the Linux kernel as of Spring 2003.

Red Hat Linux Version Numbers

Red Hat assigns the Red Hat Linux version numbers, such as 7.3 or 8.1. They are of the
form x.y, where x is the major version and y the minor version. Unlike with the Linux kernel
version numbers, there is no special meaning associated with odd and even minor
versions. Nowadays if the minor version number is zero, it's simply dropped - as in Red
Hat Linux 9. Each version of Red Hat Linux includes specific versions of the Linux kernel
and other major components, such as the XFree86, GNOME, KDE, and various applications
such as the suite.

Red Hat releases new versions of Red Hat Linux on a regular basis. For example, Red Hat
Linux 5.2 came out in November 1998, 6.0 in April 1999, 7.0 in September 2000, 8.0 in
September 2002, and Red Hat Linux 9 on March 31, 2003. Typically, each new major version
of Red Hat Linux provides significant new features. Red Hat Linux 6.x brought in the
GNOME and KDE graphical desktops; Red Hat Linux 7.0 offered features such as support
for the Universal Serial Bus (USB) keyboard and mice, XFree86 4.0, and strengthened
network security with Kerberos. Red Hat Linux 8.0 provided a uniform look-and-feel for
both GNOME and KDE desktops, included the office suite, and added
many graphical configuration tools. Red Hat Linux 9 includes the Common UNIX Printing
System (CUPS), Apache 2.0 Web server, and the Native POSIX Thread Library. In all
major versions, Red Hat also updates the core components from the kernel to the GNU C
Compiler and associated libraries. Often these behind-the-scenes changes to the core
operating system provide significant benefits such as support for newer interfaces and a
more secure system.

Linux as a UNIX Platform

Like other UNIX systems, Linux is a multiuser, multitasking operating system, which
means that it enables multiple users to log in and to run more than one program at the
same time.

POSIX Compliance

Linux is designed to comply with IEEE Std 1003.1 1996 Edition (POSIX). This standard
defines the functions that applications written in the C programming language use to
access the services of the operating system-for tasks ranging from opening a file to allocating
memory. On March 8, 1996, the Computer Systems Laboratory of the National
Institute of Standards and Technology (NIST), a U.S. government agency, confirmed that

Linux version 1.2.13, as packaged by Open Linux Ltd., conforms to the POSIX standard.
To see a list of POSIX-validated products, point your Web browser to nist
.gov/itl/div897/ctg/posix/finalreg4.htm . Note that the NIST POSIX testing program
ended on December 31, 1997. Of course, POSIX compliance, while commendable, is
not synonymous with a high-quality operating system.

Along with POSIX conformance, Linux includes many features of other UNIX standards,
such as the System V Interface Document (SVID) and the Berkeley Software Distribution
(BSD) version of UNIX. Linux takes an eclectic approach, picking the most-needed features
of several standard flavors of UNIX.

The default Linux shell is called Bash, which stands for Bourne-Again Shell-a reference
to the Bourne shell, which has been the standard UNIX shell since the early days of
UNIX. Bash incorporates many of the features IEEE 1003.2 requires and then some. It
essentially inherits the features and functionality of the Bourne shell. In case of any discrepancy
between the Bourne shell and IEEE 1003.2, Bash follows IEEE 1003.2. For
stricter IEEE 1003.2 compliance, Bash even includes a POSIX mode.

All in all, Linux serves as a good platform for learning UNIX because it offers a standard
set of UNIX commands (the IEEE 1003.2 standard, as well as the best features of both
System V and BSD UNIX).

Linux's support for POSIX and other common UNIX system calls (the functions that applications
call) makes it an excellent system for software development. Another ingredient
of modern workstation software, the X Window System, is also available in Linux in the
form of XFree86.

Linux Standard Base (LSB)

Linux has become important enough that there is now a standard for Linux called the
Linux Standard Base, or LSB for short. LSB is a set of binary standards that should help
reduce variations among the Linux distributions and promote portability of applications.
The idea behind LSB is to provide application binary interface (ABI) so that software
applications can run on any Linux (or other UNIX) systems that conform to the LSB standard.
The LSB specification references the POSIX standards as well as many other standards
such as the C programming language standard and the X Window System version
11 release 6 (X11R6). LSB version 1.2 (commonly referred to as LSB 1.2) was released on
June 28, 2002. LSB 1.3 went through a public review in early November 2002.

Linux Desktop

Let's face it-typing cryptic UNIX commands on a terminal is boring. Those of us who
know the commands by heart may not realize it, but the installed base of UNIX is not
going to increase significantly if we don't make the system easy to use. This is where the
X Window System, or X, comes to the rescue.

X provides a standard mechanism for displaying device-independent bitmapped graphics.
In other words, an X application can display its graphic output on many different
machines that use different methods to display text, graphics, and images on the monitor.
X is also a windowing system, meaning it enables applications to organize their output in
separate windows. X uses a client/server architecture and works over the network, so you
can run X applications on various systems on the network while the output appears in
windows that are managed by an X server running on your system.

Although X provides the mechanism for windowed output, it does not offer any specific
look or feel for applications. The look and feel comes from GUIs, such as GNOME and
KDE, which are based on the X Window System.

As for the GUI, Linux includes two powerful graphical desktop environments: KDE (K
Desktop Environment) and GNOME (GNU Network Object Model Environment). When
you install Red Hat Linux, you can choose which desktop you want or can install both and
switch between the two. GNOME and KDE provide desktops similar to the ones in
Microsoft Windows and the Apple Mac OS. GNOME also comes with the Nautilus graphical
shell that makes it easy to find files, run applications, and configure your Linux system.
With GNOME or KDE, you can begin using your Linux workstation without having
to learn UNIX commands. However, if you should ever need to use UNIX commands, all
you have to do is open a terminal window and type the commands at the shell prompt.

Red Hat Linux also comes with many graphical applications that run under X. The most
noteworthy programs relate to image display and editing. The first is GIMP-the GNU
Image Manipulation Program-a program with capabilities on a par with Adobe
Photoshop; the second program is ImageMagick.

Another important aspect of the X Window System is that you can run applications across
the network because X uses a client/server architecture. The X server runs at the workstation
and controls the display, keyboard, and mouse. Client applications send requests
to the X server to receive user input and display output. For example, you might run an X
application on a server somewhere on the network but view that application's output and
interact with it from your Linux desktop that's running a X-based GUI. In other words,
with X, your Linux PC becomes a gateway to all the other systems on the network.

Motif is the dominant GUI in the UNIX marketplace, but it's not packaged with Linux
because the Open Software Foundation does not distribute Motif for free. Motif has a look
and feel similar to Microsoft Windows and includes the Motif Window Manager (MWM)
and the Motif toolkit for programmers. You can download OpenMotif for Linux from In addition to Open Motif from The Open Group, another
option for Motif for Linux is LessTif, a free version of Motif distributed under the GNU
General Public License (visit the LessTif home page at for the
latest information on LessTif). Red Hat Linux comes with LessTif and is automatically
installed if you select the X Software Development package group during Red Hat Linux

If you need Motif for a project, using a Linux PC with a copy of OpenMotif or LessTif
installed is an economical way to set up a software-development platform. If you have a
consulting business, or if you want to develop X and Motif software at home, Linux is definitely
the way to go.

Along with GNOME and KDE, you get two more options for developing GUI applications
in Linux. GNOME comes with a toolkit called Gtk+ (GIMP toolkit), and KDE comes with
the Qt toolkit. If you do not want to learn Motif, you may want to use Gtk+ or Qt for your
GUI applications.

Linux Networking

Networking refers to all aspects of data exchange within one computer or between two or
more computers, ranging from the physical connection to the protocol for the actual data


Excerpted from Red Hat Linux 9 Professional Secrets
by Naba Barkakati
Copyright © 2003 by Naba Barkakati.
Excerpted by permission.
All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.

Read More

Meet the Author

Naba Barkakati is an electrical engineer and the author of more than two dozen computer books which have been translated into Greek, Chinese, Korean, Italian, and various other languages. He is an authority on C/C++ programming as well as Linux systems and is currently a Senior Level Technologist at the Center for Technology and Engineering in the U.S. General Accounting Office.

Customer Reviews

Average Review:

Write a Review

and post it to your social network


Most Helpful Customer Reviews

See all customer reviews >