Red Hat Linux 9 is more than just an operating system: It is a complete distribution. It includes a wide variety of commands, utilities, and applications. Installing additional software in packages from the CDs is easy. With the right downloads from the Internet, you can always keep your version of Red Hat Linux up-to-date.
Several versions of Red Hat Linux are available as of this writing. All include the same basic software that you ll find in Red Hat Linux 9, and you can download them using the directions you ll find in the introduction. Each version includes additional features, such as CDs and support, for a price. The features I cite were available at the time of this writing. They include:
Red Hat Linux 9.0 Personal Edition
As described in the introduction, Red Hat Linux 9.0 Personal Edition includes three installation CDs, three source CDs, and a documentation CD. It includes the software that you need to install Red Hat Linux in Personal Desktop, Workstation, Server, or Custom configurations. It also includes 30 days of web-based installation support and a 30-day subscription to the Red Hat network for the latest updates.
Red Hat Linux 9.0 Professional Edition
Red Hat Linux 9.0 Professional Edition includes the components in Red Hat Linux 9.0 Personal, plus an eighth CD with office and multimedia applications and a ninth CD with system administration tools. It also includes 60 days of web-based and telephone support as well as a 60-day subscription to the Red Hat network for the latest updates.
While you can install any version of Red Hat Linux as a server, the following versions of Red Hat Linux are explicitly designed for servers with more than one CPU. Their subscriptions include free updates during the subscription period.
Red Hat Enterprise Linux WS (Workstation)
Red Hat Enterprise Linux Workstation includes the components in Red Hat Linux 9.0, with features customized to work with Red Hat Enterprise Linux Servers. You can get this operating system bundled with 64-bit Itanium 2-based workstations.
Red Hat Enterprise Linux ES (Entry-level Server) Basic Edition
This version of Red Hat Linux supports basic servers, limited to 2 CPUs and 4GB of RAM. The Basic Edition includes downloads, basic installation and configuration support for 90 days, and support through the Red Hat Enterprise network for one year.
Red Hat Enterprise Linux ES (Entry-level Server) Standard Edition
This version of Red Hat Linux supports basic servers, limited to 2 CPUs and 4GB of RAM. The Standard Edition includes downloads, basic installation and configuration support as well as support through the Red Hat Enterprise network for one year.
Red Hat Enterprise Linux AS (Advanced Server) Standard Edition
Red Hat Enterprise Linux AS Standard Edition includes the components and support associated with the Red Hat Enterprise Linux ES Server, plus one year of installation support, configuration support, advanced configuration support, and systems administration support.
Red Hat Enterprise Linux AS (Advanced Server) Premium Edition
Red Hat Enterprise Linux AS Premium Edition includes the components and support associated with Red Hat Enterprise Linux AS Standard Edition, plus high availability clustering support and 24x7 emergency support for Severity 1 Issues, as defined in the associated license.
Other Red Hat Products
Red Hat has other specialty operating systems. These include the high-security Stronghold Enterprise Apache Server, and versions specifically designed for IBM s eServer platforms.
Table 1.1 shows the minimum hardware requirements associated with Red Hat Linux 9. These requirements are not absolute; for example, I ve run Red Hat Linux 9 with just the command-line interface with as little as 16MB of RAM. Other hardware requirements are described in Chapter 02 .
Recommended for text-mode: 200MHz Pentium class or better
Recommended for graphical-mode: 400MHz Pentium II class or better
For a text-mode workstation, 64MB; for a graphical workstation, 128MB (192MB recommended)
475MB (not including swap space or other files); more for other types of installations, as described in Chapter 03
These minimums assume a stand-alone Linux computer with a minimum of services. Earlier versions of even Red Hat Linux can be installed on less RAM and Intel 386 CPUs. If you want to install additional software, configure a graphical user interface (GUI), or set up a server, the requirements go up accordingly .
Red Hat is constantly incorporating new features and updating software. Most important are updates to the latest kernel and services. The following list includes some of the major improvements that Red Hat has incorporated recently:
Linux kernel version 2.4.20, which includes proven changes to the Linux 2.5 beta series kernels , as well as a number of updated drivers.
The Common Unix Print System (CUPS), now the default print server, replacing LPD. For more information, see Chapter 25 .
Apache 2.0.40, now the standard Red Hat Linux web server. For more information, see Chapter 30 .
iptables , now the default firewall tool (described in Chapter 22 ).
OpenOffice, a fully featured suite of Microsoft Office “style applications. For more information, see Chapter 18 .
XFree86 Version 4.3 includes support for additional graphics adapters. It also has experimental support for RandR, the X Resize, Rotate, and Reflect extension ( www.xfree86.org/~keithp/talks/randr/protocol.txt )
Red Hat has also configured several tools not found in other Linux distributions. You can start these tools from a command-line interface inside a GUI such as GNOME or KDE, using a redhat-config-* command. For example, redhat-config-samba lets you configure Samba, the service that allows Linux to work on a Microsoft Windows network. Samba is discussed in detail in Chapter 29 .
Linux can be broken down into a number of modules. The modular nature of Linux allows developers to work independently and more efficiently . They can reuse and reconfigure these modules to achieve different results. At least six categories of modules are associated with Linux: kernel, network, init , daemons, shells and utilities, and the X Window.
The kernel is the most important part of any operating system. It allows Linux and any software that you install to communicate with computer hardware. The kernel communicates with your hardware through dedicated device drivers. For example, when you mount a floppy drive, a specific kernel driver sends and receives messages to and from the floppy drive.
If you install new hardware and it isn t detected when you start Linux, you can add a driver module to your kernel, as described in Chapter 11 . If you have to download a driver for your new hardware, you should also add that driver module to the kernel.
Other parts of the kernel manage the Linux filesystem as well as any data stored in such areas as your disk cache. The kernel is loaded into protected-mode memory when you start Linux. You can learn how to configure and compile the kernel in Chapter 12 .
Linux computers are most commonly organized in a client/server network. Some computers act as workstations, or clients, for users; others are servers, which control resources shared by multiple users on different workstations. In this type of network, clients ask servers for items they need, like files or applications. In a Linux network, clients can even ask for X Window information. In other words, you can set up terminals on Linux clients that access their GUI data from a Linux server.
The network modules of the Linux operating system are designed to keep client/server communication running as smoothly as possible. Ideally, the connection between client and server is seamless. If your network is fast enough, your users won t be able to tell the difference between local and network services.
Because network modules are loaded in the same area as the kernel, their failure may mean that you have to reboot Linux. We cover the basics of Linux networking in Chapters 20 “ 22 .
In general, the only way to start a Linux program is with another Linux program. For example, you log into the Linux terminal program, known as mingetty . But something has to start the terminal program. When you boot Linux on your computer, the kernel loads and starts init . The init program then mounts your drives , and starts your terminal programs. When you log in, the terminal program starts your command-line interface shell.
After Linux boots on your computer, init watches for anything that might shut down your computer, such as a power failure signal from an uninterruptible power supply (UPS) or a reboot command. Details of init and the governing /etc/inittab file are discussed in Chapter 11 .
Linux includes a series of services. These are programs that can run in the background and start as needed. Many Linux services are known as daemons . In Linux, several dozen daemons can run simultaneously , standing at the ready to start your network, serve web pages, print your files, or connect you to other Linux or Windows computers. Typical daemons include:
Apache, the most popular web server on the Internet, also known as httpd . Apache is covered in Chapter 30 .
Samba (also known as smbd) , the network service that allows Linux to talk to Microsoft Windows computers.
A printer daemon that manages communication with your printers. The CUPS daemon is cupsd; it s covered in more detail in Chapter 25 .
We discuss various Linux daemons in detail throughout this book.
Case matters in Linux. For example, the acronym for the Common Unix Print System is CUPS; the associated daemon is cupsd .
Any Linux program or utility that talks to the kernel is a user-mode program, which consists of shells and utilities. User-mode programs don t communicate directly with your hardware (that s a job for the kernel). In other words, these programs can crash without affecting the basic operation of the Linux operating system. There are three basic types of user-mode programs:
Login programs associate a user ID with a user s shell and other personalized settings, such as with the X Window and web browsers.
Shell programs act as Linux command interpreters. The most common Linux shell is known as bash, short for the Bourne Again Shell.
Utilities are small-scale commands used inside a shell.
The basics of the bash shell and associated commands are covered in Chapters 6 “ 8 .
Linux builds the GUI from different program modules. GUI window managers, such as GNOME and KDE, as well as all GUI applications are built on the foundation of the X Window. The basics of the X Window and associated applications are covered in Chapters 15 “ 19 .