2. Anatomy of the Red Hat FTP site
In the spirit of the Linux community, Red Hat Software has made available
their Linux distributions for several platforms on their FTP site. These
are all available from the top distribution directory
(pub/redhat/linux/).
Let's have a look at the distribution tree.
2.1. Redhat 9 directories organization
The latest distribution is, as of this writing, available only for the
i386 platform. The toplevel directory appears a bit shallow, given the
presence of a single architecture. (pub/redhat/linux/9/en/os/
).
Otherwise, the toplevel directory, for releases slightly older than 9, contains
distributions for the different platforms. For example, the corresponding
directory for release 7.1 of Redhat Linux, is structured this way:
alpha/ i386/ ia64/ ppc/ s390x/
|
The root of the i386 directory in a Redhat 9 distribution looks like this:
-rwxr-xr-x 2 root root 248 Mar 14 2003 autorun
drwxr-xr-x 7 root root 4096 Mar 14 2003 dosutils
-rw-r--r-- 3 root root 6192 Mar 14 2003 EULA
-rw-r--r-- 3 root root 18385 Mar 14 2003 GPL
drwxr-xr-x 3 root root 2048 Mar 14 2003 images
drwxr-xr-x 2 root root 2048 Mar 14 2003 isolinux
-rw-r--r-- 3 root root 6127 Mar 14 2003 README
-rw-r--r-- 2 root root 13052 Mar 14 2003 README-Accessibility
-rw-r--r-- 2 root root 6686 Mar 14 2003 README.de
-rw-r--r-- 2 root root 6990 Mar 14 2003 README.es
-rw-r--r-- 2 root root 6492 Mar 14 2003 README.fr
-rw-r--r-- 2 root root 6805 Mar 14 2003 README.it
-rw-r--r-- 2 root root 7995 Mar 14 2003 README.ja
-rw-r--r-- 2 root root 7312 Mar 14 2003 README.ko
-rw-r--r-- 2 root root 5070 Mar 14 2003 README.pt
-rw-r--r-- 2 root root 6613 Mar 14 2003 README.pt_BR
-rw-r--r-- 2 root root 5879 Mar 14 2003 README.zh_CN
-rw-r--r-- 2 root root 5892 Mar 14 2003 README.zh_TW
drwxr-xr-x 4 root root 2048 Mar 14 2003 RedHat
-rw-r--r-- 2 root root 25824 Mar 14 2003 RELEASE-NOTES
-rw-r--r-- 2 root root 29902 Mar 14 2003 RELEASE-NOTES-de.html
-rw-r--r-- 2 root root 30409 Mar 14 2003 RELEASE-NOTES-es.html
-rw-r--r-- 2 root root 32354 Mar 14 2003 RELEASE-NOTES-fr.html
-rw-r--r-- 2 root root 30064 Mar 14 2003 RELEASE-NOTES.html
-rw-r--r-- 2 root root 29925 Mar 14 2003 RELEASE-NOTES-it.html
-rw-r--r-- 2 root root 34666 Mar 14 2003 RELEASE-NOTES-ja.html
-rw-r--r-- 2 root root 33520 Mar 14 2003 RELEASE-NOTES-ko.html
-rw-r--r-- 2 root root 29496 Mar 14 2003 RELEASE-NOTES-pt_BR.html
-rw-r--r-- 2 root root 22747 Mar 14 2003 RELEASE-NOTES-pt.html
-rw-r--r-- 2 root root 25217 Mar 14 2003 RELEASE-NOTES-zh_CN.html
-rw-r--r-- 2 root root 26645 Mar 14 2003 RELEASE-NOTES-zh_TW.html
-rw-r--r-- 3 root root 1910 Mar 14 2003 RPM-GPG-KEY
-r--r--r-- 1 root root 1823 Mar 14 2003 TRANS.TBL
|
The SRPMS directory contains the RPMS
packages in source form.
The images directory contains boot
and drivers floppy images that can be copied to a diskette if needed. In the
9 release, there is only one boot disk image available. This boot image is named
bootdisk.img. A secondary driver disk is required beside
this one if the installation is not performed directly from a CD-ROM or HD. A
boot.iso file has now been added to boot a machine from
the cdrom drive and start (network) installations more easily (i.e. without messing up
with too many floppies). See section Installation and references
therein for details and consult the README file in the directory for a more detailed
explanation of the various files.
The isolinux directory contains
the files needed to boot from the CD (and to rebuild bootable CDs which work the
same way). This process was moved from floppy emulation to no emulation. This
helps avoiding space constraints and compatibility problems.
The dosutils directory contains various
programs for some other operating systems which are sometimes useful to support the
installation process. An explanatory README file is included also in this case.
The listing is completed by a lot of files and the
RedHat directory. The latter is the
subject of the next sections while the formers have contents which will appear
straightforward by simply reading their names (perhaps apart from the EULA,
or End User License Agreement).
2.2. The "RedHat" directory -- the core of the distribution
The most important part of the directory tree is rooted in the
RedHat directory:
drwxr-xr-x 2 root root 53248 Jun 14 03:15 RPMS
drwxr-xr-x 2 root root 4096 Jun 14 04:15 base
|
The RPMS directory contains the major
part of the Red Hat distribution consisting of a set of RPM (Redhat Package
Manager) files. An RPM package typically contains binary executables, along
with relevant configuration files and documentation. See the section
RPM packages for more information.
The base directory holds different
files needed during the installation process, like the
comps.xml file, which defines the components
(groups of packages) used during the "Choose packages to install" phase.
See section The comps file for more information on this file, and how
to use it.
Two other important files in the base
directory are hdlist and hdlist2
containing most of the header fields from all the RPMs in the
RPMS directory. This means that all
the interdependencies among RPM packages can be determined just by reading
these files without having to read all the RPM packages which is quite
convenient especially during FTP installs. Another use of these files is
mapping package names to file names (eg. perl to
perl-5.004-6.i386.rpm). This means that if you want
to incorporate updates from RedHat (see section Including the updates)
or add your own packages to the RPMS
directory, you need to update hdlist and
hdlist2. This is described later in
Rebuilding the installer. Besides these files, the images from which
the installation environment (i.e. kernel, python interpreter, anaconda, etc.)
is loaded are found.
2.3. The "updates" directory
The /pub/redhat/linux/updates directory has updates for all
releases of RedHat's distribution since version 3.0.3. This is the place
to find software packages that have been updated for some reason or other.
You should especially be aware of security updates. These are publicised on
RedHat's errata page whenever a fix is available. The most important files
found in the updates directory are:
drwxrwsr-x 3 root root 4096 Jul 13 10:13 5.2
drwxrwsr-x 3 root root 4096 Jul 13 10:13 6.0
drwxrwsr-x 3 root root 4096 Jul 13 10:13 6.1
drwxrwsr-x 4 root root 4096 Jul 13 10:14 6.2
drwxrwsr-x 4 root root 4096 Jul 13 10:14 7.0
drwxrwsr-x 4 root root 4096 Jul 13 10:14 7.1
drwxrwsr-x 4 root root 4096 Jul 13 10:13 7.2
drwxrwsr-x 3 root root 4096 Jul 13 10:14 7.3
drwxrwsr-x 3 root root 4096 Jul 13 10:14 8.0
drwxrwsr-x 3 root root 4096 Jul 13 10:14 9
|
The structure of each of these directories is similar to that described in
the section The Redhat 9 tree. So you will find for each version,
in the subdirectory en/os/ a series of
subdirectories representing the various architectures and a
noarch and SRPMS subdirectories, for packages which work on every architecture
or are in source form respectively.
drwxrwsr-x 2 root root 4096 Sep 23 05:28 SRPMS
drwxrwsr-x 2 root root 4096 Aug 28 18:25 athlon
drwxrwsr-x 2 root root 8192 Sep 23 05:28 i386
drwxrwsr-x 2 root root 4096 Jul 13 10:14 i486
drwxrwsr-x 2 root root 4096 Aug 28 18:26 i586
drwxrwsr-x 2 root root 4096 Aug 28 18:26 i686
drwxrwsr-x 2 root root 4096 Jul 13 10:14 noarch
|
2.4. Differences for the 8.0 tree
The 8.0 distribution layout is almost identical to the one just described. The only
major differences, in this respect, can be found in the images directory.
The images directory contains boot
and drivers floppy images that can be copied to a diskette if needed. In the
8.0 release, there are three boot disk images available. The first boot
image is called boot.img, and is required when installation
is performed directly from a CD-ROM. If installing from a NFS mounted disk or FTP
is required, the bootnet.img disk image is needed.
Installs through PCMCIA adapters need the pcmcia.img
floppy. See section Installation and references therein for
details and consult the README file in the directory for a more detailed explanation
of the various files.
2.5. Differences for the 7.x tree
The two distributions are fairly similar in this respect. The only changes which
are of some interest to us (and easy to notice with a simple inspection of the main
distribution tree) are represented by a missing
isolinux directory and some changes in the
RedHat/base directory. The first one is due
to the way the installation CDs are made bootable in releases prior to 8.0
("floppy emulation" has been superseded by "no emulation"
in release 8.0), while the second is an effect of the migration of
the comps file format to XML in Redhat
releases after 8.0 (that's why it was renamed comps.xml).
The Redhat/base/comps file is, in fact, a simple textual file
with a quite inflexible syntax in releases prior to and including Redhat 7.3.
2.6. Differences for the 6.x tree
For release 6.2 ( pub/redhat/linux/6.2/en/os/), the last of the 6 series, the organization
is the following (the previous releases are mostly similar if not really equal, in
this respect):
While the root of the i386 directory looks like this:
-rw-r--r-- 1 root root 18385 Sep 7 1999 COPYING
-rw-r--r-- 1 root root 3400 Mar 8 2000 README
-rw-r--r-- 1 root root 16300 Mar 8 2000 RELEASE-NOTES
-rw-r--r-- 1 root root 1908 Sep 25 1999 RPM-GPG-KEY
drwxr-xr-x 1 root root 512 Sep 27 15:22 RedHat
drwxr-xr-x 1 root root 17408 Sep 27 15:22 SRPMS
-rwxr-xr-x 1 root root 538 Sep 26 1999 autorun
-rwxr--r-- 1 root root 2048 Mar 9 2000 boot.cat
drwxr-xr-x 1 root root 512 Sep 27 15:22 doc
drwxr-xr-x 1 root root 512 Sep 27 15:22 dosutils
drwxr-xr-x 1 root root 512 Sep 27 15:22 images
drwxr-xr-x 1 root root 512 Sep 27 15:22 misc
|
In the following paragraphs I will only list differences from the newest
releases, what is not explicitly mentioned is (or is believed to be) unchanged.
The doc directory contains an
abundance of information. Most importantly, the RedHat installation manual
can be found in HTML format in the directory or on the Redhat website
( Redhat 6.2 Installation guide). Next, there are the reference guide
and the getting started guide. The documentation for the 7.x/8.0/9 releases is on
a separate CD (in a different tree, on the ftp site).
The images directory contains boot floppy
images that can be copied to a diskette if needed, like for 8.0, 7.3 and 9. See
section Installation and references therein for details. The
misc directory contains source and
executables of a number of programs needed for the installation.
The most important part of the directory tree is (again) rooted in
the RedHat directory:
drwxr-xr-x 2 root root 28672 Oct 26 09:01 RPMS
drwxr-xr-x 2 root root 4096 Oct 26 09:01 base
-rw-r--r-- 1 root root 0 Jan 19 1999 i386
drwxr-xr-x 6 root root 4096 Oct 26 09:01 instimage
|
The RPMS directory should be
already known to you. See the section RPM packages for more
informations. The base directory
holds different book-keeping files needed during the installation process,
like for releases 7.3, 8.0 and 9. The only noticeable differences being represented
by a single hdlist file and a missing
stage2.img file whose functionalities should be provided
by the files included in the instimage
directory. This contains, in fact, a bare-bones live file system with a number
of programs and shared libraries needed during the installation procedure.
The updates directory is really similar
to the one described for release 9 with the only difference of having more
architecture related directories.