4.3. Software that must be installed

There are certain programs required to be able to compile programs on your server, hence you must install the following RPM packages. This part of the installation is very important and requires that you install all related packages described below. These are on your Red Hat Part 1 CD-ROM under RedHat/RPMS directory and represent the base necessary software needed on Linux to compile and install programs.

  1. First, we mount the CD-ROM drive and move to the RPMS subdirectory of the CD-ROM. To mount the CD-ROM drive and move to RPM directory, use the following commands:
    
                   [root@deep] /# mount /dev/cdrom /mnt/cdrom/
                       [root@deep] /# cd /mnt/cdrom/RedHat/RPMS/
    
                     

    In the process of customizing our linux server, we will be using, most of the time source tarballs rather than pre-compiled RPMs hence these are the packages that we need to be able to compile and install programs. Remember, this is the minimum package that will allow you to compile most of the tarballs available for Linux. Other compiled binary packages exist on the Red Hat CD-ROM, so verify with the README file that came with the tarballs program you want to install if you receive an error messages during compilation of the specific software.

    Version 6.1 only

    m4-1.4-12.i386.rpmegcs-1.1.2-24.i386.rpm
    dev86-0.14.9-1.i386.rpmElectricFence-2.1-1.i386.rpm
    bison-1.28-1.i386.rpmflex-2.5.4a-7.i386.rpm
    byacc-1.9-11.i386.rpmgdb-4.18-4.i386.rpm
    cdecl-2.5-9.i386.rpmkernel-headers-2.2.12-20.i386.rpm
    cpp-1.1.2-24.i386.rpmglibc-devel-2.1.2-11.i386.rpm
    cproto-4.6-2.i386.rpmmake-3.77-6.i386.rpm
    ctags-3.2-1.i386.rpmpatch-2.5-9.i386.rpm

    Version 6.2 only

    m4-1.4-12.i386.rpmegcs-1.1.2-30.i386.rpm
    dev86-0.15.0-2.i386.rpmElectricFence-2.1-3.i386.rpm
    bison-1.28-2.i386.rpmflex-2.5.4a-9.i386.rpm
    byacc-1.9-12.i386.rpmgdb-4.18-11.i386.rpm
    cdecl-2.5-10.i386.rpmkernel-headers-2.2.14-5.0.i386.rpm
    cpp-1.1.2-30.i386.rpmglibc-devel-2.1.3-15.i386.rpm
    cproto-4.6-3.i386.rpmmake-3.78.1-4.i386.rpm
    ctags-3.4-1.i386.rpmpatch-2.5-10.i386.rpm

    Note: It is better to install software mentioned above in one shot, if you don't want to receive error message regarding dependencies during RPM install.

  2. Version 6.1 only

    Install all the needed software above with one RPM command. The RPM command to install all software together is:
    
                   [root@deep ] /RPMS#rpm -Uvh  m4-1.4-12.i386.rpm  dev86-0.14.9-1.i386.rpm bison-1.28-1.i386.rpm byacc-1.9-11.i386.rpm cdecl-2.5-9.i386.rpm cpp-1.1.2-24.i386.rpm 
                       cproto-4.6-2.i386.rpm ctags-3.2-1.i386.rpm egcs-1.1.2-24.i386.rpm ElectricFence-2.1-1.i386.rpm flex-2.5.4a-7.i386.rpm gdb-4.18-4.i386.rpm kernel-headers-2.2.12-20.i386.rpm glibc-devel-2.1.2-11.i386.rpm 
                       make-3.77-6.i386.rpm patch-2.5-9.i386.rpm
                     

    Version 6.2 only

    Install all the needed software above with one RPM command. The RPM command to install all software together is:
    
                   [root@deep ] /RPMS#rpm -Uvh m4-1.4-12.i386.rpm dev86-0.15.0-2.i386.rpm bison-1.28-2.i386.rpm byacc-1.9-12.i386.rpm cdecl-2.5-10.i386.rpm cpp-1.1.2-30.i386.rpm 
                       cproto-4.6-3.i386.rpm ctags-3.4-1.i386.rpm egcs-1.1.2-30.i386.rpm ElectricFence-2.1-3.i386.rpm flex-2.5.4a-9.i386.rpm gdb-4.18-11.i386.rpm kernel-headers-2.2.14-5.0.i386.rpm glibc-devel-2.1.3-15.i386.rpm 
                       make-3.78.1-4.i386.rpm patch-2.5-10.i386.rpm
                     

The RPM package has many options, for example we have used the following sytax:

rpm [-Uvh] [file]

you might be curious to know what these arguments -Uvh means, why should it be given at all etc.Here is a brief description:
-U

-stands for Upgrade which will uninstall an older version of the package you are installing and install the new one, which will eliminate the error likely to occur if in case the package being uninstalled has dependencies. It is generally recomded to use this argument even while you are obsolutely sure that there is no earlier version of the package you are trying to install is existing on your machine.

v

-stands for verbose, which is quite self explanatory. This argument ensures all messages are written to the stdout/console so you get to know what is happening.

h

-this generates the hash mark # in a series, this will give a sense of visual progress with the install process .

So, when you use rpm -Uvh, whether it is Redhat ver 6.1 or ver 6.2, what you see on your console is shown below,Notice in the display that the name of the package is seen but not the version number. Infact we have mentioned this earlier in this book that when you install or upgrade you have to enter the package name with version name, for example rpm -ivh mnt-1.0.4.rpm but while querying the same package using rpm command the syntax is as follows: rpm -qi mnt, Please do keep this mind. Given below is a graphical representation of your screen when you install the above mentioned rpm's :

version all


              m4                          	##################################################              
              dev86                      	##################################################
              bison                       	##################################################
              byacc                       	##################################################
              cdecl                       	##################################################
              cpp                         	##################################################
              cproto                      	##################################################
              ctags                       	##################################################
              egcs                        	##################################################
              ElectricFence               	##################################################
              flex                        	##################################################
              gdb                         	##################################################
              kernel-headers                    ##################################################
              glibc-devel                 	##################################################
              make                        	##################################################
              patch                       	##################################################
            

You must exit and re-login for all the change to take effect. To exit from your console, use the command:

          [root@deep] /# exit