Mise en place des prérequis d'installation pour un agent Cloud Control 12c sous RHEL

Comme il existe un package pour installer un serveur de base de données (oracle-rdbms-server-11gR2-preinstall ou oracle-rdbms-server-12cR1-preinstall), un package pour installer un agent Cloud Control 12c est disponible avec la distribution Oracle Enterprise Linux : oracle-em-agent-12cR4-preinstall.
Cet article présente le contenu du package et les opérations à effectuer pour l’installer sur une distribution Red Hat.

Le package est disponible sur Oracle Public Yum Server ou Unbreakable Linux Network.

# yum install --downloadonly --downloaddir=/u01/repo oracle-em-agent-12cR4-preinstall.x86_64
Loaded plugins: downloadonly, refresh-packagekit, security
Setting up Install Process
public_ol6_spacewalk20_client                                                                         | 1.2 kB     00:00
Resolving Dependencies
--> Running transaction check
---> Package oracle-em-agent-12cR4-preinstall.x86_64 0:1.0-7.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================
 Package                             Arch         Version         Repository           Size
============================================================================================
Installing:
 oracle-em-agent-12cR4-preinstall    x86_64       1.0-7.el6       public_ol6_addons    14 k
Transaction Summary
============================================================================================
Install       1 Package(s)
Total download size: 14 k
Installed size: 23 k
Is this ok [y/N]: y
Downloading Packages:
oracle-em-agent-12cR4-preinstall-1.0-7.el6.x86_64.rpm                                                 |  14 kB     00:00
exiting because --downloadonly specified

Le RPM n’est pas installé mais déposé dans le répertoire spécifié.

# ll /u01/repo/*.rpm
-rw-r--r--. 1 root root 14080 Sep 11  2014 /u01/repo/oracle-em-agent-12cR4-preinstall-1.0-7.el6.x86_64.rpm

La commande rpm est utilisée pour afficher les dépendances du package :

# rpm -qpR ../oracle-em-agent-12cR4-preinstall-1.0-7.el6.x86_64.rpm 2>/dev/null | egrep -v 'rpmlib|^/|=|uek' |  awk '{ printf "%s \n", $1 '}
binutils
gcc
glibc
glibc-common
libaio
libstdc++
make
openssh
openssh-clients
pam
sudo
sysstat

 
Il suffit donc de faire un « yum install » de tous les packages ci-dessus.
Après l’installation des packages, il est nécessaire d’effectuer une configuration minimal. L’extraction du package permet de prendre connaissance des opérations associées à l’installation du package.

# mkdir oracle-em-agent-12cR4-preinstall
# cd oracle-em-agent-12cR4-preinstall
# rpm2cpio ../oracle-em-agent-12cR4-preinstall-1.0-7.el6.x86_64.rpm | cpio -idmv
./etc/security/limits.d/oracle-em-agent-12cR4-preinstall.conf
./etc/sysconfig/oracle-em-agent-12cR4-preinstall/oracle-em-agent-12cR4-preinstall-sudo-conf
./usr/bin/oracle-em-agent-12cR4-preinstall
./usr/share/doc/oracle-em-agent-12cR4-preinstall-1.0
./usr/share/doc/oracle-em-agent-12cR4-preinstall-1.0/COPYING
./var/log/oracle-em-agent-12cR4-preinstall
48 blocks

 
L’arborescence suivante est créée :

# tree
.
+-- etc
¦   +-- security
¦   ¦   +-- limits.d
¦   ¦       +-- oracle-em-agent-12cR4-preinstall.conf
¦   +-- sysconfig
¦       +-- oracle-em-agent-12cR4-preinstall
¦           +-- oracle-em-agent-12cR4-preinstall-sudo-conf
+-- usr
¦   +-- bin
¦   ¦   +-- oracle-em-agent-12cR4-preinstall
¦   +-- share
¦       +-- doc
¦           +-- oracle-em-agent-12cR4-preinstall-1.0
¦               +-- COPYING
+-- var
    +-- log
        +-- oracle-em-agent-12cR4-preinstall

L’installation du package effectue les opérations suivantes :
– création des groupes oinstall et dba,
– création du user oracle,
– modification des limites nofile dans /etc/security/limits.conf,
– ajout des droits SUDO pour l’installation de l’agent.
 
La configuration SUDO est la suivante :

# oracle-em-agent-12cR4-preinstall setting for sudoers
#User alias for the agent install user
User_Alias  AGENT_USER = oracle
#Runas alias for the root user
Runas_Alias  ROOT_USER = root
#Cmnd alias for the id command
Cmnd_Alias ID_CMD = /usr/bin/id
#Cmnd alias for the root script where /usr/lib/oracle is the agent installation base directory
Cmnd_Alias  ROOT_SCRIPT = /usr/lib/oracle/ADATMP_[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]_[0-9][0-9]-[0-9][0-9]-[0-9][0-9]-[AP]M/agentdeployroot.sh
#sudo configuration for the agent install user to run the root script.
AGENT_USER ALL=(ROOT_USER) ID_CMD, ROOT_SCRIPT

Les limites définies sont les suivantes :

# User limits for oracle user for oracle-em-agent-12cR4-preinstall
# oracle-em-agent-12cR4-preinstall setting for nofile soft limit is 4096
oracle   soft   nofile    4096
# oracleem-agent-12cR4-preinstall setting for nofile hard limit is 4096
oracle   hard   nofile    4096

Pour rappel, les droits root ne sont pas obligatoires, il suffit de vider la zone « Privileged Delegation Setting » dans le paramétrage de l’installation et à la fin du déploiement de l’agent, il sera nécessaire d’exécuter manuellement le shell root.sh.