Pre-Install checks for 10gR2 RDBMS (10.2.x) - Linux x86 Platforms (文档 ID 334531.1)

Pre-Install checks for 10gR2 RDBMS on Linux x86

Purpose

NOTE: This standalone HCVE script has been  de-supported and fully decommissioned as of August 25th, 2006. All standalone HCVE scripts have been incorporated into RDA. Please  update your bookmarks and start using the  NEW HCVE/RDA tool from now on. 

HCVE has been completely reworked, so please carefully read  RDA 4 - HCVE Users' Guide -  Note.250262.1 for new download, installation and execution instructions.


This rule set performs the following tests:
  • OS certified?
  • Other O_Hs in PATH?
  • oraInventory perms
  • /tmp adequate?
  • Swap (in Mb)
  • RAM (in Mb)
  • Swap OK?
  • Disk Space OK?
  • Kernel params OK?
  • Got ld,nm,ar,make?
  • ulimits OK?
  • User in /etc/passwd?
  • RHEL21 rpms ok?
  • RHEL3 rpms ok?
  • SuSE SLES8 rpms ok?
  • SuSE SLES9 rpms ok?
  • 3006854 installed?
  • LD_ASSUME_KERNEL set?
  • ip_local_port_range ok?
  • Tainted Kernel?
  • other OUI up?
  • Group in /etc/group?
  • Input ORACLE_HOME
  • ORACLE_HOME valid?
  • O_H perms OK?
  • Umask set to 022?
  • LDLIBRARYPATH unset?

Scope and Application

This rule collection is designed for an Oracle Service Engineer, or any Web Server Administrator who needs to perform Pre-Install checks for 10gr2 RDBMS on Linux x86.

Instructions

The easiest way to run this set of rules is to  download [Save file as validate.tar] and execute the validation engine. The download is a small "tar" file, which consists of the following:

  • validate - Shell script that executes the engine - Unix platforms
  • validate.pl - Actual rule engine
  • filename.txt - Rule text file. This file will be different for each rule set

To run the rules:

  1. Click Here to download the file to your system.
  2. Save the file as "validate.tar".
  3. Untar the files to a local directory. i.e tar xvf validate.tar
  4. Set your environment to the one you want the validate.
  5. Execute validate filename.txt from the command line, as in the following examples:
    # perl validate.pl 10gr2_rdbms_linux_x86_hcve_031106.txt
    OR
    # validate 10gr2_rdbms_linux_x86_hcve_031106.txt
  6. When prompted, confirm the environment.
NOTE: "Problems with not finding Perl"

Perl 5.6.1 is usually installed by default with MOST UNIX OS's. Please consult your System Administrator on where to find the Perl installation. The Perl software is usually installed in /opt/perl directory, please verify this. If it exist, do the following to set your environment: 
export PATH=/opt/perl/bin:$PATH
export PERL5LIB=/opt/perl/lib


Execute the following command to verify that the Perl program is in your PATH:
which perl -----> should return /opt/perl/bin 

perl -v ------> should return "This is perl, v5.6.1

If the version is correct or at least v5.x.x, try to run :

# validate 10g_rdbms_linux.txt 

If it does not work, you can download Perl 5.6.1 for free from http://www.perl.com/CPAN/ports/index.html. Then setup your PATH and PERL5LIB environment variables to where you installed Perl.

The engine executes all rules and prints a summary page. An example of the run session is below, output from your run session will be different:
"Health Check Rule Engine" will be run in following environment:

ORACLE_HOME: /oracle/9.0.1
ORACLE_SID : V901

If this is not correct environment
Please set correct env parameters and rerun program
Would you like to continue [Y]es/[N]o (Default Yes) : 


Executing Rules
~~~~~~~~~~~~~~~

Executing Rule: sysdate              - completed successfully.
Executing Rule: ulimit               - completed successfully.
Executing Rule: free_oracle_home     - completed successfully.
Executing Rule: free_shared_pool     - completed successfully.

Tests executed at Mon Jan 20 13:07:18 2003

Test Results
~~~~~~~~~~~~

   ID NAME                 RESULT  CON VALUE
===== ==================== ======= === ==============================
    1 sysdate              RECORD  NA  Mon Jan 20 13:07:17 EST 2003
    2 ulimit               PASSED  =   unlimited
    3 free_oracle_home     FAILED  B   5087768
    4 free_shared_pool     PASSED  >   33531748
After the execution is complete you can see a detailed output and advise on the outcome in the log file. The log file will have the same name as the rules file, but with the  .log extention. The engine will prompt you the correct log file name.

Note: You can also run each individual rule manually. Although this is the less preferable choice, if you would like to execute the rules manually, follow the instructions below. It is important that you understand that the %#% in a particular rule represents the value of the output from a previous Test. i.e. (if %40% eq True then) in rule is interpreted as if the value from the output of rule 40 is true, then futher process current rule. The Rule number is the second line after Rule description and can be seen in 10g_rdbms_linux.txt.

Test: OS certified?

This rule checks if the correct version of Linux has been installed for installing 10g RDBMS

Run the following command from the Operating System command line


kernelversub1=`/bin/uname -r | /bin/sed 's/[.-]/ /g' | /bin/sed 's/[a-z,A-Z]//g' | /bin/awk '{print $1}'`
kernelversub2=`/bin/uname -r | /bin/sed 's/[.-]/ /g' | /bin/sed 's/[a-z,A-Z]//g' | /bin/awk '{print $2}'`
kernelversub3=`/bin/uname -r | /bin/sed 's/[.-]/ /g' | /bin/sed 's/[a-z,A-Z]//g' | /bin/awk '{print $3}'`
kernelversub4=`/bin/uname -r | /bin/sed 's/[.-]/ /g' | /bin/sed 's/[a-z,A-Z]//g' | /bin/awk '{print $4}'`
kernelversub5=`/bin/uname -r | /bin/sed 's/[.-]/ /g' | /bin/sed 's/[a-z,A-Z]//g' | /bin/awk '{print $5}'`
if /usr/bin/test -f /etc/redhat-release
then
  linuxtype=1
  susever=null
  ulver=null
  if [ `/bin/cat /etc/redhat-release | /bin/grep -i pensacola | /usr/bin/wc -l` -ge 1 ]
  then
    redhatver=AS2.1
  elif [ `/bin/cat /etc/redhat-release | /bin/grep -i taroon | /usr/bin/wc -l` -ge 1 ]
  then
    redhatver=EL3
  elif [ `/bin/cat /etc/redhat-release | /bin/grep -i nahant | /usr/bin/wc -l` -ge 1 ]
  then
    redhatver=EL4
  elif [ `/bin/cat /etc/redhat-release | /bin/grep -i derry | /usr/bin/wc -l` -ge 1 ]
  then
    redhatver=AS2.1ia64
  elif [ `/bin/cat /etc/redhat-release | /bin/grep -i destin | /usr/bin/wc -l` -ge 1 ]
  then
    redhatver=ASDE2.1
  elif [ `/bin/cat /etc/redhat-release | /bin/grep -i Panama | /usr/bin/wc -l` -ge 1 ]
  then
    redhatver=ES2.1
  elif [ `/bin/cat /etc/redhat-release | /bin/grep -i shrike | /usr/bin/wc -l` -ge 1 ]
  then
    redhatver=9.0
  elif [ `/bin/cat /etc/redhat-release | /bin/grep -i psyche | /usr/bin/wc -l` -ge 1 ]
  then
    redhatver=8.0
  elif [ `/bin/cat /etc/redhat-release | /bin/grep -i valhalla | /usr/bin/wc -l` -ge 1 ]
  then
    redhatver=7.3
  elif [ `/bin/cat /etc/redhat-release | /bin/grep -i enigma | /usr/bin/wc -l` -ge 1 ]
  then
    redhatver=7.2
  elif [ `/bin/cat /etc/redhat-release | /bin/grep -i seawolf | /usr/bin/wc -l` -ge 1 ]
  then
    redhatver=7.1
  elif [ `/bin/cat /etc/redhat-release | /bin/grep -i guinness | /usr/bin/wc -l` -ge 1 ]
  then
    redhatver=7.0
  elif [ `/bin/cat /etc/redhat-release | /bin/grep -i zoot | /usr/bin/wc -l` -ge 1 ]
  then
    redhatver=6.2
  else
    redhatver=unknown
  fi
elif /usr/bin/test -f /etc/SuSE-release
then
  linuxtype=2
  redhatver=null
  ulver=null
  if [ `/bin/cat /etc/SuSE-release | /bin/grep -i SLES | /usr/bin/wc -l` -ge 1 ]
  then
    susever=`/bin/cat /etc/SuSE-release | /bin/grep -i SLES | /bin/grep -iv VER | /bin/awk '{print $2}'`
  elif [ `/bin/cat /etc/SuSE-release | /bin/grep -i Enterprise | /usr/bin/wc -l` -ge 1 ]
  then
    susevernum=`/bin/cat /etc/SuSE-release | /bin/grep -i VER | /bin/grep -iv Enterprise | /bin/awk '{print $3}'`
    susever="SLES-$susevernum"
  fi
elif /usr/bin/test -f /etc/UnitedLinux-release
then
  linuxtype=3
  redhatver=null
  susever=null
  ulver=`/bin/cat /etc/UnitedLinux-release | /bin/grep -i VER | /bin/awk '{print $3}'`
else
  linuxtype=4
  susever=null
  redhatver=null
  ulver=null
fi
if [ $linuxtype = "1" ]
then
  if [ $redhatver = "AS2.1" -a $kernelversub1 -ge "2" -a $kernelversub2 -ge "4" -a $kernelversub3 -ge "9" -a $kernelversub4 -ge "34" ]
  then
    /bin/echo "Certified with 10g RDBMS"

  elif [ $redhatver = "ES2.1" -a $kernelversub1 -ge "2" -a $kernelversub2 -ge "4" -a $kernelversub3 -ge "9" -a $kernelversub4 -ge "34" ]
  then
    /bin/echo "Certified with 10g RDBMS"

  elif [ $redhatver = "EL3" -a $kernelversub1 -ge "2" -a $kernelversub2 -ge "4" -a $kernelversub3 -ge "21" -a $kernelversub4 -ge "15" ]
  then
    /bin/echo "Certified with 10g RDBMS"

  elif [ $redhatver = "EL4" ]
  then
    /bin/echo "Certified with 10g RDBMS"
  else
    /bin/echo "RedHat $redhatver $kernelversub1.$kernelversub2.$kernelversub3-$kernelversub4 is not certified with 10g"
  fi
elif [ $linuxtype = "2" ]
then
  if [ $susever = "SLES-8" -a $kernelversub1 -ge "2" -a $kernelversub2 -ge "4" -a $kernelversub3 -ge "21" -a $kernelversub4 -ge "138" ]
  then
    /bin/echo "Certified with 10g RDBMS"

  elif [ $susever = "SLES-9" -a $kernelversub1 -ge "2" -a $kernelversub2 -ge "6" -a $kernelversub3 -ge "5" -a $kernelversub4 -ge "7" -a $kernelversub5 -ge "5" ]
  then
    /bin/echo "Certified with 10g RDBMS"

  else
    /bin/echo "Suse $susever $kernelversub1.$kernelversub2.$kernelversub3-$kernelversub4 is not certified with 10g"
  fi
elif [ $linuxtype = "3" ]
then
  /bin/echo "UnitedLinux $ulver is not certified with 10g RDBMS"
elif [ $linuxtype = "4" ]
then
  /bin/echo "Unknown Linux is not certified with 10g RDBMS"

fi

If the result from the above command is equal to Certified with 10g RDBMS then your environment passes this test. The correct version of Linux is installed on your server.

What to do if your system fails the test:
!!SHOWSTOPPER!!

The correct version of Linux is NOT installed on your server. Please see the installation manual and Metalink for the certified versions of Linux.

Test: Other O_Hs in PATH?

This rule checks to ensure that the PATH variable does NOT contain any references to other ORACLE_HOMEs based on /var/opt/oracle/oratab entries

Run the following command from the Operating System command line


NoneFound=true
if /usr/bin/test -f /etc/oratab
then
  for FILE in /etc/oratab
  do
    for LINE in `/bin/cat $FILE | /bin/grep -v '#' | /bin/grep -v '^$' | /bin/awk -F: '{print $2}' | /bin/sort -u`
    do
      for ENVPATHS in PATH
      do
        if [ `/usr/bin/env | /bin/grep -w $ENVPATHS | /bin/grep :$ENVPATHS= | /usr/bin/wc -l` -ge 1 ]
        then
          if [ `/usr/bin/env | /bin/grep -w $ENVPATHS | /bin/grep :$ENVPATHS= | /bin/grep $LINE | /usr/bin/wc -l` -ge 1 ]
          then
	    /bin/echo OratabEntryInPath
            NoneFound=false
          fi
        fi
      done
    done
  done
fi
if [ $NoneFound = true ]
then
  /bin/echo NoneFound
fi

If the result from the above command is equal to NoneFound then your environment passes this test. The PATH does not contain any of the values of ORACLE_HOME found in /etc/oratab. This is correct for installing 10g RDBMS. No action required.

What to do if your system fails the test:
The PATH contains one or more references to the values of ORACLE_HOME found in the /etc/oratab file. Please remove these references before installing 10g RDBMS.

Test: oraInventory perms

This rule verifies if the user who will install 10g RDBMS has sufficient privileges for the oraInventory directory.

Run the following command from the Operating System command line


if /usr/bin/test -f /etc/oraInst.loc
then
  ORAINVENTORYLOC=`/bin/cat /etc/oraInst.loc | /bin/grep 'inventory_loc' | /bin/grep -v "#" | /bin/awk -F= '{print $2}'`
  if /usr/bin/test -w "$ORAINVENTORYLOC"
  then
    if  /usr/bin/test -r "$ORAINVENTORYLOC"

    then
      /bin/echo oraInventoryOK
    else
      /bin/echo oraInventoryNotOK
    fi
  else
    /bin/echo oraInventoryNotOK
  fi
else
  /bin/echo oraInventoryNotFound
fi

If the result from the above command is =~ oraInventoryOK|oraInventoryNotFound then your environment passes this test. The user who is currently logged in either has sufficient privileges for the oraInventory directory to install 10g RDBMS or this is the first Oracle product that will installed on the system in which case the oraInventory directory will be created. No action required.

What to do if your system fails the test:
There is a problem for the user who currently is logged in to install 10g RDBMS in accessing (writing and reading) oraInventory. Please verify that the user can write to the directory specified in /etc/oraInst.loc.

Return value Action required

---------------------------------------------------------------------

oraInventoryNotOK Make sure the install user has write permission

to $ORAINVLOC

oraInventoryNotFound The file /etc/oraInst.loc was not found. This

is not a problem if this is the first install of

oracle on the server.

Test: /tmp adequate?

This rule checks if the space available during the installation of 10g RDBMS is sufficient for storing temporary files.

Run the following command from the Operating System command line


tmpOK=false
vartmpOK=false
if /usr/bin/test $TEMP
then
   TEMPLOC=$TEMP
else
   if /usr/bin/test $TMP
   then
      TEMPLOC=$TMP
   else
      TEMPLOC=/tmp
   fi
fi
if /usr/bin/test -d $TEMPLOC
then
   TMPFREE=`/bin/df -m $TEMPLOC | /bin/grep -v Filesystem | /usr/bin/tr '\n' ' ' | /bin/awk -F% '{print $1}' | /bin/awk '{print $(NF-1)}'`
   if [ $TMPFREE -lt 400 ]
   then
      /bin/echo TempFreeIsLow
   else
      if /usr/bin/test -w "$TEMPLOC"
      then
         tmpOK=true
      else
        /bin/echo TempNoWrite
      fi
   fi
else
  /bin/echo invalidDIR
fi
if /usr/bin/test $TMPDIR
then
   TMPDIRLOC=$TMPDIR
else
   TMPDIRLOC=/var/tmp
fi
if /usr/bin/test -d $TMPDIRLOC
then
  TMPDIRSIZE=`/bin/df -m "$TMPDIRLOC" | /bin/grep -v Filesystem | /usr/bin/tr '\n' ' ' | /bin/awk -F% '{print $1}' | /bin/awk '{print $(NF-1)}'`
  if [ $TMPDIRSIZE -lt 200 ]
  then
    /bin/echo TMPDIRTooSmall
  else
    if /usr/bin/test -w "$TMPDIRLOC"
    then
      vartmpOK=true
    else
      /bin/echo TMPDIRNoWrite
    fi
  fi
else
  /bin/echo invalidDIR
fi
if [ $tmpOK = true -a $vartmpOK = true ]
then
  /bin/echo TempSpaceOK
fi

If the result from the above command is equal to TempSpaceOK then your environment passes this test. There is sufficient temporary disk space available for installing 10g RDBMS. No action required.

What to do if your system fails the test:
The temp space is not correctly configured.

ReturnValue Action

----------------------------------------------------------------------

TempFreeIsLow ALERT- Your temp space ($TEMP or $TMP or /tmp) has

less than the required 400 Mb free space. Please

make sure your temp space has at least 400 Mb of

free space

TempNoWrite ALERT- your temp space ($TEMP or $TMP or /tmp) does

not have write permissions for this user

TMPDIRTooSmall ALERT- $TMPDIR or /tmp has less than the

required 200 Mb. Please point the TMPDIR

environmental variable to a mount point with at

least 200 Mb of free space

TMPDIRNoWrite ALERT- $TMPDIR is set in the environment;

however, $TMPDIRLOC does not have write permissions

for this user

invalidDIR ALERT- $TEMP or $TMPDIR are set in the environment

with invalid directory

FYI: The runInstaller (OUI) uses/checks for temporary space by checking first for the TEMP environmental variable, then the TMP environmental variable and lastly the actual '/tmp' mount point

FYI: The operating system also needs additional space by creating files under /tmp or if it finds TMPDIR environmental variable it will use that.

Test: Swap (in Mb)

This rule shows the amount of free swap space.

Run the following command from the Operating System command line and record the result:


if /usr/bin/test -x /usr/bin/free
then
  SWAP=`/usr/bin/free -mt | /bin/grep "Swap" | /bin/awk '{print $2}'`
  if /usr/bin/test -z "$SWAP"
  then
    /bin/echo "SWAPNotSet"
  else
    /bin/echo $SWAP
  fi
else
  /bin/echo "SWAPNotDetermined"
fi

NA

Test: RAM (in Mb)

This rule verifies if your system has sufficient physical memory installed to install Oracle 10g RDBMS

Run the following command from the Operating System command line


MEM=`/usr/bin/free -m | /bin/grep "Mem" | /bin/awk '{print $2}' `
/bin/echo $MEM

If the result from the above command is greater than 511 then your environment passes this test. You have sufficient physical memory installed to install Oracle 10g RDBMS. No action required.

What to do if your system fails the test:
ALERT

The amount of physical memory in your system is not sufficient to install Oracle 10g RDBMS.

Test: Swap OK?

This rule verifies if the total amount of swap space is the recommended amount as specified in the installation manual of 10g RDBMS

Run the following command from the Operating System command line


if /usr/bin/test %130%
then
  if [ %130% -lt 1000 ]
  then
    /bin/echo InsufficientSwap
  else
    /bin/echo SwapOK
  fi
else
  /bin/echo SwapNotDetermined
fi

If the result from the above command is equal to SwapOK then your environment passes this test. The amount of swap space meets the minimum requirement for installing 10g RDBMS. No action required.

What to do if your system fails the test:
The amount of swap is NOT the amount recommended in the 10g RDBMS installation manual. Please verify the requirements and adjust your system accordingly.

ReturnValue Action

--------------------------------------------------------------------

SwapNotDetermined ALERT- A Swap to Memory ratio cannot be

determined because swap has not been setup or

you do not have execute permission to

determine swap

InsufficientSwap ALERT- 10g RDBMS requires at least 1 Gb of swap

space

Test: Disk Space OK?

This rules verifies if the amount of disk space in ORACLE_HOME is sufficient for installing 10g RDBMS

Run the following command from the Operating System command line


if /usr/bin/test %40%
then
  if /usr/bin/test -d %40%
  then
    OHDISKSPACE=`/bin/df -m %40% | /bin/grep -v Filesystem | /usr/bin/tr '\n' ' ' | /bin/awk -F% '{print $1}' | /bin/awk '{print $(NF-1)}'`
    DBANDSW=2700
    DBORSW=1500
    CLIENTONLY=1000
    if [ $OHDISKSPACE -ge $DBANDSW ]
    then
      /bin/echo DiskSpaceOK
    elif [ $OHDISKSPACE -ge $DBORSW ]
    then
      /bin/echo OnlySpaceForOne
    elif [ $OHDISKSPACE -ge $CLIENTONLY ]
    then
      /bin/echo ClientOnly
    else
      /bin/echo NoSpace
    fi
  else
    /bin/echo OHNotValid
  fi
else
  /bin/echo OHNotSpecified
fi

If the result from the above command is =~ DiskSpaceOK|OHNotSpecified then your environment passes this test. ORACLE_HOME has sufficient disk space to install 10g software, create a database, install Companionion CD products. No action required.

What to do if your system fails the test:
ORACLE_HOME has insufficient disk space for installing any type of 10g RDBMS architectures. Please verify the specifications.

ReturnValue Action

----------------------------------------------------------------------

OnlySpaceForOne $ORACLE_HOME has sufficient free disk space to

install the 10g software but not enough to create

a database.

ClientOnly $ORACLE_HOME only has sufficient free disk space to

do a client installation.

NoSpace $ORACLE_HOME has insufficient free disk space

to do a 10g install.

OHNotValid Disk space calculations cannot be performed

since $ORACLE_HOME is not a valid directory

Test: Kernel params OK?

This rule verifies if the kernel parameters have been set according to the installation manual

Run the following command from the Operating System command line


paramOk=true
SHMMAXREQD=`expr %130% / 2`
SHMMNIREQD=4096
SHMALLREQD=2097152
SEMMNIREQD=128
SEMMSLREQD=250
SEMMNSREQD=32000
SEMOPMREQD=100
FILEMAXREQD=65536
SHMMAX=`/bin/cat /proc/sys/kernel/shmmax`
if [ $SHMMAX -gt 0 ]
then
   if [ $SHMMAX -lt $SHMMAXREQD ]
   then
      /bin/echo SHMMAXTooSmall
      paramOk=false
   fi
else
  /bin/echo SHMMAXUndef
  paramOk=false
fi
SHMMNI=`/bin/cat /proc/sys/kernel/shmmni`
if [ $SHMMNI -gt 0 ]
then
   if [ $SHMMNI -lt $SHMMNIREQD ]
   then
     /bin/echo SHMMNITooSmall
     paramOk=false
   fi
else
   /bin/echo SHMMNIUndef
   paramOk=false
fi
SHMALL=`/bin/cat /proc/sys/kernel/shmall`
if [ $SHMALL -gt 0 ]
then
   if [ $SHMALL -lt $SHMALLREQD ]
   then
      /bin/echo SHMALLTooSmall
      paramOk=false
   fi
else
  /bin/echo SHMALLUndef
  paramOk=false
fi
SEMMNI=`/bin/cat /proc/sys/kernel/sem | /bin/awk '{print $4}'`
if [ $SEMMNI -gt 0 ]
then
   if [ $SEMMNI -lt $SEMMNIREQD ]
   then
      /bin/echo SEMMNITooSmall
      paramOk=false
   fi
else
   /bin/echo SEMMNIUndef
   paramOk=false
fi
SEMMSL=`/bin/cat /proc/sys/kernel/sem | /bin/awk '{print $1}'`
if [ $SEMMSL -gt 0 ]
then
   if [ $SEMMSL -lt $SEMMSLREQD ]
   then
      /bin/echo SEMMSLTooSmall
      paramOk=false
   fi
else
   /bin/echo SEMMSLUndef
   paramOk=false
fi
SEMMNS=`/bin/cat /proc/sys/kernel/sem | /bin/awk '{print $2}'`
if [ $SEMMNS -gt 0 ]
then
   if [ $SEMMNS -lt $SEMMNSREQD ]
   then
      /bin/echo SEMMNSTooSmall
      paramOk=false
   fi
else
   /bin/echo SEMMNSUndef
   paramOk=false
fi
SEMOPM=`/bin/cat /proc/sys/kernel/sem | /bin/awk '{print $3}'`
if [ $SEMOPM -gt 0 ]
then
   if [ $SEMOPM -lt $SEMOPMREQD ]
   then
      /bin/echo SEMOPMTooSmall
      paramOk=false
   fi
else
   /bin/echo SEMOPMUndef
   paramOk=false
fi
FILEMAX=`/bin/cat /proc/sys/fs/file-max`
if [ $FILEMAX -gt 0 ]
then
   if [ $FILEMAX -lt $FILEMAXREQD ]
   then
      /bin/echo FILEMAXTooSmall
      paramOk=false
   fi
else
   /bin/echo FILEMAXUndef
   paramOk=false
fi
if [ $paramOk =  true ]
then
  /bin/echo KernelOK
fi

If the result from the above command is equal to KernelOK then your environment passes this test. The kernel parameters have been set according the installation manual of 10g RDBMS. No action required.

What to do if your system fails the test:
The kernel parameters have NOT been set according the installation manual of 10g RDBMS. Please refer to the installation manual.

ReturnValue Action

--------------------------------------------------------------------

SHMMAXUndef SHMMAX has not been defined and needs to be set

to $SHMMAXRED

SHMMAXTooSmall Increase the kernel parameter SHMMAX to $SHMMAXREQD

SHMMNIUndef SHMMNI has not been defined and needs to be set

to $SHMMNIREQD or more

SHMMNITooSmall Increase the kernel parameter SHMMNI to at least $SHMMNIREQD

SHMALLUndef SHMALL has not been defined and needs to be set

to $SHMALLREQD or more

SHMALLTooSmall Increase the kernel parameter SHMALL to at least $SHMALLREQD

SEMMNIUndef SEMMNI has not been defined and needs to be set

to $SEMMNIREQD

SEMMNITooSmall Increase the kernel parameter SEMMNI to at least $SEMMNIREQD

SEMMSLNotDef SEMMSL has not been defined and needs to be set

to $SEMMSLREQD

SEMMSLTooSmall Increase the kernel parameter SEMMSL to at least $SEMMSLREQD

SEMMNSUndef SEMMNS has not been defined and needs to be set

to $SEMMNSREQD

SEMMNSTooSmall Increase the kernel parameter SEMMNS to at least $SEMMNSREQD

SEMOPMUndef SEMOPM has not been defined and needs to be set

to $SEMOPMREQD

SEMOPMTooSmall Increase the kernel parameter SEMOPM to at least $SEMOPMREQD

FILEMAXUndef FILE-MAX has not been defined and needs to be set

to $FILEMAXREQD

FILEMAXTooSmall Increase the kernel parameter FILE-MAX to at least $FILEMAXREQD

Test: Got ld,nm,ar,make?

This rule verifies if the assembly tools needed for the installation of 10g RDBMS exist

Run the following command from the Operating System command line


ARFOUND=false
LDFOUND=false
NMFOUND=false
MAKEFOUND=false
arvalue=`/usr/bin/which ar`
if /usr/bin/test -h $arvalue
then
  arvalue=`/bin/ls -l $arvalue | /bin/awk '{print $11}' | /bin/awk -F* '{print $1}'`
fi
if [ "$arvalue" != "/usr/bin/ar" ]
then
  /bin/echo ArNotFound
else
  ARFOUND=true
fi
ldvalue=`/usr/bin/which ld`
if /usr/bin/test -h $ldvalue
then
  ldvalue=`/bin/ls -l $ldvalue | /bin/awk '{print $11}' | /bin/awk -F* '{print $1}'`
fi
if [ "$ldvalue" != "/usr/bin/ld" ]
then
  /bin/echo LdNotFound
else
  LDFOUND=true
fi
nmvalue=`/usr/bin/which nm`
if /usr/bin/test -h $nmvalue
then
  nmvalue=`/bin/ls -l $nmvalue | /bin/awk '{print $11}' | /bin/awk -F* '{print $1}'`
fi
if [ "$nmvalue" != "/usr/bin/nm" ]
then
  /bin/echo NmNotFound
else
  NMFOUND=true
fi
makevalue=`/usr/bin/which make`
if /usr/bin/test -h $makevalue
then
  makevalue=`/bin/ls -l $makevalue | /bin/awk '{print $11}' | /bin/awk -F* '{print $1}'`
fi
if [ "$makevalue" != "/usr/bin/make" ]
then
  /bin/echo MakeNotFound
else
  MAKEFOUND=true
fi
if [ $ARFOUND = true -a $LDFOUND = true -a $NMFOUND=true -a $MAKEFOUND = true ]
then
  /bin/echo ld_nm_ar_make_found
fi

If the result from the above command is equal to ld_nm_ar_make_found then your environment passes this test. All Assembly tools needed for the installation of 10g RDBMS were found. No action required.

What to do if your system fails the test:
Some of the Assembly tools needed for the installation of 10g RDBMS were not found. Please check your installation.

ReturnValue Action

---------------------------------------------------------------------

ArNotFound ar either is not found in PATH or not in /usr/bin as required

LdNotFound ld either is not found in PATH or not in /usr/bin as required

NmNotFound nm either is not found in PATH or not in /usr/bin as required

MakeNotFound make either is not found in PATH or not in /usr/bin as required

Test: ulimits OK?

This rule verifies if the ulimit settings are adequate for installing 10g RDBMS

Run the following command from the Operating System command line


TIMEOK=false
FILEOK=false
DATAOK=false
STACKOK=false
NOFILESOK=false
MEMORYOK=false
MAXUPROCOK=false
VMEMORYOK=false
MAXLOCKMEMOK=false
TIME=`ulimit -t`
if /usr/bin/test -z "$TIME"
then
  /bin/echo TimeNotDef
elif [ $TIME != "unlimited" ]
then
  /bin/echo TimeTooSmall
else
  TIMEOK=true
fi
FILE=`ulimit -f`
if /usr/bin/test -z "$FILE"
then
  /bin/echo FileNotDefined
elif [ $FILE != "unlimited" ]
then
  /bin/echo FileTooSmall
else
  FILEOK=true
fi
DATA=`ulimit -d`
if /usr/bin/test -z "$DATA"

then
   /bin/echo DataNotDefined
elif [ $DATA = "unlimited" ]
then
   DATAOK=true
elif [ $DATA -ge 1048576 ]
then
   DATAOK=true
else
   /bin/echo DataTooSmall
fi
STACK=`ulimit -s`
if /usr/bin/test -z "$STACK"
then
   /bin/echo StackNotDefined
elif [ $STACK = "unlimited" ]
then
   STACKOK=true
elif [ $STACK -ge 32768 ]
then
   STACKOK=true
else
  /bin/echo StackTooSmall
fi
NOFILES=`ulimit -n`
if /usr/bin/test -z "$NOFILES"
then
  /bin/echo NoFilesNotDefined
elif [ $NOFILES = "unlimited" ]
then
   NOFILESOK=true
elif [ $NOFILES -ge 65536 ]
then
   NOFILESOK=true
else
   /bin/echo NoFilesTooSmall
fi
MEMORY=`ulimit -m`
if /usr/bin/test -z "$MEMORY"

then
  /bin/echo MemoryNotDefined
elif [ $MEMORY = "unlimited" ]
then
   MEMORYOK=true
elif [ $MEMORY -ge 2045680 ]
then
   MEMORYOK=true
else
  /bin/echo MemoryTooSmall
fi
MAXUPROC=`ulimit -u`
if /usr/bin/test -z "$MAXUPROC"
then
  /bin/echo MaxuprocNotDefined
elif [ $MAXUPROC = "unlimited" ]
then
   MAXUPROCOK=true
elif [ $MAXUPROC -ge 16384 ]
then
   MAXUPROCOK=true
else
  /bin/echo MaxuprocTooSmall
fi
VMEMORY=`ulimit -v`
if /usr/bin/test -z "$VMEMORY"
then
  /bin/echo VmemoryNotDefined
elif [ $VMEMORY = "unlimited" ]
then
   VMEMORYOK=true
elif [ $VMEMORY -ge 4194304 ]
then
   VMEMORYOK=true
else
  /bin/echo VmemoryTooSmall
fi
MAXLOCKMEM=`ulimit -l`
if /usr/bin/test -z "$MAXLOCKMEM"

then
  /bin/echo MaxLockMemNotDef
elif [ $MAXLOCKMEM -lt 3145728 ]
then
  /bin/echo MaxLockMemTooSmall
else
  MAXLOCKMEMOK=true
fi
if [ $TIMEOK = true -a $FILEOK = true -a $DATAOK = true -a $STACKOK = true -a $NOFILESOK = true -a $MEMORYOK = true -a $MAXUPROCOK = true -a $VMEMORYOK = true -a $MAXLOCKMEMOK = true ]
then
  /bin/echo ulimitOK
fi

If the result from the above command is equal to ulimitOK then your environment passes this test. The ulimit settings are adequate for installing 10g RDBMS. No action required.

What to do if your system fails the test:
Please review the ulimit settings and the recommended values from the installation guide of 10g RDBMS before installing the software.

Return value Action required

----------------------------------------------------------------------

TimeNotDef ulimit(TIME) has not been defined

TimeTooSmall Increase the ulimit(TIME) to unlimited

FileNotDefined ulimit(FILE) has not been defined"

FileTooSmall Increase the ulimit(FILE) to unlimited

DataNotDefined ulimit(DATA) has not been defined

DataTooSmall Increase the ulimit(DATA) to at least 1048576

StackNotDefined ulimit(STACK) has not been defined

StackTooSmall Increase the ulimit(STACK) to at least 32768

NoFilesNotDefined ulimit(NOFILES) has not been defined

NoFilesTooSmall Increase the ulimit(NOFILES) to at least 4096

MaxuprocNotDefined ulimit(MAXUPROC) has not been defined

MaxuprocTooSmall Increase the ulimit(MAXUPROC) to at least 16384

MemNotDefined ulimit(MEMORY) has not been defined

MemTooSmall Increase the ulimit(MEMORY) to at least 2045680

VmemoryNotDefined ulimit(VMEMORY) has not been defined

VmemoryTooSmall Increase the ulimit(VMEMORY) to at least 4194304

MaxLockMemNotDefined ulimit(MAXLOCKMEM) has not been defined

MaxLockMemTooSmall Note: This applies for RHEL3 when using VLM only

Increase the ulimit(MAXLOCKMEM) to at least 3145728

Test: User in /etc/passwd?

This rule verifies if the username of the user who runs this script is found in /etc/passwd

Run the following command from the Operating System command line


USER=`/usr/bin/id -nu`
if /usr/bin/test -r /etc/passwd
then
  if [ "x${USER}x" =  "`/bin/cat /etc/passwd | /bin/awk -F: '{print "x"$1"x"}' | /bin/grep -w "x"${USER}"x"`" ]
  then
    /bin/echo userOK
  else
    /bin/echo "$USER not in /etc/passwd."

  fi
else
  /bin/echo "Can not read /etc/passwd"
fi

If the result from the above command is equal to userOK then your environment passes this test. The user is found in /etc/passwd. No action is required.

What to do if your system fails the test:
Either user is not found in /etc/passwd file or has no read permission. You must add the user to the /etc/passwd file, if not found.

Test: RHEL21 rpms ok?

This rule verifies if the correct versions of required RPMs have been installed on a RHEL21 system.

Run the following command from the Operating System command line


makerpm=false
glibcrpm=false
gccrpm=false
gcccpprpm=false
libstdcpprpm=false
openmotifrpm=false
if /usr/bin/test -f /etc/redhat-release
then
  if [ `/bin/cat /etc/redhat-release | /bin/grep -i pensacola | /usr/bin/wc -l` -ge 1 ] || [ `/bin/cat /etc/redhat-release | /bin/grep -i panama | /usr/bin/wc -l` -ge 1 ]
  then
    if [ `/bin/rpm -q make 2>/dev/null |/bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      makeversub1=`/bin/rpm -q make | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      makeversub2=`/bin/rpm -q make | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      makeversub3=`/bin/rpm -q make | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      if [ $makeversub1 -gt 3 ]
      then
        makerpm=true
      else
        if [ $makeversub1 -eq 3 ]
        then
          if [ $makeversub2 -gt 79 ]
          then
            makerpm=true
          else
            if [ $makeversub2 -eq 79 ]
            then
              if [ $makeversub3 -ge 1 ]
              then
                makerpm=true
              else
                /bin/echo "make $makeversub1.$makeversub2-$makeversub3"
              fi
            else
             /bin/echo "make $makeversub1.$makeversub2-$makeversub3"
            fi
          fi
        else
          /bin/echo "make $makeversub1.$makeversub2-$makeversub3"
        fi
      fi
    else
      /bin/echo notInstalled
    fi
    if [ `/bin/rpm -q glibc | /bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      glibcversub1=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      glibcversub2=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      glibcversub3=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      glibcversub4=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      if [ $glibcversub1 -gt 2 ]
      then
        glibcrpm=true
      else
        if [ $glibcversub1 -eq 2 ]
        then
          if [ $glibcversub2 -gt 2 ]
          then
            glibcrpm=true
          else
            if [ $glibcversub2 -eq 2 ]
            then
              if [ $glibcversub3 -gt 4 ]
              then
                glibcrpm=true
              else
                if [ $glibcversub3 -eq 4 ]
                then
                  if [ $glibcversub4 -ge 32 ]
                  then
                    glibcrpm=true
                  else
                    /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4"

                  fi
                else
                  /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4"
                fi
              fi
            else
              /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4"
            fi
          fi
        else
          /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4"
        fi
      fi
    else
      /bin/echo "glibc notInstalled"
    fi
    if [ `/bin/rpm -q gcc 2>/dev/null | /bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      gccversub1=`/bin/rpm -q gcc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      gccversub2=`/bin/rpm -q gcc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      gccversub3=`/bin/rpm -q gcc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      if [ $gccversub1 -gt 2 ]
      then
        gccrpm=true
      else
        if [ $gccversub1 -eq 2 ]
        then
          if [ $gccversub2 -gt 96 ]
          then
            gccrpm=true
          else
            if [ $gccversub2 -eq 96 ]
            then
              if [ $gccversub3 -ge 128 ]
              then
                gccrpm=true
              else
                /bin/echo "gcc $gccversub1.$gccversub2-$gccversub3"

              fi
            else
              /bin/echo "gcc $gccversub1.$gccversub2-$gccversub3"
            fi
          fi
        else
          /bin/echo "gcc $gccversub1.$gccversub2-$gccversub3"
        fi
      fi
    else
      /bin/echo "gcc notInstalled"
    fi
    if [ `/bin/rpm -q gcc-c++ 2>/dev/null | /bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      gcccppversub1=`/bin/rpm -q gcc-c++ | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      gcccppversub2=`/bin/rpm -q gcc-c++ | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      gcccppversub3=`/bin/rpm -q gcc-c++ | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      if [ $gcccppversub1 -gt 2 ]
      then
        gcccpprpm=true
      else
        if [ $gcccppversub1 -eq 2 ]
        then
          if [ $gcccppversub2 -gt 96 ]
          then
            gcccpprpm=true
          else
            if [ $gcccppversub2 -eq 96 ]
            then
              if [ $gcccppversub3 -ge 128 ]
              then
                gcccpprpm=true
              else
                /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2-$gcccppversub3"

              fi
            else
              /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2-$gcccppversub3"
            fi
          fi
        else
          /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2-$gcccppversub3"
        fi
      fi
    else
      /bin/echo "gcc-c++ notInstalled"
    fi
    if [ `/bin/rpm -q libstdc++ 2>/dev/null | /bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      libstdcppversub1=`/bin/rpm -q libstdc++ | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      libstdcppversub2=`/bin/rpm -q libstdc++ | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      libstdcppversub3=`/bin/rpm -q libstdc++ | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      if [ $libstdcppversub1 -gt 2 ]
      then
        libstdcpprpm=true
      else
        if [ $libstdcppversub1 -eq 2 ]
        then
          if [ $libstdcppversub2 -gt 96 ]
          then
            libstdcpprpm=true
          else
            if [ $libstdcppversub2 -eq 96 ]
            then
              if [ $libstdcppversub3 -ge 128 ]
              then
                libstdcpprpm=true
              else
                /bin/echo "libstdc++ $libstdcppversub1.$libstdcppversub2-$libstdcppversub3"

              fi
            else
              /bin/echo "libstdc++ $libstdcppversub1.$libstdcppversub2-$libstdcppversub3"
            fi
          fi
        else
          /bin/echo "libstdc++ $libstdcppversub1.$libstdcppversub2-$libstdcppversub3"
        fi
      fi
    else
      /bin/echo "libstdc++ notInstalled"
    fi
    if [ `/bin/rpm -q openmotif 2>/dev/null | /bin/grep -i not | /usr/bin/wc -l` -eq 0 ]
    then
      openmotifversub1=`/bin/rpm -q openmotif | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      openmotifversub2=`/bin/rpm -q openmotif | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      openmotifversub3=`/bin/rpm -q openmotif | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      openmotifversub4=`/bin/rpm -q openmotif | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      if [ $openmotifversub1 -gt 2 ]
      then
        openmotifrpm=true
      else
        if [ $openmotifversub1 -eq 2 ]
        then
          if [ $openmotifversub2 -gt 1 ]
          then
            openmotifrpm=true
          else
            if [ $openmotifversub2 -eq 1 ]
            then
              if [ $openmotifversub3 -gt 30 ]
              then
                openmotifrpm=true
              else
                if [ $openmotifversub3 -eq 30 ]
                then
                  if [ $openmotifversub4 -ge 11 ]
                  then
                    openmotifrpm=true
                  else
                    /bin/echo "openmotif $openmotifversub1.$openmotifversub2.$openmotifversub3-$openmotifversub4"

                  fi
                else
                  /bin/echo "openmotif $openmotifversub1.$openmotifversub2.$openmotifversub3-$openmotifversub4"
                fi
              fi
            else
              /bin/echo "openmotif $openmotifversub1.$openmotifversub2.$openmotifversub3-$openmotifversub4"
            fi
          fi
        else
          /bin/echo "openmotif $openmotifversub1.$openmotifversub2.$openmotifversub3-$openmotifversub4"
        fi
      fi
    else
      /bin/echo "openmotif notInstalled"
    fi
    if [ $makerpm = true -a $glibcrpm = true -a $gccrpm = true -a $gcccpprpm = true -a $libstdcpprpm = true -a $openmotifrpm = true ]
    then
      /bin/echo "RHEL21rpmsOK"

    else
      /bin/echo "RHEL21rpmsnotOK"
    fi
  else
    /bin/echo NotRHEL21
  fi
else
  /bin/echo "NotRedHat"
fi

If the result from the above command is =~ RHEL21rpmsOK|NotRHEL21|NotRedHat then your environment passes this test. The correct rpm versions have been installed on your RHEL 2.1 system. No action required.

What to do if your system fails the test:
Incorrect versions of rpms have been installed on your system or not present at all. Please make sure that the correct version is installed.

Please refer to Metalink Note; 169706.1 for the versions that are needed.

ReturnValue Action

--------------------------------------------------------------------

rpm name/version The output shows the version that was detected.

Refer to Metalink Note: 169706.1 for version

needed

notInstalled This indicates that a rpm that is needed is not

installed

Test: RHEL3 rpms ok?

This rule verifies if the correct versions of required RPMs have been installed on a RHEL3 system.

Run the following command from the Operating System command line


makerpm=false
glibcrpm=false
glibcdevelrpm=false
gcccpprpm=false
gcc=false
openmotif21=false
compatdb=false
compatgcc=false
compatgcccplus=false
compatlibstdcplus=false
compatlibstdcplusdev=false
setarch=false
if /usr/bin/test -f /etc/redhat-release
then
  if [ `/bin/cat /etc/redhat-release | /bin/grep -i taroon | /usr/bin/wc -l` -ge 1 ]
  then
    if [ `/bin/rpm -q make 2>/dev/null |/bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      makeversub1=`/bin/rpm -q make | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      makeversub2=`/bin/rpm -q make | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      makeversub3=`/bin/rpm -q make | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      if [ $makeversub1 -gt 3 ]
      then
        makerpm=true
      else
        if [ $makeversub1 -eq 3 ]
        then
          if [ $makeversub2 -gt 79 ]
          then
            makerpm=true
          else
            if [ $makeversub2 -eq 79 ]
            then
              if [ $makeversub3 -ge 1 ]
              then
                makerpm=true
              else
                /bin/echo "make $makeversub1.$makeversub2-$makeversub3"
              fi
            else
             /bin/echo "make $makeversub1.$makeversub2-$makeversub3"
            fi
          fi
        else
          /bin/echo "make $makeversub1.$makeversub2-$makeversub3"
        fi
      fi
    else
      /bin/echo notInstalled
    fi
    if [ `/bin/rpm -q glibc | /bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      glibcversub1=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      glibcversub2=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      glibcversub3=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      glibcversub4=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      glibcversub5=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $6}'`
      if [ $glibcversub1 -gt 2 ]
      then
        glibcrpm=true
      else
        if [ $glibcversub1 -eq 2 ]
        then
          if [ $glibcversub2 -gt 3 ]
          then
            glibcrpm=true
          else
            if [ $glibcversub2 -eq 3 ]
            then
              if [ $glibcversub3 -gt 2 ]
              then
                glibcrpm=true
              else
                if [ $glibcversub3 -eq 2 ]
                then
                  if [ $glibcversub4 -gt 95 ]
                  then
                    glibcrpm=true
                  else
                    if [ $glibcversub4 -eq 95 ]
                    then
                      if [ $glibcversub5 -ge 20 ]
                      then
                        glibcrpm=true
                      else
                        /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4.$glibcversub5"

                      fi
                    else
                     /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4.$glibcversub5"
                    fi
                  fi
                else
                  /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4.$glibcversub5"
                fi
              fi
            else
              /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4.$glibcversub5"
            fi
          fi
        else
          /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4.$glibcversub5"
        fi
      fi
    else
      /bin/echo "glibc notInstalled"

    fi
if [ `/bin/rpm -q glibc-devel | /bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      glibcdevelversub1=`/bin/rpm -q glibc-devel | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      glibcdevelversub2=`/bin/rpm -q glibc-devel | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      glibcdevelversub3=`/bin/rpm -q glibc-devel | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      glibcdevelversub4=`/bin/rpm -q glibc-devel | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $6}'`
      glibcdevelversub5=`/bin/rpm -q glibc-devel | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $7}'`
      if [ $glibcdevelversub1 -gt 2 ]
      then
        glibcdevelrpm=true
      else
        if [ $glibcdevelversub1 -eq 2 ]
        then
          if [ $glibcdevelversub2 -gt 3 ]
          then
            glibcdevelrpm=true
          else
            if [ $glibcdevelversub2 -eq 3 ]
            then
              if [ $glibcdevelversub3 -gt 2 ]
              then
                glibcdevelrpm=true
              else
                if [ $glibcdevelversub3 -eq 2 ]
                then
                  if [ $glibcdevelversub4 -gt 95 ]
                  then
                    glibcdevelrpm=true
                  else
                    if [ $glibcdevelversub4 -eq 95 ]
                    then
                      if [ $glibcdevelversub5 -ge 20 ]
                      then
                        glibcdevelrpm=true
                      else
                        /bin/echo "glibc-devel $glibcdevelversub1.$glibcdevelversub2.$glibcdevelversub3-$glibcdevelversub4.$glibcdevelversub5"
                      fi
                    else
                     /bin/echo "glibc-devel $glibcdevelversub1.$glibcdevelversub2.$glibcdevelversub3-$glibcdevelversub4.$glibcdevelversub5"
                    fi
                  fi
                else
                  /bin/echo "glibc-devel $glibcdevelversub1.$glibcdevelversub2.$glibcdevelversub3-$glibcdevelversub4.$glibcdevelversub5"
                fi
              fi
            else
              /bin/echo "glibc-devel $glibcdevelversub1.$glibcdevelversub2.$glibcdevelversub3-$glibcdevelversub4.$glibcdevelversub5"
            fi
          fi
        else
          /bin/echo "glibc-devel $glibcdevelversub1.$glibcdevelversub2.$glibcdevelversub3-$glibcdevelversub4.$glibcdevelversub5"

        fi
      fi
    else
      /bin/echo "glibc-devel notInstalled"
    fi
    if [ `/bin/rpm -q gcc 2>/dev/null | /bin/grep -i not | /usr/bin/wc -l` -eq 0  ]
    then
      gccversub1=`/bin/rpm -q gcc | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $1}'`
      gccversub2=`/bin/rpm -q gcc | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      gccversub3=`/bin/rpm -q gcc | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      gccversub4=`/bin/rpm -q gcc | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      if [ $gccversub1 -gt 3 ]
      then
        gcc=true
      else
        if [ $gccversub1 -eq 3 ]
        then
          if [ $gccversub2 -gt 2 ]
          then
            gcc=true
          else
            if [ $gccversub2 -eq 2 ]
            then
              if [ $gccversub3 -gt 3 ]
              then
                gcc=true
              else
                if [ $gccversub3 -eq 3 ]
                then
                  if [ $gccversub4 -ge 34 ]
                  then
                    gcc=true
                  else
                    /bin/echo "gcc $gccversub1.$gccversub2.$gccversub3-$gccversub4"
                  fi
                else
                  /bin/echo "gcc $gccversub1.$gccversub2.$gccversub3-$gccversub4"
                fi
              fi
            else
              /bin/echo "gcc $gccversub1.$gccversub2.$gccversub3-$gccversub4"

            fi
          fi
        else
          /bin/echo "gcc $gccversub1.$gccversub2.$gccversub3-$gccversub4"
        fi
      fi
    else
      /bin/echo gccnotInstalled
    fi
    if [ `/bin/rpm -q gcc-c++ | /bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      gcccppversub1=`/bin/rpm -q gcc-c++ | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      gcccppversub2=`/bin/rpm -q gcc-c++ | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      gcccppversub3=`/bin/rpm -q gcc-c++ | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      gcccppversub4=`/bin/rpm -q gcc-c++ | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $6}'`
      if [ $gcccppversub1 -gt 2 ]
      then
        gcccpprpm=true
      else
        if [ $gcccppversub1 -eq 2 ]
        then
          if [ $gcccppversub2 -gt 2 ]
          then
            gcccpprpm=true
          else
            if [ $gcccppversub2 -eq 2 ]
            then
              if [ $gcccppversub3 -gt 4 ]
              then
                gcccpprpm=true
              else
                if [ $gcccppversub3 -eq 4 ]
                then
                  if [ $gcccppversub4 -ge 34 ]
                  then
                    gcccpprpm=true
                  else
                    /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2.$gcccppversub3-$gcccppversub4"
                  fi
                else
                  /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2.$gcccppversub3-$gcccppversub4"
                fi
              fi
            else
              /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2.$gcccppversub3-$gcccppversub4"
            fi
          fi
        else
          /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2.$gcccppversub3-$gcccppversub4"

        fi
      fi
    else
      /bin/echo "gcc-c++ notInstalled"
    fi
    if [ `/bin/rpm -q openmotif21 2>/dev/null | /bin/grep -i not | /usr/bin/wc -l` -eq 0  ]
    then
      openmotifversub1=`/bin/rpm -q openmotif21 | /bin/awk '{print substr($1,13,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $1}'`
      openmotifversub2=`/bin/rpm -q openmotif21 | /bin/awk '{print substr($1,13,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      openmotifversub3=`/bin/rpm -q openmotif21 | /bin/awk '{print substr($1,13,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      openmotifversub4=`/bin/rpm -q openmotif21 | /bin/awk '{print substr($1,13,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      if [ $openmotifversub1 -gt 2 ]
      then
        openmotif21=true
      else
        if [ $openmotifversub1 -eq 2 ]
        then
          if [ $openmotifversub2 -gt 1 ]
          then
            openmotif21=true
          else
            if [ $openmotifversub2 -eq 1 ]
            then
              if [ $openmotifversub3 -gt 30 ]
              then
                openmotif21=true
              else
                if [ $openmotifversub3 -eq 30 ]
                then
                  if [ $openmotifversub4 -ge 8 ]
                  then
                    openmotif21=true
                  else
                    /bin/echo "openmotif21 $openmotifversub1.$openmotifversub2.$openmotifversub3-$openmotifversub4"
                  fi
                else
                  /bin/echo "openmotif21 $openmotifversub1.$openmotifversub2.$openmotifversub3-$openmotifversub4"
                fi
              fi
            else
              /bin/echo "openmotif21 $openmotifversub1.$openmotifversub2.$openmotifversub3-$openmotifversub4"

            fi
          fi
        else
          /bin/echo "openmotif21 $openmotifversub1.$openmotifversub2.$openmotifversub3-$openmotifversub4"
        fi
      fi
    else
      /bin/echo "openmotif21 notInstalled"
    fi
    if [ `/bin/rpm -q compat-db 2>/dev/null | /bin/grep not | /usr/bin/wc -l` -eq 0  ]
    then
      compatdbversub1=`/bin/rpm -q compat-db | /bin/awk '{print substr($1,11,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $1}'`
      compatdbversub2=`/bin/rpm -q compat-db | /bin/awk '{print substr($1,11,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      compatdbversub3=`/bin/rpm -q compat-db | /bin/awk '{print substr($1,11,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      compatdbversub4=`/bin/rpm -q compat-db | /bin/awk '{print substr($1,11,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      if [ $compatdbversub1 -gt 4 ]
      then
        compatdb=true
      else
        if [ $compatdbversub1 -eq 4 ]
        then
          if [ $compatdbversub2 -gt 0 ]
          then
            compatdb=true
          else
            if [ $compatdbversub2 -eq 0 ]
            then
              if [ $compatdbversub3 -gt 14 ]
              then
                compatdb=true
              else
                if [ $compatdbversub3 -eq 14 ]
                then
                  if [ $compatdbversub4 -ge 5 ]
                  then
                    compatdb=true
                  else
                    /bin/echo "compat-db $compatdbversub1.$compatdbversub2.$compatdbversub3.$compatdbversub4"
                  fi
                else
                  /bin/echo "compat-db $compatdbversub1.$compatdbversub2.$compatdbversub3.$compatdbversub4"

                fi
              fi
            else
              /bin/echo "compat-db $compatdbversub1.$compatdbversub2.$compatdbversub3.$compatdbversub4"
            fi
          fi
        else
          /bin/echo "compat-db $compatdbversub1.$compatdbversub2.$compatdbversub3.$compatdbversub4"
        fi
      fi
    else
      /bin/echo "compat-db notInstalled"
    fi
    if [ `/bin/rpm -q compat-gcc 2>/dev/null | /bin/grep -i not | /usr/bin/wc -l` -eq 0  ]
    then
      compatgccversub1=`/bin/rpm -q compat-gcc | /bin/awk '{print substr($1,12,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $1}'`
      compatgccversub2=`/bin/rpm -q compat-gcc | /bin/awk '{print substr($1,12,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      compatgccversub3=`/bin/rpm -q compat-gcc | /bin/awk '{print substr($1,12,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      compatgccversub4=`/bin/rpm -q compat-gcc | /bin/awk '{print substr($1,12,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      compatgccversub5=`/bin/rpm -q compat-gcc | /bin/awk '{print substr($1,12,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      if [ $compatgccversub1 -gt 7 ]
      then
        compatgcc=true
      else
        if [ $compatgccversub1 -eq 7 ]
        then
          if [ $compatgccversub2 -gt 3 ]
          then
            compatgcc=true
          else
            if [ $compatgccversub2 -eq 3 ]
            then
              if [ $compatgccversub3 -gt 2 ]
              then
                compatgcc=true
              else
                if [ $compatgccversub3 -eq 2 ]
                then
                  if [ $compatgccversub4 -gt 96 ]
                  then
                    compatgcc=true
                  else
                    if [ $compatgccversub4 -eq 96 ]
                    then
                      if [ $compatgccversub5 -ge 128 ]
                      then
                        compatgcc=true
                      else
                        /bin/echo "compat-gcc $compatgccversub1.$compatgccversub2-$compatgccversub3.$compatgccversub4.$compatgccversub5"

                      fi
                    else
                      /bin/echo "compat-gcc $compatgccversub1.$compatgccversub2-$compatgccversub3.$compatgccversub4.$compatgccversub5"
                    fi
                  fi
                else
                  /bin/echo "compat-gcc $compatgccversub1.$compatgccversub2-$compatgccversub3.$compatgccversub4.$compatgccversub5"
                fi
              fi
            else
              /bin/echo "compat-gcc $compatgccversub1.$compatgccversub2-$compatgccversub3.$compatgccversub4.$compatgccversub5"
            fi
          fi
        else
          /bin/echo "compat-gcc $compatgccversub1.$compatgccversub2-$compatgccversub3.$compatgccversub4.$compatgccversub5"
        fi
      fi
    else
      /bin/echo "compat-gcc notInstalled"

    fi
    if [ `/bin/rpm -q compat-gcc-c++ 2>/dev/null | /bin/grep -i not | /usr/bin/wc -l` -eq 0  ]
    then
      compatgcccplusversub1=`/bin/rpm -q compat-gcc-c++ | /bin/awk '{print substr($1,16,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $1}'`
      compatgcccplusversub2=`/bin/rpm -q compat-gcc-c++ | /bin/awk '{print substr($1,16,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      compatgcccplusversub3=`/bin/rpm -q compat-gcc-c++ | /bin/awk '{print substr($1,16,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      compatgcccplusversub4=`/bin/rpm -q compat-gcc-c++ | /bin/awk '{print substr($1,16,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      compatgcccplusversub5=`/bin/rpm -q compat-gcc-c++ | /bin/awk '{print substr($1,16,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      if [ $compatgcccplusversub1 -gt 7 ]
      then
        compatgcccplus=true
      else
        if [ $compatgcccplusversub1 -eq 7 ]
        then
          if [ $compatgcccplusversub2 -gt 3 ]
          then
            compatgcccplus=true
          else
            if [ $compatgcccplusversub2 -eq 3 ]
            then
              if [ $compatgcccplusversub3 -gt 2 ]
              then
                compatgcccplus=true
              else
                if [ $compatgcccplusversub3 -eq 2 ]
                then
                  if [ $compatgcccplusversub4 -gt 96 ]
                  then
                    compatgcccplus=true
                  else
                    if [ $compatgcccplusversub4 -eq 96 ]
                    then
                      if [ $compatgcccplusversub5 -ge 128 ]
                      then
                        compatgcccplus=true
                      else
                        /bin/echo "compat-gcc-c++ $compatgcccplusversub1.$compatgcccplusversub2-$compatgcccplusversub3.$compatgcccplusversub4.$compatgcccplusversub5"
                      fi
                    else
                      /bin/echo "compat-gcc-c++ $compatgcccplusversub1.$compatgcccplusversub2-$compatgcccplusversub3.$compatgcccplusversub4.$compatgcccplusversub5"
                    fi
                  fi
                else
                  /bin/echo "compat-gcc-c++ $compatgcccplusversub1.$compatgcccplusversub2-$compatgcccplusversub3.$compatgcccplusversub4.$compatgcccplusversub5"
                fi
              fi
            else
              /bin/echo "compat-gcc-c++ $compatgcccplusversub1.$compatgcccplusversub2-$compatgcccplusversub3.$compatgcccplusversub4.$compatgcccplusversub5"

            fi
          fi
        else
          /bin/echo "compat-gcc-c++ $compatgcccplusversub1.$compatgcccplusversub2-$compatgcccplusversub3.$compatgcccplusversub4.$compatgcccplusversub5"
        fi
      fi
    else
      /bin/echo "compat-gcc-c++ notInstalled"
    fi
    if [ `/bin/rpm -q compat-libstdc++ 2>/dev/null | /bin/grep -i not | /usr/bin/wc -l` -eq 0  ]
    then
      compatlibstdcplusversub1=`/bin/rpm -q compat-libstdc++ | /bin/awk '{print substr($1,18,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $1}'`
      compatlibstdcplusversub2=`/bin/rpm -q compat-libstdc++ | /bin/awk '{print substr($1,18,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      compatlibstdcplusversub3=`/bin/rpm -q compat-libstdc++ | /bin/awk '{print substr($1,18,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      compatlibstdcplusversub4=`/bin/rpm -q compat-libstdc++ | /bin/awk '{print substr($1,18,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      compatlibstdcplusversub5=`/bin/rpm -q compat-libstdc++ | /bin/awk '{print substr($1,18,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      if [ $compatlibstdcplusversub1 -gt 7 ]
      then
        compatlibstdcplus=true
      else
        if [ $compatlibstdcplusversub1 -eq 7 ]
        then
          if [ $compatlibstdcplusversub2 -gt 3 ]
          then
            compatlibstdcplus=true
          else
            if [ $compatlibstdcplusversub2 -eq 3 ]
            then
              if [ $compatlibstdcplusversub3 -gt 2 ]
              then
                compatlibstdcplus=true
              else
                if [ $compatlibstdcplusversub3 -eq 2 ]
                then
                  if [ $compatlibstdcplusversub4 -gt 96 ]
                  then
                    compatlibstdcplus=true
                  else
                    if [ $compatlibstdcplusversub4 -eq 96 ]
                    then
                      if [ $compatlibstdcplusversub5 -ge 128 ]
                      then
                        compatlibstdcplus=true
                      else
                        /bin/echo "compat-libstdc++ $compatlibstdcplusversub1.$compatlibstdcplusversub2-$compatlibstdcplusversub3.$compatlibstdcplusversub4.$compatlibstdcplusversub5"
                      fi
                    else
                      /bin/echo "compat-libstdc++ $compatlibstdcplusversub1.$compatlibstdcplusversub2-$compatlibstdcplusversub3.$compatlibstdcplusversub4.$compatlibstdcplusversub5"

                    fi
                  fi
                else
                  /bin/echo "compat-libstdc++ $compatlibstdcplusversub1.$compatlibstdcplusversub2-$compatlibstdcplusversub3.$compatlibstdcplusversub4.$compatlibstdcplusversub5"
                fi
              fi
            else
              /bin/echo "compat-libstdc++ $compatlibstdcplusversub1.$compatlibstdcplusversub2-$compatlibstdcplusversub3.$compatlibstdcplusversub4.$compatlibstdcplusversub5"
            fi
          fi
        else
          /bin/echo "compat-libstdc++ $compatlibstdcplusversub1.$compatlibstdcplusversub2-$compatlibstdcplusversub3.$compatlibstdcplusversub4.$compatlibstdcplusversub5"
        fi
      fi
    else
      /bin/echo "compat-libstdc++ notInstalled"
    fi
    if [ `/bin/rpm -q compat-libstdc++-devel 2>/dev/null | /bin/grep -i not | /usr/bin/wc -l` -eq 0  ]
    then
      compatlibstdcplusdevversub1=`/bin/rpm -q compat-libstdc++-devel | /bin/awk '{print substr($1,24,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $1}'`
      compatlibstdcplusdevversub2=`/bin/rpm -q compat-libstdc++-devel | /bin/awk '{print substr($1,24,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      compatlibstdcplusdevversub3=`/bin/rpm -q compat-libstdc++-devel | /bin/awk '{print substr($1,24,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      compatlibstdcplusdevversub4=`/bin/rpm -q compat-libstdc++-devel | /bin/awk '{print substr($1,24,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      compatlibstdcplusdevversub5=`/bin/rpm -q compat-libstdc++-devel | /bin/awk '{print substr($1,24,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      if [ $compatlibstdcplusdevversub1 -gt 7 ]
      then
        compatlibstdcplusdev=true
      else
        if [ $compatlibstdcplusdevversub1 -eq 7 ]
        then
          if [ $compatlibstdcplusdevversub2 -gt 3 ]
          then
            compatlibstdcplusdev=true
          else
            if [ $compatlibstdcplusdevversub2 -eq 3 ]
            then
              if [ $compatlibstdcplusdevversub3 -gt 2 ]
              then
                compatlibstdcplusdev=true
              else
                if [ $compatlibstdcplusdevversub3 -eq 2 ]
                then
                  if [ $compatlibstdcplusdevversub4 -gt 96 ]
                  then
                    compatlibstdcplusdev=true
                  else
                    if [ $compatlibstdcplusdevversub4 -eq 96 ]
                    then
                      if [ $compatlibstdcplusdevversub5 -ge 128 ]
                      then
                        compatlibstdcplusdev=true
                      else
                        /bin/echo "compat-libstdc++-devel $compatlibstdcplusdevversub1.$compatlibstdcplusdevversub2-$compatlibstdcplusdevversub3.$compatlibstdcplusdevversub4.$compatlibstdcplusdevversub5"

                      fi
                    else
                      /bin/echo "compat-libstdc++-devel $compatlibstdcplusdevversub1.$compatlibstdcplusdevversub2-$compatlibstdcplusdevversub3.$compatlibstdcplusdevversub4.$compatlibstdcplusdevversub5"
                    fi
                  fi
                else
                  /bin/echo "compat-libstdc++-devel $compatlibstdcplusdevversub1.$compatlibstdcplusdevversub2-$compatlibstdcplusdevversub3.$compatlibstdcplusdevversub4.$compatlibstdcplusdevversub5"
                fi
              fi
            else
              /bin/echo "compat-libstdc++-devel $compatlibstdcplusdevversub1.$compatlibstdcplusdevversub2-$compatlibstdcplusdevversub3.$compatlibstdcplusdevversub4.$compatlibstdcplusdevversub5"
            fi
          fi
        else
          /bin/echo "compat-libstdc++-devel $compatlibstdcplusdevversub1.$compatlibstdcplusdevversub2-$compatlibstdcplusdevversub3.$compatlibstdcplusdevversub4.$compatlibstdcplusdevversub5"
        fi
      fi
    else
      /bin/echo "compat-libstdc++-devel notInstalled"

    fi
    if [ `/bin/rpm -q setarch 2>/dev/null | /bin/grep -i not | /usr/bin/wc -l` -eq 0  ]
    then
      setarchversub1=`/bin/rpm -q setarch | /bin/awk '{print substr($1,9,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $1}'`
      setarchversub2=`/bin/rpm -q setarch | /bin/awk '{print substr($1,9,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      setarchversub3=`/bin/rpm -q setarch | /bin/awk '{print substr($1,9,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      if [ $setarchversub1 -gt 1 ]
      then
        setarch=true
      else
        if [ $setarchversub1 -eq 1 ]
        then
          if [ $setarchversub2 -gt 3 ]
          then
            setarch=true
          else
            if [ $setarchversub2 -eq 3 ]
            then
              if [ $setarchversub3 -ge 1 ]
              then
                setarch=true
              else
                /bin/echo "setarch $setarchversub1.$setarchversub2-$setarchversub3"
              fi
            else
              /bin/echo "setarch $setarchversub1.$setarchversub2-$setarchversub3"
            fi
          fi
        else
          /bin/echo "setarch $setarchversub1.$setarchversub2"
        fi
      fi
    else
      /bin/echo "setarch notInstalled"

    fi
    if [ $makerpm = true -a $glibcrpm = true -a $glibcdevelrpm = true -a $gcccpprpm = true -a $gcc = true -a $openmotif21 = true -a $compatdb = true -a $compatgcc = true -a $compatgcccplus = true -a $compatlibstdcplus = true -a $compatlibstdcplusdev = true -a $setarch = true ]
    then
      /bin/echo "RHEL3rpmsOK"
    fi
  else
    /bin/echo "NotRHEL3"
  fi
else
  /bin/echo "NotRedHat"
fi

If the result from the above command is =~ RHEL3rpmsOK|NotRHEL3|NotRedHat then your environment passes this test. The correct make, glibc, glibc-devel, gcc, gcc-c++, openmotif21, compat-db, compat-gcc, compat-gcc-c++, compat-libstdc++, compat-libstdc++-devel, and setarch packages has been installed on your RHAS 3 system. No action required.

What to do if your system fails the test:
Incorrect versions of either make, glibc, glibc-devel, gcc, gcc-c++, openmotif21, compat-db, compat-gcc, compat-gcc-c++, compat-libstdc++, compat-libstdc++-devel, and setarch have been installed on your system. Please make sure that the correct version is installed. Refer to Metalink Note: 169706.1

Test: SuSE SLES8 rpms ok?

This rule verifies if the correct versions of required RPMs have been installed a SuSE SLES 8 system.

Run the following command from the Operating System command line


makerpm=false
gccrpm=false
gcccpprpm=false
glibcrpm=false
openmotifrpm=false
if /usr/bin/test -f /etc/SuSE-release
then
  if [ `/bin/cat /etc/SuSE-release | /bin/grep -i SLES | /usr/bin/wc -l` -ge 1 ]
  then
    susever=`/bin/cat /etc/SuSE-release | /bin/grep -i SLES | /bin/grep -iv VER | /bin/awk '{print $2}'`
  elif [ `/bin/cat /etc/SuSE-release | /bin/grep -i Enterprise | /usr/bin/wc -l` -ge 1 ]
  then
    susevernum=`/bin/cat /etc/SuSE-release | /bin/grep -i VER | /bin/grep -iv Enterprise | /bin/awk '{print $3}'`
    susever="SLES-$susevernum"
  fi
  if [ $susever = "SLES-8" ]
  then
    if [ `/bin/rpm -q make 2>/dev/null |/bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      makeversub1=`/bin/rpm -q make | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      makeversub2=`/bin/rpm -q make | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      makeversub3=`/bin/rpm -q make | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      if [ $makeversub1 -gt 3 ]
      then
        makerpm=true
      else
        if [ $makeversub1 -eq 3 ]
        then
          if [ $makeversub2 -gt 79 ]
          then
            makerpm=true
          else
            if [ $makeversub2 -eq 79 ]
            then
              if [ $makeversub3 -ge 1 ]
              then
                makerpm=true
              else
                /bin/echo "make $makeversub1.$makeversub2-$makeversub3"

              fi
            else
             /bin/echo "make $makeversub1.$makeversub2-$makeversub3"
            fi
          fi
        else
          /bin/echo "make $makeversub1.$makeversub2-$makeversub3"
        fi
      fi
    else
      /bin/echo notInstalled
    fi
    if [ `/bin/rpm -q gcc 2>/dev/null | /bin/grep -i not | /usr/bin/wc -l` -eq 0  ]
    then
      gccversub1=`/bin/rpm -q gcc | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $1}'`
      gccversub2=`/bin/rpm -q gcc | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      gccversub3=`/bin/rpm -q gcc | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      gccversub4=`/bin/rpm -q gcc | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      if [ $gccversub1 -gt 3 ]
      then
        gccrpm=true
      else
        if [ $gccversub1 -eq 3 ]
        then
          if [ $gccversub2 -gt 2 ]
          then
            gccrpm=true
          else
            if [ $gccversub2 -eq 2 ]
            then
              if [ $gccversub3 -gt 2 ]
              then
                gccrpm=true
              else
                if [ $gccversub3 -eq 2 ]
                then
                  if [ $gccversub4 -ge 38 ]
                  then
                    gccrpm=true
                  else
                    /bin/echo "gcc $gccversub1.$gccversub2-$gccversub3.$gccversub4"
                  fi
                else
                  /bin/echo "gcc $gccversub1.$gccversub2-$gccversub3.$gccversub4"

                fi
              fi
            else
              /bin/echo "gcc $gccversub1.$gccversub2-$gccversub3.$gccversub4"
            fi
          fi
        else
          /bin/echo "gcc $gccversub1.$gccversub2-$gccversub3.$gccversub4"
        fi
      fi
    else
      /bin/echo "gcc notInstalled"
    fi
    if [ `/bin/rpm -q gcc-c++ | /bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      gcccppversub1=`/bin/rpm -q gcc-c++ | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      gcccppversub2=`/bin/rpm -q gcc-c++ | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      gcccppversub3=`/bin/rpm -q gcc-c++ | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      gcccppversub4=`/bin/rpm -q gcc-c++ | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $6}'`
      if [ $gcccppversub1 -gt 3 ]
      then
        gcccpprpm=true
      else
        if [ $gcccppversub1 -eq 3 ]
        then
          if [ $gcccppversub2 -gt 2 ]
          then
            gcccpprpm=true
          else
            if [ $gcccppversub2 -eq 2 ]
            then
              if [ $gcccppversub3 -gt 2 ]
              then
                gcccpprpm=true
              else
                if [ $gcccppversub3 -eq 2 ]
                then
                  if [ $gcccppversub4 -ge 38 ]
                  then
                    gcccpprpm=true
                  else
                    /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2.$gcccppversub3-$gcccppversub4"
                  fi
                else
                  /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2.$gcccppversub3-$gcccppversub4"

                fi
              fi
            else
              /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2.$gcccppversub3-$gcccppversub4"
            fi
          fi
        else
          /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2.$gcccppversub3-$gcccppversub4"
        fi
      fi
    else
      /bin/echo "gcc-c++ notInstalled"
    fi
    if [ `/bin/rpm -q glibc | /bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      glibcversub1=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      glibcversub2=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      glibcversub3=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      glibcversub4=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      if [ $glibcversub1 -gt 2 ]
      then
        glibcrpm=true
      else
        if [ $glibcversub1 -eq 2 ]
        then
          if [ $glibcversub2 -gt 2 ]
          then
            glibcrpm=true
          else
            if [ $glibcversub2 -eq 2 ]
            then
              if [ $glibcversub3 -gt 2 ]
              then
                glibcrpm=true
              else
                if [ $glibcversub3 -eq 2 ]
                then
                  if [ $glibcversub4 -ge 124 ]
                  then
                    glibcrpm=true
                  else
                    /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4"
                  fi
                else
                  /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4"

                fi
              fi
            else
              /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4"
            fi
          fi
        else
          /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4"
        fi
      fi
    else
      /bin/echo "glibc notInstalled"
    fi
    if [ `/bin/rpm -q openmotif 2>/dev/null | /bin/grep -i not | /usr/bin/wc -l` -eq 0  ]
    then
      openmotifversub1=`/bin/rpm -q openmotif | /bin/awk '{print substr($1,11,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $1}'`
      openmotifversub2=`/bin/rpm -q openmotif | /bin/awk '{print substr($1,11,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      openmotifversub3=`/bin/rpm -q openmotif | /bin/awk '{print substr($1,11,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      openmotifversub4=`/bin/rpm -q openmotif | /bin/awk '{print substr($1,11,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      if [ $openmotifversub1 -gt 2 ]
      then
        openmotifrpm=true
      else
        if [ $openmotifversub1 -eq 2 ]
        then
          if [ $openmotifversub2 -gt 2 ]
          then
            openmotifrpm=true
          else
            if [ $openmotifversub2 -eq 2 ]
            then
              if [ $openmotifversub3 -gt 2 ]
              then
                openmotifrpm=true
              else
                if [ $openmotifversub3 -eq 2 ]
                then
                  if [ $openmotifversub4 -ge 124 ]
                  then
                    openmotifrpm=true
                  else
                    /bin/echo "openmotif $openmotifversub1.$openmotifversub2.$openmotifversub3-$openmotifversub4"

                  fi
                else
                  /bin/echo "openmotif $openmotifversub1.$openmotifversub2.$openmotifversub3-$openmotifversub4"
                fi
              fi
            else
             /bin/echo "openmotif $openmotifversub1.$openmotifversub2.$openmotifversub3-$openmotifversub4"
            fi
          fi
        else
          /bin/echo "openmotif $openmotifversub1.$openmotifversub2.$openmotifversub3-$openmotifversub4"
        fi
      fi
    else
      /bin/echo "openmotif notInstalled"
    fi
    if [ $makerpm = true -a $gccrpm = true -a $gcccpprpm = true -a $glibcrpm = true -a $openmotifrpm = true ]
    then
      /bin/echo "SLES8rpmsOK"

    else
      /bin/echo "SLES8rpmsNotOK"
    fi
  else
    /bin/echo NotSLES8
  fi
else
  /bin/echo NotSuSE
fi

If the result from the above command is =~ SLES8rpmsOK|NotSLES8|NotSuSE then your environment passes this test. The correct make, gcc, gcc-c++, glibc, and openmotif package has been installed on your SuSE SLES8 system. No action required.

What to do if your system fails the test:
Incorrect versions of make, gcc, gcc-c++, glibc, and openmotif have been installed on your SuSE SLES8 system. Please make sure that the correct version is installed. Refer to Metalink Note: 169706.1

Test: SuSE SLES9 rpms ok?

This rule verifies if the correct versions of required RPMs have been installed a SuSE SLES 9 system.

Run the following command from the Operating System command line


makerpm=false
gccrpm=false
gcccpprpm=false
glibcrpm=false
libaiorpm=false
libaiodevelrpm=false
openmotiflibsrpm=false
if /usr/bin/test -f /etc/SuSE-release
then
  if [ `/bin/cat /etc/SuSE-release | /bin/grep -i SLES | /usr/bin/wc -l` -ge 1 ]
  then
    susever=`/bin/cat /etc/SuSE-release | /bin/grep -i SLES | /bin/grep -iv VER | /bin/awk '{print $2}'`
  elif [ `/bin/cat /etc/SuSE-release | /bin/grep -i Enterprise | /usr/bin/wc -l` -ge 1 ]
  then
    susevernum=`/bin/cat /etc/SuSE-release | /bin/grep -i VER | /bin/grep -iv Enterprise | /bin/awk '{print $3}'`
    susever="SLES-$susevernum"
  fi
  if [ $susever = "SLES-9" ]
  then
    if [ `/bin/rpm -q make 2>/dev/null |/bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      makeversub1=`/bin/rpm -q make | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      makeversub2=`/bin/rpm -q make | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      if [ $makeversub1 -gt 3 ]
      then
        makerpm=true
      else
        if [ $makeversub1 -eq 3 ]
        then
          if [ $makeversub2 -gt 80 ]
          then
            makerpm=true
          else
            if [ $makeversub2 -ge 80 ]
            then
              makerpm=true
            else
             /bin/echo "make $makeversub1.$makeversub2"
            fi
          fi
        else
          /bin/echo "make $makeversub1.$makeversub2"
        fi
      fi
    else
      /bin/echo notInstalled
    fi
    if [ `/bin/rpm -q gcc 2>/dev/null | /bin/grep -i not | /usr/bin/wc -l` -eq 0  ]
    then
      gccversub1=`/bin/rpm -q gcc | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $1}'`
      gccversub2=`/bin/rpm -q gcc | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      gccversub3=`/bin/rpm -q gcc | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      gccversub4=`/bin/rpm -q gcc | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      if [ $gccversub1 -gt 3 ]
      then
        gccrpm=true
      else
        if [ $gccversub1 -eq 3 ]
        then
          if [ $gccversub2 -gt 3 ]
          then
            gccrpm=true
          else
            if [ $gccversub2 -eq 3 ]
            then
              if [ $gccversub3 -gt 3 ]
              then
                gccrpm=true
              else
                if [ $gccversub3 -eq 3 ]
                then
                  if [ $gccversub4 -ge 43 ]
                  then
                    gccrpm=true
                  else
                    /bin/echo "gcc $gccversub1.$gccversub2-$gccversub3.$gccversub4"

                  fi
                else
                  /bin/echo "gcc $gccversub1.$gccversub2-$gccversub3.$gccversub4"
                fi
              fi
            else
              /bin/echo "gcc $gccversub1.$gccversub2-$gccversub3.$gccversub4"
            fi
          fi
        else
          /bin/echo "gcc $gccversub1.$gccversub2-$gccversub3.$gccversub4"
        fi
      fi
    else
      /bin/echo "gcc notInstalled"
    fi
    if [ `/bin/rpm -q gcc-c++ 2>/dev/null | /bin/grep -i not | /usr/bin/wc -l` -eq 0  ]
    then
      gcccppversub1=`/bin/rpm -q gcc-c++ | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      gcccppversub2=`/bin/rpm -q gcc-c++ | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      gcccppversub3=`/bin/rpm -q gcc-c++ | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      gcccppversub4=`/bin/rpm -q gcc-c++ | /bin/awk '{print substr($1,5,20)}' | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      if [ $gcccppversub1 -gt 3 ]
      then
        gcccpprpm=true
      else
        if [ $gcccppversub1 -eq 3 ]
        then
          if [ $gcccppversub2 -gt 3 ]
          then
            gcccpprpm=true
          else
            if [ $gcccppversub2 -eq 3 ]
            then
              if [ $gcccppversub3 -gt 3 ]
              then
                gcccpprpm=true
              else
                if [ $gcccppversub3 -eq 3 ]
                then
                  if [ $gcccppversub4 -ge 43 ]
                  then
                    gcccpprpm=true
                  else
                    /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2-$gcccppversub3.$gcccppversub4"

                  fi
                else
                  /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2-$gcccppversub3.$gcccppversub4"
                fi
              fi
            else
              /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2-$gcccppversub3.$gcccppversub4"
            fi
          fi
        else
          /bin/echo "gcc-c++ $gcccppversub1.$gcccppversub2-$gcccppversub3.$gcccppversub4"
        fi
      fi
    else
      /bin/echo "gcc-c++ notInstalled"
    fi
    if [ `/bin/rpm -q glibc | /bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      glibcversub1=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $2}'`
      glibcversub2=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      glibcversub3=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      glibcversub4=`/bin/rpm -q glibc | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      if [ $glibcversub1 -gt 2 ]
      then
        glibcrpm=true
      else
        if [ $glibcversub1 -eq 2 ]
        then
          if [ $glibcversub2 -gt 3 ]
          then
            glibcrpm=true
          else
            if [ $glibcversub2 -eq 3 ]
            then
              if [ $glibcversub3 -gt 3 ]
              then
                glibcrpm=true
              else
                if [ $glibcversub3 -eq 3 ]
                then
                  if [ $glibcversub4 -ge 98 ]
                  then
                    glibcrpm=true
                  else
                    /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4"

                  fi
                else
                  /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4"
                fi
              fi
            else
              /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4"
            fi
          fi
        else
          /bin/echo "glibc $glibcversub1.$glibcversub2.$glibcversub3-$glibcversub4"
        fi
      fi
    else
      /bin/echo "glibc notInstalled"
    fi
    if [ `/bin/rpm -q libaio | /bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      libaioversub1=`/bin/rpm -q libaio | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      libaioversub2=`/bin/rpm -q libaio | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      libaioversub3=`/bin/rpm -q libaio | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      libaioversub4=`/bin/rpm -q libaio | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $6}'`
      if [ $libaioversub1 -gt 0 ]
      then
        libaiorpm=true
      else
        if [ $libaioversub1 -eq 0 ]
        then
          if [ $libaioversub2 -gt 3 ]
          then
            libaiorpm=true
          else
            if [ $libaioversub2 -eq 3 ]
            then
              if [ $libaioversub3 -gt 98 ]
              then
                libaiorpm=true
              else
                if [ $libaioversub3 -eq 98 ]
                then
                  if [ $libaioversub4 -ge 18 ]
                  then
                    libaiorpm=true
                  else
                    /bin/echo "libaio $libaioversub1.$libaioversub2.$libaioversub3-$libaioversub4"

                  fi
                else
                  /bin/echo "libaio $libaioversub1.$libaioversub2.$libaioversub3-$libaioversub4"
                fi
              fi
            else
              /bin/echo "libaio $libaioversub1.$libaioversub2.$libaioversub3-$libaioversub4"
            fi
          fi
        else
          /bin/echo "libaio $libaioversub1.$libaioversub2.$libaioversub3-$libaioversub4"
        fi
      fi
    else
      /bin/echo "libaio notInstalled"
    fi
    if [ `/bin/rpm -q libaio-devel | /bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      libaiodevelversub1=`/bin/rpm -q libaio-devel | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      libaiodevelversub2=`/bin/rpm -q libaio-devel | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      libaiodevelversub3=`/bin/rpm -q libaio-devel | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      libaiodevelversub4=`/bin/rpm -q libaio-devel | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $6}'`
      if [ $libaiodevelversub1 -gt 0 ]
      then
        libaiodevelrpm=true
      else
        if [ $libaiodevelversub1 -eq 0 ]
        then
          if [ $libaiodevelversub2 -gt 3 ]
          then
            libaiodevelrpm=true
          else
            if [ $libaiodevelversub2 -eq 3 ]
            then
              if [ $libaiodevelversub3 -gt 98 ]
              then
                libaiodevelrpm=true
              else
                if [ $libaiodevelversub3 -eq 98 ]
                then
                  if [ $libaiodevelversub4 -ge 18 ]
                  then
                    libaiodevelrpm=true
                  else
                    /bin/echo "libaio-devel $libaiodevelversub1.$libaiodevelversub2.$libaiodevelversub3-$libaiodevelversub4"

                  fi
                else
                  /bin/echo "libaio-devel $libaiodevelversub1.$libaiodevelversub2.$libaiodevelversub3-$libaiodevelversub4"
                fi
              fi
            else
              /bin/echo "libaio-devel $libaiodevelversub1.$libaiodevelversub2.$libaiodevelversub3-$libaiodevelversub4"
            fi
          fi
        else
          /bin/echo "libaio-devel $libaiodevelversub1.$libaiodevelversub2.$libaiodevelversub3-$libaiodevelversub4"
        fi
      fi
    else
      /bin/echo "libaio-devel notInstalled"
    fi
    if [ `/bin/rpm -q openmotif-libs | /bin/grep not | /usr/bin/wc -l` -eq 0 ]
    then
      openmotiflibsversub1=`/bin/rpm -q openmotif-libs | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $3}'`
      openmotiflibsversub2=`/bin/rpm -q openmotif-libs | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $4}'`
      openmotiflibsversub3=`/bin/rpm -q openmotif-libs | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $5}'`
      openmotiflibsversub4=`/bin/rpm -q openmotif-libs | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $6}'`
      openmotiflibsversub5=`/bin/rpm -q openmotif-libs | /bin/sed 's/-/./g' | /bin/sort -r | /bin/sed q | /bin/awk -F. '{print $7}'`
      if [ $openmotiflibsversub1 -gt 2 ]
      then
        openmotiflibsrpm=true
      else
        if [ $openmotiflibsversub1 -eq 2 ]
        then
          if [ $openmotiflibsversub2 -gt 2 ]
          then
            openmotiflibsrpm=true
          else
            if [ $openmotiflibsversub2 -eq 2 ]
            then
              if [ $openmotiflibsversub3 -gt 2 ]
              then
                openmotiflibsrpm=true
              else
                if [ $openmotiflibsversub3 -eq 2 ]
                then
                  if [ $openmotiflibsversub4 -gt 519 ]
                  then
                    openmotiflibsrpm=true
                  else
                    if [ $openmotiflibsversub4 -eq 519 ]
                    then
                      if [ $openmotiflibsversub5 -ge 1 ]
                      then
                        openmotiflibsrpm=true
                      else
                        /bin/echo "openmotif-libs $openmotiflibsversub1.$openmotiflibsversub2.$openmotiflibsversub3-$openmotiflibsversub4.$openmotiflibsversub5"

                      fi
                    else
                     /bin/echo "openmotif-libs $openmotiflibsversub1.$openmotiflibsversub2.$openmotiflibsversub3-$openmotiflibsversub4.$openmotiflibsversub5"
                    fi
                  fi
                else
                  /bin/echo "openmotif-libs $openmotiflibsversub1.$openmotiflibsversub2.$openmotiflibsversub3-$openmotiflibsversub4.$openmotiflibsversub5"
                fi
              fi
            else
              /bin/echo "openmotif-libs $openmotiflibsversub1.$openmotiflibsversub2.$openmotiflibsversub3-$openmotiflibsversub4.$openmotiflibsversub5"
            fi
          fi
        else
          /bin/echo "openmotif-libs $openmotiflibsversub1.$openmotiflibsversub2.$openmotiflibsversub3-$openmotiflibsversub4.$openmotiflibsversub5"
        fi
      fi
    else
      /bin/echo "openmotif-libs notInstalled"

    fi
    if [ $makerpm = true -a $gccrpm = true -a $glibcrpm = true -a $libaiorpm = true -a $libaiodevelrpm = true -a $openmotiflibsrpm = true ]
    then
      /bin/echo "SLES9rpmsOK"
    else
      /bin/echo "SLES9rpmsNotOK"
    fi
  else
    /bin/echo NotSLES9
  fi
else
  /bin/echo NotSuSE
fi

If the result from the above command is =~ SLES9rpmsOK|NotSLES9|NotSuSE then your environment passes this test. The correct make, gcc, gcc-c++, glibc, libaio, libaio-devel and openmotif-libs packages have been installed on your SuSE SLES9 system. No action required.

What to do if your system fails the test:
Incorrect versions of make, gcc, gcc-c++ glibc, libaio, libaio-devel and openmotif-libs packages have been installed on your SuSE SLES9 system. Please make sure that the correct version is installed. Refer to Metalink Note: 169706.1

Test: 3006854 installed?

Check if patch 3006854 is applied. This is only required for RedHat AS/ES 3.0.

Run the following command from the Operating System command line


if test -r /etc/issue
then
  if [ `egrep -ic 'Taroon' /etc/issue` -ge 1 ]
  then
    if [ `ls -l /etc/libcwait.so 2>/dev/null | wc -l` -eq 1 -a `cat /etc/ld.so.preload 2>/dev/null | grep -c /etc/libcwait.so` -eq 1 ]
    then
      echo "Installed"
    else
      echo "NotInstalled"
    fi
  else
    echo "NotRequired"

  fi
else
  echo "Cannot access /etc/issue"
fi

If the result from the above command is =~ Installed|NotRequired then your environment passes this test. Patch 3006854 is installed or not required.

What to do if your system fails the test:
Refer to the following table for the necessary action to take:

Return Value Action

------------------------------ -------------------------------------

Not Installed Install patch 3006854.

Cannot access /etc/issue Grant read permission on

/etc/issue to the current user.

Test: LD_ASSUME_KERNEL set?

This rule checks if the ip_local_port_range is set according the installation manual.

Run the following command from the Operating System command line


if /usr/bin/test -f /etc/redhat-release
then
  if [ `/bin/cat /etc/redhat-release | /bin/grep -i taroon | /usr/bin/wc -l` -ge 1 ]
  then
    if /usr/bin/test $LD_ASSUME_KERNEL
    then
      if [ $LD_ASSUME_KERNEL = "2.4.19" ]
      then
        echo SetOK
      else
        echo SetButNotOK
      fi
    else
      echo NotSet
    fi
  else
    echo NotRHEL3
  fi
else
  echo NotRedHat
fi

If the result from the above command is =~ SetOK|NotRHEL3|NotRedHat then your environment passes this test. The LD_ASSUME_KERNEL is set properly for RHEL3

What to do if your system fails the test:
The LD_ASSUME_KERNEL is either not set or is not set to 2.4.19, please set the environmental variable or set it to the correct value

Test: ip_local_port_range ok?

This rule checks if the ip_local_port_range is set according the installation manual.

Run the following command from the Operating System command line


if /usr/bin/test /proc/sys/net/ipv4/ip_local_port_range
then
  IPLOCALPORTRANGELOW=`/bin/cat /proc/sys/net/ipv4/ip_local_port_range | /bin/awk '{print $1}'`
  IPLOCALPORTRANGEHIGH=`/bin/cat /proc/sys/net/ipv4/ip_local_port_range | /bin/awk '{print $2}'`
  if [ $IPLOCALPORTRANGELOW -le 1024 ]
  then
    if [ $IPLOCALPORTRANGEHIGH -ge 65000 ]
    then
      /bin/echo ip_local_port_rangeOK
    else
      /bin/echo HighTooLow
    fi
  else
    if [ $IPLOCALPORTRANGEHIGH -ge 65000 ]
    then
      /bin/echo LowTooHigh
    else
      /bin/echo LowTooHigh
      /bin/echo HighTooLow
    fi
  fi
else
  /bin/echo iplocalNotFound
  /bin/echo "ALERT- The ip_local_port_range is not present in the /proc/sys/net/ipv4 directory as required"
fi

If the result from the above command is equal to ip_local_port_rangeOK then your environment passes this test. The Sockets defined in /proc/sys/net/ipv4/ip_local_port_range is adequate for installing 10g RDBMS. No action required.

What to do if your system fails the test:
The Sockets defined in /proc/sys/net/ipv4/ip_local_port_range is not set correctly for installing 10g RDBMS.

Please change the values according the installation manual:

$ /bin/echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_change

ReturnValue Action

--------------------------------------------------------------------

LowTooHigh The low end value for the ip_local_port_range is

set too high and needs to be reset to at most 1024

HighTooLow The high end value for the ip_local_port_range is

set too low and needs to be reset to at least 65000

iplocalNotFound The ip_local_port_range is not present in the

/proc/sys/net/ipv4 directory as required

Test: Tainted Kernel?

This Rule determines if the kernel contains tainted modules

Run the following command from the Operating System command line


if /usr/bin/test -x /sbin/lsmod
then
  if [ `/sbin/lsmod | /bin/grep -i "not tainted" | /usr/bin/wc -l` -eq 1 ]
  then
    /bin/echo NotTainted
  elif [ `/sbin/lsmod | /bin/grep -i "taint" | /usr/bin/wc -l` -eq 0 ]
  then
    /bin/echo NotVerifiable
  else
    /bin/echo Tainted
  fi
else
  /bin/echo "Cannot run /sbin/lsmod"
fi

If the result from the above command is =~ NotTainted|NotVerifiable then your environment passes this test. The Linux kernel is not tainted. No action is required.

What to do if your system fails the test:
The Linux kernel is tainted. Please refer to Metalink Note: 225710.1 for clarification on what action is required.

Test: other OUI up?

This rule verifies if another runInstaller process is active on the system.

Run the following command from the Operating System command line


if [ `/bin/ps -ef | /bin/grep -i runInstaller | /bin/grep -v grep | /usr/bin/wc -l` -ge 1 ]
then
  /bin/echo AnotherOUIup
else
  /bin/echo NoOtherOUI
fi

If the result from the above command is equal to NoOtherOUI then your environment passes this test. No other runInstaller process is currently running. No action required.

What to do if your system fails the test:
Please stop the other instance of runInstaller which is currently active on your system.

Test: Group in /etc/group?

This rule verifies if the group that the user belongs to exists in /etc/group

Run the following command from the Operating System command line


GROUP=`/usr/bin/id -ng`
if /usr/bin/test -r /etc/group
then
  if [ "x${GROUP}x" = "`/bin/cat /etc/group | /bin/awk -F: '{print "x"$1"x"}' | /bin/grep -w "x${GROUP}x"`" ]
  then
    /bin/echo "GroupOK"
  else
    /bin/echo "$GROUP not in /etc/group"

  fi
else
  /bin/echo "Can not read /etc/group"
fi

If the result from the above command is equal to GroupOK then your environment passes this test. The group of the user exists in /etc/group. No action required.

What to do if your system fails the test:
ALERT

The group of the user does not exist in /etc/group. Please add the group.

Test: ORACLE_HOME valid?

This rule checks if the ORACLE_HOME directory exist.

Run the following command from the Operating System command line


if /usr/bin/test %40%
then
   if /usr/bin/test -d %40%
   then
      if /usr/bin/test -h %40%
      then
         /bin/echo OHsymlink
      else
         /bin/echo "OHexists"
      fi
   else
      /bin/echo OHnotvalid
   fi
else
  /bin/echo "OHNotSpecified"
fi

If the result from the above command is =~ OHexists|OHsymlink|OHNotSpecified then your environment passes this test. ORACLE_HOME directory exists. No action required

What to do if your system fails the test:
ALERT

There is something wrong with ORACLE_HOME. Please verify the following

Return value Action required

---------------------------------------------------------------------

OHnotvalid Please ensure that the correct location is provided

or ensure that this directory has been created and

re-run this script

OHsymlink ORACLE_HOME is a symbolic link

Test: O_H perms OK?

This rule checks if the user has the correct privileges to install 10g RDBMS in ORACLE_HOME

Run the following command from the Operating System command line


READPERMISSION=false
WRITEPERMISSION=false
EXECUTEPERMISSION=false
if /usr/bin/test %40%
then
  if /usr/bin/test -d %40%
  then
    if /usr/bin/test -r %40%
    then
      READPERMISSION=true
    else
      /bin/echo NoReadPerm
    fi
    if /usr/bin/test -w %40%
    then
      WRITEPERMISSION=true
    else
      /bin/echo NoWritePerm
    fi
    if /usr/bin/test -x %40%
    then
      EXECUTEPERMISSION=true
    else
      /bin/echo NoExecutePerm
    fi
  else
    /bin/echo OHNotExist
  fi
else
  /bin/echo OHNotSpecified
fi
if [ $WRITEPERMISSION = true -a $READPERMISSION = true -a $EXECUTEPERMISSION = true ]
then
  /bin/echo CorrectPerms
else
  if /usr/bin/test %40%
  then
    /bin/echo WrongPerms
  fi
fi

If the result from the above command is =~ CorrectPerms|OHNotSpecified then your environment passes this test. The permissions on ORACLE_HOME are correct. No action required.

What to do if your system fails the test:

Return value Action required

---------------------------------------------------------------------

NoReadPerm Make sure the install user has read permission

on ORACLE_HOME

NoWritePerm Make sure the install user has write permission

on ORACLE_HOME

NoExecutePerm Make sure the install user has execute permission

on ORACLE_HOME

OHNotExist ORACLE_HOME does not exist, please create the

ORACLE_HOME mount point and ensure the permissions

are correctly set (chmod 755)

OHNotSpecified ORACLE_HOME can not be verified as the ORACLE_HOME

is not specified

WrongPerms The specified ORACLE_HOME does not have correct

permissions. Please have your System

Administrator correct the permissions to "rwx" for

the ORACLE_HOME mount point"

Test: Umask set to 022?

This rule checks if the umask set is correctly set for installing 10g RDBMS.

Run the following command from the Operating System command line


if [ `umask` -eq 022 ]
then
  /bin/echo UmaskOK
else
  /bin/echo UmaskNotOK
fi

If the result from the above command is equal to UmaskOK then your environment passes this test. The umask has been set correctly for installing 10g RDBMS. No action required.

What to do if your system fails the test:
The umask has not been set correctly. Please set the umask to 022 before installing 10g RDBMS.

Test: LDLIBRARYPATH unset?

This rule checks to ensure that LD_LIBRARY_PATH environment variable is unset.

Run the following command from the Operating System command line


if /usr/bin/test $LD_LIBRARY_PATH
then
  /bin/echo IsSet
else
  /bin/echo UnSet
fi

If the result from the above command is equal to UnSet then your environment passes this test. LD_LIBRARY_PATH environment variable is unset. No action required.

What to do if your system fails the test:


LD_LIBRARY_PATH is set in your environment and needs to be unset prior to attempting a 10g RDBMS installation.


 
 

附件

   
 
  • linux_x86_10gr2_hcve_rdbms_031106.tar(170 KB)
 
 

相关内容

   
 
 

产品

   
 
  • Internal Applications > Internal Applications > Internal Applications > OSS Support Tools
  • Oracle Database Products > Oracle Database Suite > Oracle Database > Oracle Database - Enterprise Edition > RDBMS
 

关键字

   
 
DATA_ANALYSIS; DATA_COLLECT; DIAGNOSTIC; HCVE

你可能感兴趣的:(Pre-Install checks for 10gR2 RDBMS (10.2.x) - Linux x86 Platforms (文档 ID 334531.1))