You are now faced with the task of deciding which particular
distribution of Linux suits your needs. Not all distributions are
alike. Many of them come with just about all of the software you'd
need to run a complete system--and then some. Other Linux
distributions are ``small'' distributions intended for users without
copious amounts of disk space. Many distributions contain only the
core Linux software, and you are expected to install larger software
packages, such as the X Window System, yourself. (In
Chapter
we'll show you how.)
The Linux Distribution HOWTO (see
Appendix A) contains a list of Linux distributions
available on the Internet as well as by mail order.
If you have access to USENET news, or another computer conferencing
system, you might want to ask there for personal opinions from people
who have installed Linux. Also, Linux Journal maintains a table
of features comparing Linux Distributions and periodically publishes
software reviews of distributions (check
http://www.linuxjournal.com/selected.html for on-line versions of the table
and articles). Even better, if you know someone who installed
Linux, ask them for help and advice. There are many factors to
consider when choosing a distribution; however, everyone's needs and
opinions are different. In actuality, most of the popular Linux
distributions contain roughly the same set of software, so the
distribution you select is more or less arbitrary.
This section on Debian GNU/Linux was written by Boris Beletsky.

If you have fast, cheap Internet access, the best way to get Debian is
via anonymous FTP (see Appendix B). The home ftp site of
Debian is located at ftp.debian.org in the /pub/debian
directory. The structure of Debian archive is described in the table
on page
.

Table 2.1: Debian GNU/Linux archive structure.
For a base installation of Debian you need about 12 megabytes of disk
space and some floppies. First, you need boot and driver floppy
images. Debian provides two sets of boot floppy images, for 1.2 and
1.44 Mb floppy disks, and one set of the base images which work with
either type of floppy. Check what floppy drive your system boots from,
and download the appropriate disk set.

Table 2.2: Debian GNU/Linux installation floppies.
Choose the appropriate floppy set for your hardware from the table on
page
and write the images to
floppy as described on page
.
To install and use Debian, you need more than the base system. To
decide what packages you want, download the file Packages
from:

This file is a current list of Debian packages available in the stable
Debian distribution. The file comes in a special format; every package
has its own entry separated by a blank line. Each package's
information is broken up into fields. The table on
page
describes the fields and
their possible values. It should give you an idea of how to build your
personal download list. When you have the list of the packages you
want, you need to decide how to download them. If you are an
experienced user, you may want to download the netbase
package--and SLIP and PPP, if necessary--so you can download
packages later, via Linux. Otherwise, you can download all of the
packages with your current operating system and install them later
from a mounted partition.
Place the Rescue floppy in the boot drive and reboot. In a minute or
two, you should see a screen introduce the Rescue floppy and the
boot prompt.
It's called the Rescue floppy because you can use
it to boot your system and perform repairs if there is a problem that
makes your hard disk unbootable. Save this floppy after you install
the system.
You can do two things at the boot: prompt: press the function
keys F1 through F10 to view a few pages of helpful
information, or boot the system. If you have any hardware devices that
Linux doesn't access correctly at boot time, you may find a parameter
to add to the boot command line in the screens you see by pressing
F3, F4, and F5.
If you add parameters to the boot command line, be sure
to type the word ``linux'' and a space before the first
parameter. If you simply press Enter, that's the same as typing
``linux'' without any special parameters.
If this is the first time you're booting the system, press
Enter and see if it works correctly. It probably will. If not, you
can reboot later and look for any special parameters that inform the
system about your hardware.
Once you press Enter, you should see the messages

then there is a page or so of cryptic information about the hardware
in the system. There may be many messages in the form of, ``can't
find something,'' ``something not present,''
``can't initialize something,'' or even ``this
driver release depends on something,'' Most of these are
harmless. The installation boot disk is built to run on computers with
many different peripheral devices. Obviously, no computer will have
every possible peripheral device, and the operating system may emit a
few complaints while it looks for peripherals you don't own. You may
also see the system pause for a while. This happens if it is waiting
for a device to respond that is not present on your system. If you
find that the time it takes to boot the system unacceptably long, you
can create a custom kernel after you install the system which doesn't
have the drivers for non-existent devices.
If your system has 4MB of RAM, you may see a paragraph about low
memory and a text menu with three choices. If your system has enough
RAM, you won't see this at all, and you'll go directly to the color or
monochrome dialog box. If you get the low-memory menu, you should go
through its selections in order. Partition your disk, activate the
swap partition, and start the graphical installation system. The
program that is used to partition your disk is called cfdisk,
and you should see the manual page for cfdisk and the
instructions on page
for assistance.
cfdisk is used to create a Linux Swap partition (type 82) on the
hard drive. You need the swap partition for virtual memory during
installation, because the procedure likely uses more memory than you
have physical RAM for. Select the amount of virtual memory that you
intend to use once your system is installed. It is exactly equal to
the amount of disk space required. Sixteen megabytes is probably the
smallest practical amount, but use 32 megabytes if you can spare the
disk space, and 64 megabytes if the disk is large enough and you won't
miss the space.
Once the system finishes booting, you should see the color or
monochrome dialog box. If your monitor displays black and white
(monochrome), press Enter and continue with the installation.
Otherwise, use the arrow key to move the cursor to the Color
menu item and then press Enter. The display should change from
black and white to color. Press Enter again to continue with the
installation.
You may see a dialog box that says,

On some systems, this message flashes by too quickly to read. It is
displayed between steps in the installation process. The installation
program checks the state of the system after each step. This allows
you to restart the installation without losing the work that you have
already done, if you halt the system in the middle of the
installation. If you need to restart an installation, you will be
prompted to select color or monochrome again, configure the keyboard,
reactivate the swap partition, and remount any disks that have been
initialized. Any other installation on the system will be saved.
During the entire process, you are presented with the main menu. The
choices at the top of the menu change to indicate your progress in
installing the system. Phil Hughes wrote in Linux Journal that
you could teach a chicken to install Debian. He meant that the
installation process was mostly just pecking at the Enter
key. The first choice on the installation menu is the next action you
should perform according to what the system detects you have already
done. It should say Next, and, at this point, the next item
should be

Make sure that the highlight is on the Next item, and press
Enter for the keyboard configuration menu. Select a keyboard
that conforms to the layout used for your national language, or select
something close to it if the keyboard layout you want isn't
shown. After installation you can select a keyboard layout from a
wider range of choices. Move the highlight to the keyboard selection
and press Enter. Use the arrow keys to move the highlight--they
are in the same place on all national language keyboard layouts and
are independent of the keyboard configuration.
If you are an experienced UNIX or Linux user, press LeftAlt and
F2 in unison for the second virtual console. That's the
Alt key on the left-hand side of the Space bar and the
F2 function key. You'll see a separate window running a Bourne
shell clone called ash. At this point, the root file system is
on the RAM disk, and there is a limited set of UNIX utilities available
for your use. You can see what programs are available with the command

The shell and commands are there only in case something goes wrong. In
particular, you should always use the menus, not the shell, to
activate your swap partition, because the menu software can't detect
whether you've done this from the shell. Press
LeftAlt-F1 to get back to menus. Linux provides up to 64
virtual consoles, but the Rescue floppy only uses a few of them.
Last chance!
Have you backed up your disks? Here's your first chance to wipe out
all of the data on your disks, and your last chance to save your old
system. If you haven't backed up all of your disks, remove the floppy
from the drive, reset the system, and create a backup.
If you have not already partitioned your disks for Linux Native and
Linux Swap file systems, the menu item Next will be

If you have already created at least one Linux Native and
one Linux Swap disk partition, the Next menu selection will be

or you may even skip that step if your system has little RAM and the
installation software asked you to activate the swap partition as soon
as the system started. Whatever the Next menu selection is, you can
use the down-arrow key to select

The Partition a Hard Disk menu item presents you with a list of
disk drives you can partition and runs the cfdisk program (see
page
), which allows you to create and edit
disk partitions. You must create at least one Linux (type 83) disk
partition.
Your swap partition will be used to provide virtual memory for the
system and should be between 16 and 128 megabytes in size, depending
on how much disk space you have and how many large programs you want
to run. Linux will not use more than 128 megabytes of swap, so there's
no reason to make your swap partition larger than that. A swap
partition is strongly recommended, but you can do without one if you
insist and system has more than 16 Mb of RAM.
This is the Next menu item after you create one disk
partition. You have the choice of initializing and activating a new
swap partition, activating a previously initialized partition, and
doing without a swap partition. It's always permissible to
re-initialize a swap partition, so select Initialize and Activate
the Swap Disk Partition unless you are sure that you know what you
are doing. This menu choice will give you the option to scan the
entire partition for unreadable disk blocks caused by defects on the
surface of the hard disk platters. This is useful if you have MFM,
RLL, or older IDE disks, and checking the disk never hurts. Properly
working SCSI disks don't need to be scanned. They have their own
internal mechanism for mapping out bad disk blocks.
The swap partition provides virtual memory to supplement the RAM in
your system, and it's even used while the system is being
installed. That's why we initialize it first.
At this point, the Next menu item should be

If it isn't, you haven't completed the disk partitioning process, or
you haven't made one of the menu choices dealing with your swap
partition.
You can initialize a Linux disk partition, or alternately you can
mount a previously initialized partition.
The boot floppies will not upgrade an old system without removing the
files--Debian provides a different procedure than using the boot
floppies for upgrading existing Debian systems. Thus, if you are using
old disk partitions that are not empty, you should initialize them,
which erases all of the files. You must initialize any partition that
you created in the disk partitioning step. About the only reason to
mount a partition without initializing it at this point would be to
mount a partition upon which you have user files, like /home,
that you don't want deleted.
Select the Next menu item, to initialize and mount the root (the
``/'' directory) disk partition. The first partition you mount
or initialize, after the swap partition, if you're using it, is the
partition mounted as root. You will be offered the choice to scan the
disk partition for bad blocks, as when you initialized the swap
partition. It never hurts to scan for bad blocks. Keep in mind that
this step can take 10 minutes or more if you have a large disk.
Once you've mounted the root partition, the Next menu item will
be

unless you already performed some of the installation steps. You can
use the arrow keys to select the menu items to initialize or mount
disk partitions if you have additional partitions to set up. If you
have created separate partitions for /var, /usr, or other
file systems, you should initialize and mount them now.
There will be a pause while the system looks for a local copy of the
base system. This search is for CD-ROM installations and will not
succeed. You are then offered a menu of drives from which to read the
base floppies. Select the appropriate drive. Feed in the Base 1, Base
2, Base 3, and Base 4 floppies--and Base 5 if you are using 1.2MB
floppies--as requested by the program. If one of the base floppies is
unreadable, you need to create a replacement floppy and feed all five
floppies into the system again. After the floppies have been read, the
system installs the files. This can take ten minutes or more on a slow
system.
At this point, the Next menu item should be

Select it, and you will be prompted to select a floppy drive and
insert the Rescue floppy. This copies the kernel onto the hard
disk. This kernel is used later to create a custom boot floppy for
your system and make the hard disk bootable without a floppy.
Select the menu item to install the device drivers. You will be
prompted to insert the Device Drivers floppy, and the drivers will be
copied onto your hard disk. Select the

menu item and look for devices which are on your system. Configure
those device drivers, so they will be loaded whenever your system
boots.
There is a menu selection for PCMCIA device drivers, but you do not
need to use it. After installation you can install the pcmcia-cs
package. This detects PCMCIA cards automatically and configures those
it finds. It also recognizes cards that are hot swapped when the
system is running--they will all be configured as they are plugged
in, and de-configured when unplugged.
At this point the system read in all of the files that make up a
minimal Debian system, but you must perform some configuration before
the system will run. Select

This asks you to select your time zone. Look for your time zone or
region of the world in the menu, and type it at the prompt. This may
lead to another menu where you can select more specific information.
Next, you are asked if your system clock should be set to Greenwich
Mean Time (GMT) or local time. Select GMT if are running only Linux or
another UNIX on your system. Select local time if you use another
operating system like MS-DOS or Microsoft Windows. UNIX systems keep
GMT time on the system clock and use software which converts it to the
local time. This allows them to keep track of daylight savings time
and leap years, and even allows users who are logged in from other
time zones to individually set the time zone on their terminal. If
you run the system clock on GMT and your locality uses daylight
savings time, the system adjusts for daylight savings time properly on
the days it starts and ends.
You must configure the network even if you don't have one, but you
only have to answer the first two questions:

If you are connected to a network, check with your system
administrator or ISP vendor if you don't know the following
information:
- your computer's host name;
- your computer's or ISP's domain name;
- your computer's IP address;
- the netmask to use with your network;
- the IP address of your network;
- the broadcast address to use on your network;
- if your network has a gateway, the IP address of the default gateway
system to which you should route packets;
- the system on your network to use for Domain Name Service (DNS);
and
- whether you connect to the network using Ethernet.
The program will guess that the network IP address is the bitwise AND
of your system's IP address and netmask. It will guess that the
broadcast address is the bitwise OR of your system's IP address with
the bitwise negation of the netmask. It will guess that your gateway
system is also your DNS server. If you can't find any of these
answers, use the system's guesses--if necessary, you can alter them
after installation by editing the /etc/init.d/network file.
If you choose to make the hard disk boot directly to Linux, you are
asked to install a master boot record. If you aren't using a boot
manager (this is probably the case if you don't know what a boot
manager is), answer ``yes'' to this question. The next question is
whether you want to boot Linux automatically from the hard disk when
you turn on the system. This sets Linux to be the bootable
partition--the one that will be loaded from the hard disk. If you
answer ``no'' to this question, you can set the bootable partition
later using the MS-DOS FDISK.EXE program, or the Linux
fdisk or activate programs.
You should make a boot floppy even if you intend to boot the system
from the hard disk. The reason for this is that it's possible for the
hard disk bootstrap to be installed incorrectly. A boot floppy will
almost always work. Select

from the menu and feed the system a blank floppy as directed. Make
sure that the floppy isn't write protected. The software attempts to
format and write it. Mark this diskette the ``Custom Boot'' floppy and
write-protect it once it has been written.
This is what electrical engineers call the ``smoke test''--what
happens when you power up a new system for the first time. Remove the
floppy disk from the floppy drive and select

from the menu. If the Linux system doesn't start up, insert the Custom
Boot floppy you created in the previous step and reset the
system. Linux should boot. You should see the same messages as when
you first booted the installation boot floppy, followed by some new
messages.
After you've added logins, (Chapter 4 discusses
this in some detail), you are dropped into dselect, the Debian
package management program.
You should read the tutorial before attempting to
install packages with dselect.
dselect allows you to select the packages that you want
installed on your system. The Debian package management software is
described in detail starting on page
. If you
have a CD-ROM or hard disk with the additional Debian packages or are
connected to the Internet, you may want to read that section now.
Otherwise, exit dselect. You can use the package management
software after you have transferred the Debian package files to your
system.
You must be the superuser (root) to use dselect.
If you install the X Window System and do not use a US
keyboard, read the X11 Release note for non-US keyboards.
After you exit dselect, you are at the login: prompt. Log
in using the personal login and password you selected. Your system is
ready to use.
This section describes the Debian packaging system and Debian-specific
utilities. The Debian/GNU Linux Packages file format is shown
in the table on page
.

Table 2.3: Fields in a Debian/GNU Linux Packages file record.
Debian distributions come in archives called packages. Every
package is a collection of files (programs, usually) that can be
installed using dpkg or dselect. In addition, the
package contains some information about itself that is read by the
installation utilities.
The packages that are included with Debian GNU/Linux are classified
according to how essential they are (priority) and their functionality
(section).
The priority of a package indicates how essential or necessary it
is. Debian GNU/Linux classifies all packages into four different
priority levels:
These packages must be installed for the system to operate correctly
and have been installed as part of the base system.
Never remove a required package from the system unless
you are absolutely sure of what you are doing. This bears repeating:
Never, never, never remove a required package from the system
unless you are absolutely sure of what you are doing. It is likely
that doing so will render your system completely unusable.
Required packages are abbreviated in dselect as Req.
Important packages are found on almost all UNIX-like operating
systems. These packages include cron, man, and vi.
Important packages are abbreviated in dselect as Imp.
Standard packages are packages that, more or less, comprise the
``standard,'' character based, Debian GNU/Linux system. The Standard
system includes a fairly complete software development environment and
GNU Emacs.
Standard packages are abbreviated in dselect as Std.
Optional packages comprise a fairly complete system. The Optional
system includes TeX and the X Window System.
Optional packages are abbreviated in dselect as Opt.
Extra packages are only useful to a small or select group of people,
or are installed for a specific purpose. Extra packages might include
such programs as electronics and ham radio applications.
Extra packages are abbreviated in dselect as Xtr.
By default, dselect automatically selects the Standard system
if the user doesn't want to individually select the packages to be
installed.
The section of a package indicates its functionality or use.
Packages on the CD-ROM and in FTP archives are arranged in
subdirectories according to function. The directory names are fairly
self-explanatory: for example, the directory admin contains
packages for system administration and the directory devel
contains packages for software development and programming. Unlike
priority levels, there are many sections, and more may be added in the
future, so we do not individually describe them in this guide.
Each package includes information about how it relates to the other
packages included with the system. There are four package
relationships in Debian GNU/Linux: conflicts, dependencies,
recommendations, and suggestions.
A conflict occurs when two or more packages cannot be installed
on the same system at the same time. A good example of conflicting
packages are mail transfer agents (MTAs). A MTA is a program that
delivers electronic mail to users on the system and other machines on
the network. Debian GNU/Linux has two mail transfer agents:
sendmail and smail.
Only one mail transfer agent may be installed at a time. They both do
the same job and are not designed to coexist. Therefore, the
sendmail and smail packages conflict. If you try to install
sendmail when smail is already installed, the Debian
GNU/Linux package maintenance system will refuse to install it.
Likewise, if you try to install smail when sendmail is
already installed, dselect (or dpkg; see below) will
refuse to install it.
A dependency occurs when one package requires another package to
function properly. Using our electronic mail example, users read mail
with programs called mail user agents (MUAs). Popular MUAs include
elm, pine, and emacs RMAIL mode. It is normal to
install several MUAs at once because they do not conflict. But MUAs
do not deliver mail--that is the job of the MTA. So all mail user
agent packages depend on a mail transfer agent.
A package can also recommend or suggest other related packages.
This section is a brief tutorial on Debian dselect. For more
detailed information, refer to the dselect manual at

dselect is simple, menu-driven interface which helps install
packages. It takes you through the package installation process in the
order of the on-screen menu:

There are two ways to select an option from the menu: choose it with
arrows, or press the key of the corresponding letter in brackets.
In this menu you choose the method to obtain and install the packages.

dselect reads the Packages database (described above) and
creates a database of the packages available on your system.
This section of the program selects the packages. Choose your the
package you want and press Enter. If you have a slow machine,
the screen may clear and remain blank for 15 seconds. The first thing
that appears is Page 1 of the Help file. You can view this screen by
pressing "?" at any point in the Select screens, and you can page
through the help screens by pressing the . (period) key.
To exit the Select screen after all of the selections are complete,
press Enter. This returns you to the main screen if
there are no problems with your selection. You must resolve those
problems first. When you are satisfied with any given screen, press
Enter.
Dependency conflicts are quite normal and to be expected. If you
select package A and that package requires the unselected package B in
order to run, dselect warns you of the problem and will most
likely suggest a solution. If package A conflicts with package B, you
must decide between them.
dselect runs through the entire 800 packages and installs the
ones that are selected. You will need to make decisions during this
process. It is often useful to switch to a different shell to
compare, for example, an old configuration file with a new one. If
the old file is called conf.modules, for example the new file
will be called conf.modules.dpkg-new.
The screen scrolls by fairly quickly on faster machines. You can halt
the display is by pressing Control-S and restart it with
Control-Q. At the end of the run, there will be a list of
any uninstalled packages.
Most packages are configured in Step 3, but anything remaining can be
configured here.
Remove packages that are no longer needed.
Au revoir.
This is a command line tool that installs and manipulates Debian
packages. It has several options that allow you to install, configure,
update, remove, and perform other operations on Debian packages. You
can even build your own packages. dpkg also allows you to list
the available packages, files "owned" by packages, which package
owns a file, and so on.
Type the following command:

where filename is the name of the file containing a Debian
package, like tcsh_6.06-11_i386.deb. dpkg is partly
interactive; during the installation it may ask additional questions,
like whether to install the new version of a configuration file or
keep the old version.
You may also unpack a package without configuring it by entering:

If a package depends on an uninstalled package or a newer version of a
package you already have, or if any other dependency problem occurs
during the installation, dpkg will exit without configuring it.
If dpkg aborts during installation and leaves a package
installed, the package is left unconfigured. The Debian packaging
system requires the package to be configured to avoid dependency
problems. Some packages also require configuration to work properly.
To configure a package, type:

where package is the name of the package, like
tcsh. (Notice that this is not the original name of the file from
which tcsh was installed, which was longer, included a version
number, and ended in .deb.)
In the Debian package system, there are two ways to eliminate packages:
remove and purge. The remove option removes the
specified package; the purge option removes both the specified package
and its configuration files. The usage is:

If there are any installed packages that depend on the one you wish to
remove, the package will not be removed, and dpkg will
abort with an error message.
To report the status of the package (e.g., installed, not installed, or
unconfigured), enter:

To list the installed packages that match some pattern, type:

where package-name-pattern is an optional argument specifying a
pattern for the package names to match, like *sh. Normal
shell wildcards are allowed. If you don't specify the pattern, all of
the installed packages are listed.
To list all the files owned by a particular package, simply type:

However, this does not list files created by package-specific
installation scripts.
To find the package which owns a particular file, type the following
command:

where filename-pattern is the pattern with which to search the
package names for a match. Again, normal shell wildcards are allowed.
dpkg is simple to use and is preferred over dselect when
all that you need to do is install, upgrade, or remove a small number of
packages. It also has some functionality that dselect (an
interface to dpkg) doesn't have, like finding which package
owns a file. For the full list of options, refer to the dpkg(8)
manual page.
The Debian GNU/Linux Project was created by Ian Murdock in 1993,
initially under the sponsorship of the Free Software Foundation's GNU
project. Later, Debian separated from FSF. Debian is the result of a
volunteer effort to create a free, high-quality UNIX-compatible
operating system based on the Linux kernel, complete with a suite of
applications.
The Debian community is a group of more than 150 unpaid volunteers
from all over the world who collaborate via the Internet. The founders of
the project have formed the organization Software in the Public
Interest (SPI) to sponsor Debian GNU/Linux development.
Software in the Public Interest is a non-profit organization
formed when the FSF withdrew their sponsorship of Debian. The purpose
of the organization is to develop and distribute free software. Its
goals are very much like those of FSF, and it encourages programmers
to use the GNU General Public License on their programs. However, SPI
has a slightly different focus in that it is building and distributing
a Linux system that diverges in many technical details from the GNU
system planned by FSF. SPI still communicates with FSF and cooperates
in sending them changes to GNU software and in asking its users to
donate to FSF and the GNU project.
SPI can be reached by post at:
Software in the Public Interest
P.O. Box 70152
Pt. Richmond, CA 94807-0152
There are several Debian-related mailing lists:

There are also several mailing lists for Debian developers.
You can subscribe to those mailing list by mail or the World Wide
Web. For more information, please visit http://www.debian.org/.
The Debian project has a bug tracking system that handles bug reports
by users. As soon as the bug is reported, it is given a number and all
of the information provided on the particular bug is stored in a file
and mailed to the maintainer of the package. When the bug is fixed,
it must be marked as done (``closed'') by the maintainer. If it was
closed by mistake, it may be reopened.
To receive more information on the bug tracing system, send e-mail to
request@bugs.debian.org with help in the body of the
message.
Many thanks to Bruce Perens and the other authors of Debian related
materials that were used to write this chapter. Thanks also to Vadik
Vygonets, my beloved cousin, who helped me quite a bit. Lastly,
thanks are also due to the members of Debian community for their hard
work. Let's hope that Debian GNU/Linux becomes even better.
Debian GNU/Linux changes very quickly, and many facts can change more
quickly than this book. The source text of this section is updated
regularly. You can find it at

red-hat-installation
This section on Red Hat Linux was written by Henry Pierce.

Red Hat Linux's RPM package management system manages software by
defining how a software package is built for installation and collects
information about its components and installation methods during the
build process. A RPM package has an organized packet of data in the
header of package.rpm which can be added to a database
that describes where the package belongs, what supporting packages are
required, whether the required packages are installed, and provides a
means to determine software dependencies.
RPM gives system administrators the ability to: upgrade individual
components or entire systems while preserving the configuration of
the system or package; query the database for the location of files,
packages, or related information; perform package verification so
packages can be installed properly, or at all; keep source packages
``pristine'' (provide the package author's original source and
second-party patches separately) so that porting issues can be
tracked. Because RPM does this, you can install, upgrade, or remove
packages with a single command line in text mode or a few clicks of
the mouse in X Package Management Tool. Examples of using RPM from the
command line are:

A properly built package.rpm has the following
characteristics: its name identifies the package, the version, the
build revision, the architecture, and the extension .rpm, which
identifies it as a RPM package.
Take, for example, bash-1.14.7-1.i386.rpm. The name itself
contains useful information: the package is bash (the Bourne
Again SHell), it is version 1.14.7, and it is build 1 of the current
version for Red Hat Linux. It was built for Intel or compatible 80386
or higher CPUs, and it is in RPM format. So, if you see a package
named bash-1.14.7-2.i386.rpm, you know that it is the second
build of bash version 1.14.7, and probably contains fixes for
problems of the previous build and is more current. While the internal
organization of a *.rpm file is beyond the scope of this
section, a properly built package contains an executable file, any
configuration files, the documentation (at least manual pages), any
miscellaneous files directly related to the package, a record of where
the packages files are to be installed, and a record of any required
packages. After successful installation, information about the package
is registered in the system's RPM database. A more thorough discussion
of RPM package management system may be found in the RPM HOWTO (see
Appendix A). It is also available at

Only upgrades from version 2.0 of Red Hat Linux and onward are
supported due to major changes in Linux's binary format. Otherwise,
upgrades can be performed from the same installation methods of
CD-ROM, NFS, FTP, and hard disk. As of Red Hat Linux version 4.0, the
upgrade option is incorporated into the Boot diskette instead of a
separate program. If you upgrade from v2.1 to v3.0.3 and want to
upgrade again to version 4.0, you need to create the Boot diskette
instead of looking for an upgrade script, the same as Red Hat
4.x installation from scratch. This method does not reformat
your partitions nor delete your configuration files.
To create an Installation Floppy Kit, you need the following:
- The Red Hat Boot diskette image, boot.img, which is
available at:

or in the
images directory of a Red Hat CD-ROM.
- The Red Hat Supplemental diskette image, supp.img, which
is available at

or in the images directory of a Red Hat CD-ROM. This diskette
is required if your method of installation is not CD-ROM based, or you
need PCMCIA support for any device, like a CD-ROM on a laptop, to
install properly. This diskette can also be used with the Boot
diskette as an emergency start disk for an installed system.
- The program RAWRITE.EXE, which is available at:

or
in the DOS directory of a Red Hat CD-ROM.
- MS-DOS and Windows 95 users installing Red Hat Linux for the first
time on a machine that will have Linux installed as a second operating
system should also obtain:

and unzip the files into: C:
FIPS
if you need to free space on your hard drive.
- An Emergency Boot diskette for an existing operating
system on the target machine on which Linux will be installed as a
second operating system must be created.
After you create the Installation floppies using RAWRITE.EXE or
dd as described on page
, insure that your
installation method is properly set up for the Red Hat installation
diskettes. For CD-ROM, NFS, FTP, and hard drive installation methods,
the source must have the directory /RedHat on the ``top level''
with the directories /base and /RPMS underneath:

For NFS installation, you will either need a Red Hat CD-ROM on a
machine (such as an existing Linux box) that can support and export an
ISO-9660 file system with Rockridge Extensions, or you need to mirror
one of the Red Hat distributions with the directory tree organized as
described above--and of course, the proper files in each
directory. The directory /RedHat needs to be exported to the
machines on the network that are to have Red Hat Linux installed or
upgraded. This machine must be on an Ethernet; you can not do an NFS
install via dialup link.
Hard drive installations must have the /RedHat directory created
relative to the root directory of the partition (it doesn't matter
which partition) that will contain the Red Hat distribution obtained
either from CD-ROM or an FTP site. For example, on the primary DOS
partition, the path to \RedHat should be
C:\RedHat. On a MS-DOS file system, it does not matter that
the package.rpm names are truncated. All you need to
do is make sure the \RedHat\base directory
contains the base files from a CD-ROM or FTP site and the
\RedHat\RPMS directory contains all of the
package.rpm files from the CD-ROM or FTP site. Then
you can install or upgrade from that partition. If you have an
existing Linux partition that is not needed for an installation or
upgrade, you can set it up as outlined here and use it.
To install via FTP over the Internet, all you need is the IP address
of the FTP server and the root directory path for the Red Hat Linux
system you wish to install. See Appendix B for a list of
Linux FTP sites and mirrors. If you intend to do an FTP installation
over a low-bandwidth connection (anything slower than a 128K ISDN
link), it is highly recommended you copy the files to an existing
MS-DOS hard drive partition and then install from the hard drive. The
total size of the packages in the /RedHat/RPMS directory is
approximately 170MB and will take many hours to install. If something
goes wrong with the installation, such as the link going down, you
need to start from the beginning. If you get the files first and set
up your hard drive to install Linux, it is then less work and less
confusing to recover from a failed installation. You don't even need
to download all of the files in /RedHat/RPMS to successfully
install a minimal system which can grow with your needs. See the next
section for details.
You can
customize the installation process. This is not for the faint
of heart--only those already familiar with Linux should attempt it.
As of Red Hat Linux version 4.x, the
/RedHat/RPMS directory contains approximately 170MB of .rpm
files. RPM compresses these packages and assumes that the packages
need an average of 2 to 3MB of hard drive space for every 1MB of RPM
package volume. If package.rpm is 6MB in size, you
need between 12 and 18MB of free space to install the package.
Customizing which packages are available for installation is an option
when installing the system via FTP, NFS, and hard drive. CD-ROMs
(typically) cannot be written to, but you can copy the files to the
hard drive and install from there with the customized package
list. FTP and NFS installations can only be designed if you have root
access to the server(s) on your network or your system administrator
is willing to work with you. The following installation situations
make custom installation desirable: when obtaining Red Hat Linux via
FTP over a low-bandwidth connection or when designing a suite of
software to be used by all Red Hat Linux workstations on a network.
To customize the installation, you must obtain the
/base/comps file which provides you with the list of packages
that a full installation would normally include. Then, the packages
you actually want to install from /base/comps need to be
downloaded. The /base/comps file must be edited to reflect
the packages that you obtained and are going to install.
If you have local RPM packages, you can add them to the
comps file as well.
The Red Hat installation program uses the file
/RedHat/base/comps (the file here is an example from Red Hat
Linux version 4.0) to determine what packages are available in the
/RedHat/RPMS directory for each category to be installed. The
file is organized by category, and each category contains a list of
packages Red Hat believes are the minimum required for that
section. NOTE: only the package part of a package's name
(package-version-build.rpm) is listed in the file. This means
the comps file is generally usable from one version of Red Hat
to the next. A section in this file has the structure:

That is a tag to identify the category number, the category, a list of the
package names in the category, and the tag ``end'' to mark the end of
the category.
Without exception, everyone needs all of the software packages listed
in the Base section of the file. The other sections, though, can
generally be customized or eliminated to suit a particular need. For
example, there are three types of Networked Stations: ``plain'',
management, and dial-up. An examination of these sections shows that
many of the software packages are listed in all three categories, but
some software packages are specific to the category. If you are
creating a Dial-up Networked Station, then you can safely
eliminate the ``Plain'' and ``Management'' sections and any software
unique to those categories. Conversely, if you only need basic
networking capability for networked work stations, the other sections
can be eliminated from the file as well as the software unique to
those sections. All you need to do is make sure that you have all of
the software packages listed in that category. If you have local
custom packages (those not provided by Red Hat Software), you should
add them to an existing category that is appropriate rather than
creating a new category.
Because the list of packages in each category only contains the name
of the package (i.e., not the entire
package-name-version-build.rpm), you can
substitute any updates Red Hat has made available in the updates
directory on:

or one of Red Hat's mirror sites for the original package found in the
distribution's original /RedHat/RPMS directory. The
installation program is relatively version-insensitive. The only
warning here is to insure that package dependencies are met. When an
RPM package is built, RPM itself tries to determine what packages must
be installed for the package to work (the RPM developer also has
direct control of this as well--he or she can add dependencies that
RPM might not ordinarily detect). This is where a little
experimentation or research may be needed. For example, one way to
determine package dependencies (if you have user access to your NFS
server on an existing Red Hat Linux box) is to telnet or
login into it (or if you have the CD-ROM, mount it and go to the
RedHat/RPMS directory) and query the package for its
dependencies:

The ``-q'' puts rpm in query mode, the ``-p'' tells
rpm to query an uninstalled package, and the ``-R'' tells
rpm to list the target package's dependencies. In this example,
we see libc.so.5 and libtermcap.so.2 are required. Since
libc and termcap are part of the base of required software
(as is bash), you must insure that the libc and
libtermcap packages (the dependency packages) are present to be able
to install bash (the target). As long as you get the entire base
system installed, you can boot the system when the installation
program completes. You can add additional packages to Red Hat Linux as
required even if the installation program reports that a package
failed to install because its dependencies were not met.
The table on page
describes the
categories of software found in /base/comps in Red Hat v4.0:

Table 2.4: Important Red Hat Linux packages.
It is difficult to determine how much space an installation will
require. However, someone installing via FTP should get the
Base system and the Dialup Networked Station and install
these. Then, additional software can be obtained and added as the need
arises. Of course, if you want to do C programming, you should get the
relevant packages and edit the comps file appropriately.
If you encounter a package during the installation which
requires another package that you don't have available, or you make a
mistake in the comps file, you can generally finish the
installation and have a bootable, working system. You can correct the
problem by manually adding the failed packages and their dependencies
later. Overall, get the entire Base system and one of the
Networked Station packages installed, and you can add anything you
need or want later.
The table on page
gives
approximate disk space requirements Red Hat Linux and various
subsystems.

Table 2.5: Typical Red Hat Linux disk space requirements.
By now, you should have created the Installation Floppy Kit, prepared
your hard drive, and have your installation media ready. The details
of the installation follow. You first begin by booting your system
and configuring the installation program to install from your selected
medium. After this the installation proceeds with the same steps for
everyone. You need to begin by booting your computer with the diskette
labeled ``Boot diskette.''
As the boot diskette starts up, the kernel attempts to detect any
hardware for which the boot kernel has drivers compiled directly into
it. Once booting is complete, a message appears which asks if you have
a color screen (if you do, select ``OK''). Next comes the Red
Hat Welcome screen. Choose ``OK'' to continue. The next question
asks if you need PCMCIA support. You must answer ``yes'' if you
are installing to a laptop, inserting the Supplemental diskette when
prompted. Once PCMCIA support is enabled if necessary, you are
presented with a screen that asks what type of installation method to
use. Follow the instructions in the following sections for the method
you chose.
To install from CD-ROM, highlight ``Local CD-ROM'' from the list
of installation types. Then click ``OK''. You will be asked if
you have a SCSI, IDE/ATAPI, or proprietary CD-ROM. This is where some
of the hardware research pays off: if you have 4X or faster CD-ROM
drive that was made recently and bundled with a Sound Blaster or other
sound card, you most likely have an IDE/ATAPI type drive. This is one
of the most confusing issues facing you.
If you choose SCSI, you must know what kind of SCSI card you have and
will be presented a list. Scroll down the list until you find your
SCSI card. After you select it, you will be asked if you wish to
AUTOPROBE for it or SPECIFY OPTIONS. Most people should choose
AUTOPROBE, which causes the program to scan for your SCSI card
and enable the SCSI support for your card when found.
After the Installation Program has successfully located the Red Hat
CD-ROM, you should read the next section.
To install from a hard drive, highlight this option and choose ``
OK''. If you have not already chosen PCMCIA support, you will be
prompted to insert the Supplemental diskette.
To install via NFS, highlight this option and choose ``OK''. You
must choose the Ethernet card installed on the target machine so the
Installation Program can load the correct driver. Highlight the
appropriate card from the list, and then select ``OK'', allowing
the Installation Program to AUTOPROBE for your card.
If your machine locks up, you must press
Ctrl-Alt-Delete to reboot the system. Most of the
time, when this happens, it is because the probing interferes with a
non-Ethernet card. If this happens, try again and choose SPECIFY
OPTIONS, and give the data about your card in this form:

This instructs the probe to look at the location specified by the
values IRQ and IO_PORT for the Ethernet card. If
your Ethernet card is configured for IRQ 11 and IO_PORT 0x300,
specify:

After the card has been successfully found, you will be prompted for
TCP/IP information about your machine and the NFS server with the
Linux installation packages. First, you will be asked to provide the target
machine's IP Address, Netmask, Default Gateway, and Primary
Name Server. For example:

After you select OK, you are prompted for the target machine's
Domain name and Host name. For example, if your domain name
is infomagic.com and host name is vador, enter:

The last screen prompts you for the NFS server and the exported
directory containing the Red Hat distribution. For example, if your NFS
server is redhat.infomagic.com, enter:

If you do not know these values, ask your system administrator. After
you enter the values, select OK to continue. If the installation
program reports an error locating the Red Hat distribution, make sure
that you have the correct values filled in above and that your network
administrator has given you export permission for the target machine.
FTP installation is similar to the NFS installation described
above. You are prompted for the Ethernet card and your machine's
TCP/IP information. However, you will be asked for the FTP site
name and Red Hat directory on the Red Hat mirror site, instead
of NFS server information. One warning about performing an
FTP installation: find the closest and least busy FTP site to your
location. See Appendix B for a list of Linux FTP sites.
If your hardware isn't detected, you may need to provide an
override for the hardware to be enabled properly. You may also want
to check:

to see if Red Hat has updated boot diskettes for your hardware.
- Next, you are asked if you are installing to a New System or
Upgrading Red Hat Linux 2.0 or greater. If upgrading, you will not be
offered the chance to partition your hard drive or configure anything
with your system except LILO. Select either INSTALL or
UPGRADE to continue.
- If you are upgrading, you will be asked for the root partition
of your existing Red Hat system. Highlight the appropriate partition
and press OK. If you are installing for the first time, you
need to partition your hard disk with the free space determined above.
- After you create the necessary Linux Native and Linux Swap
partitions, you must initialize and enable the swap partition. You
will then be asked to which partition(s) you intend to install Linux
If upgrading, select the root partition. You must configure and choose
at least one partition, which will be the root partition. Highlight
the root partition. Then, unless you are upgrading, you are presented
with a table of other available partitions. Choose the appropriate
partitions and EDIT to indicate which partitions will be used
for which directories. If you have more than one partition for the
Linux installation, now is the time to designate those as well.
- Next, a list of software categories to install is presented,
followed by a chance to customize which software packages from each
category are to be installed. If you have not installed Red Hat or
other distributions of Linux before, simply choose the category of
software to install and let the setup program install the defaults for
each category. If you need a package that wasn't installed originally,
you can always install it later. While the software is installing,
you will see a progress indicator and you should get a cup or two of
coffee. Installation can take thirty minutes to an hour or more,
depending on software choices and hardware configuration.
- After the software installation is done, you will be asked to
configure your mouse. A discussion mouse protocols and devices starts
on page
.
- Next is the X Window System configuration. It is recommend you wait
until after you boot your system for the first time to configure X.
If something goes wrong with the X configuration, you may need to start
the installation procedure from the beginning if the Installation Program
isn't able to recover.
- If you do not have an Ethernet card, do not configure your
network at this time. If you have a network card and didn't configure
it earlier, you should configure it now. Configuration for a dialup
network should be done after the installation is complete.
- Next, you need to configure the system clock. UTC is a good
choice if you are on a network and want daylight savings time handled
properly. Local Time is okay if the computer is a stand-alone machine.
- If you do not have a US keyboard, you will need specify the
configuration for your keyboard.
- You are prompted for the root system password.
Don't forget it. Recovering the password is not a trivial
matter. You will need the password to access the system when you first
reboot.
- Finally, you will be asked to configure LILO.
If you have not installed a root partition that begins and ends
between cylinder 0-1023, Do not install LILO. When you
reboot the system for the first time, if LILO does not allow you to boot
your system correctly, use the Emergency MS-DOS and Windows 95 boot
diskette and, at A:\> enter FDISK /mbr. This
allows your system to boot into an existing MS-DOS or Windows 95 system as
it did before LILO was installed. You can then use the Red Hat Boot
diskette with the following parameters at the boot: prompt to
boot your system on the hard drive:

Where xxxx is the root partition.
After the installation procedure is complet, you are ready to reboot your
system and use Linux.
Now that you have installed Linux and booted your system for the
first time, there are some useful things to know about using your
system
When you power up or reboot the system, you may see the LILO prompt,
which you hopefully configured for a 30-second or so delay before it
boots the system. When LILO appears on the screen, if you do nothing,
the default operating system will boot at the prescribed timeout
period. However, from LILO, you can control several aspects of how
Linux boots, or tell LILO to boot an alternative operating system. If
you wish to override the default behavior of LILO, pressing the
Shift key at the appearance of LILO will cause a ``boot:''
prompt to appear. Pressing Tab at this prompt will produce a
list of available operating systems:

This tells us that ``dos'' is the default operating system,
which will boot if nothing is typed; to boot Linux, type ``
linux''. However, LILO lets you pass parameters to the Linux kernel
which override the default behavior. For example, you may have been
experimenting with start-up configuration files and did something to
prevent the system from coming up properly. If so, you want to boot
the system up to the point where it reads the configuration files and
no further . The override for this is ``single'':

boots the system in single user mode so you can take corrective
action. This is also useful if your system doesn't boot all the way
to the login: prompt for some reason.
Now that you are faced with the login: prompt for the first
time, you may be wondering how to get into the system. At this point
on a newly installed system, there is only one account to log in
to--the administrative account, ``root''. This account is used
to manage your system and do things like configure the system, add and
remove users, software, and so on. To login into the account, enter
``root'' at the login: prompt and press
Enter. You are aked for the password you entered
during installation. Enter that password at the password:
prompt. The system prompt [root@locahost] # appears after
you have successfully negotiated the login. The system prompt tells
you two things: you are logged in as root, and in this case,
your machine is called localhost. If you named your machine
during the installation process, your host name will appear instead of
localhost.
caldera-installation
This section on Caldera OpenLinux was written by Evan Leibovitch.
This section
is intended to be a complement to the Getting Started Guides that
Caldera ships with all of its Linux-based products. References to the
Getting Started Guide for Caldera Open Linux Base is indicated
throughout this section as ``the Guide''.
Unlike most other Linux distributions, Caldera OpenLinux is not
available for downloading from the Internet, nor can it be distributed
freely, nor passed around. This is because of the commercial packages
which are part of COL; while most of the components of COL are under
the GNU Public License, the commercial components, such as Looking
Glass and Metro-X, are not. In the list of packages included on the
COL media starting on page 196 of the Guide, the commercial packages
are noted by an asterisk.
COL is available directly from Caldera, or through a network of
Partners around the world who have committed to supporting Caldera
products. These Partners can usually provide professional assistance,
configuration and training for Caldera users. For a current list of
Partners, check the Caldera web site.
Caldera supports the same hardware as any other release based on Linux
2.0 kernels. Appendix A of the Guide lists mosts of the SCSI
hosts supported and configuration parameters necessary for many
hardware combinations.
Caldera's Guide provides
an installation worksheet that assists you in having at hand
all the details of your system that you'll need for installation. It
is highly recommended you complete this before starting installation;
while some parameters, such as setting up your network, are not
required for installation, doing it all at one time is usually far
easier than having to come back to it. Sometimes this can't be
avoided, but do as much at installation time as possible.
The COL distribution does not come with the floppy disks required for
installation. There are two floppies involved; one is used for
booting, and the other is a ``modules'' disk which contains many hardware
drivers.
While the Guide recommends that you create the floppies by copying
them from the CD-ROM, it is better to get newer versions of the disks
from the Caldera web site. The floppy images on older CD-ROMs have
errors that cause problems, especially with installations using SCSI
disks and large partitions.
To get newer versions of the floppy images, download them from
Caldera's FTP site. In directory pub/col-1.0/updates/Helsinki, you'll
find a bunch of numbered directories. Check out the directories in
descending order--that will make sure you get the latest versions.
If you find one of these directories has a subdirectory called
bootdisk, the contents of that directory
are what you want.
You should find two files:

The XXX is replaced by the version number of the disk images.
At the time of writing, the current images are 034 and located in the
001 directory.
After you have these images, transfer them onto two floppies as
described for generic installations on page
,
using the MS-DOS program RAWRITE.EXE from the
Caldera CD-ROM or dd from a Linux system.
Caldera's CD-ROM is bootable if your system's BIOS allows it, but
use the downloaded floppies if possible. They are newer and will
contain bug-fixes that won't be in the CD versions.
This procedure is no different than other Linux distributions. You
must use fdisk on your booted hard disk to allocate at least two
Linux partitions, one for the swap area and one for the root file
system. If you are planning to make your system dual-boot COL with
another operating system, like Microsoft Windows, MS-DOS, or
OS/2, it's usually preferable to install COL last. The Linux
fdisk programs recognizes ``foreign'' OS types better than the disk
partitioning tools of most other operating systems.
To run the Linux fdisk, you must start your system with the boot
(and maybe the modules) floppy described above. You must tell COL what
kind of disk and disk controller you have. You can't even get as far
as entering fdisk if Linux doesn't recognize your hard disk!
To do this, follow the bootup instructions in the Guide, from step 2
on pages 33-36. Don't bother going through the installation or
detection of CDROMs or network cards at this time; all that matters at
this point is that Linux ``sees'' the boot hard disk so you can
partition it with fdisk. A brief description of the use of the
Linux fdisk is provided on page 28 of the Guide.
Remember that when running fdisk, you need to set up both your
root file system as Linux Native (type 83) and your Swap space (type
82) as new partitions. A brief discussion of how much swap space to
allocate is offered on page 10 of the Guide.
As soon as you have allocated the partitions and written the partition
table information to make it permanent, you must reboot.
This section on Linux Slackware was written by Sean Dreilinger.
Welcome to the Slackware distribution of Linux! This section aims
to help the new Linux user or administrator evaluate Slackware,
plan a Slackware system, and install Slackware Linux.
Whether or not to choose Slackware as the flavor of Linux you
will use is a serious consideration. It may seem like a trivial
decision now, but Linux boxes have a way of taking on more and
more responsibility in organizational computing environments.
Plenty of Linux experiments have evolved in their first
year to become mission-critical machines serving many more users
and purposes than originally intended. Slackware is one of the
most widely used distributions of Linux. When it comes to finding
the newest, easiest, or most carefully planned distribution of
Linux, Slackware may be ``none of the above''. Some background on
the life and times of Slackware put things into perspective.
In 1993, Soft Landing System created one of the first organized
distributions of Linux. Although it was a great start, the SLS
distribution had many shortcomings (it didn't exactly work, for
starters). Slackware, a godsend from Patrick Volkerding, solved most
of these issues, was mirrored via FTP and pressed onto CD-ROMs
worldwide, and quickly became the most widely used flavor of
Linux. For a while, Slackware was the only full featured Linux
``solution.'' Other Linux distribution maintainers, both commercial
and nonprofit, have gradually developed distributions that are also
well worth your consideration.
By January 1994, Slackware had achieved such widespread use that
it earned a popular notoriety normally reserved for rock stars
and cult leaders. Gossip spread through the Usenet suggesting
that the entire Slackware project was the work of witches and
devil-worshippers!
``Linux, the free OS....except for your SOUL! MOUHAHAHAHA!''

