Guide d'installation d'Oracle Solaris 10 9/10 : installation JumpStart personnalisée et installation avancée

Création de scripts de fin

Un script de fin est un script Bourne shell défini par l'utilisateur que vous spécifiez dans le fichier rules. Le logiciel Solaris étant installé sur votre système, un script de fin exécute des tâches avant que le système ne se réinitialise. Vous ne pouvez utiliser de scripts de fin que si vous installez le logiciel Solaris à l'aide de la méthode JumpStart personnalisée.

Voici les tâches que vous pouvez exécuter à l'aide d'un script de fin :

Informations importantes à propos des scripts de fin

ProcedureAjout de fichiers à l'aide d'un script de fin

Un script de fin vous permet d'ajouter des fichiers du répertoire JumpStart sur un système déjà installé. Vous pouvez ajouter des fichiers car le répertoire JumpStart est monté sur le répertoire spécifié par la variable SI_CONFIG_DIR. Le répertoire par défaut est /tmp/install_config.


Remarque –

Vous pouvez également remplacer des fichiers en les copiant du répertoire JumpStart sur des fichiers existants du système installé.


  1. Copiez tous les fichiers, que vous ajoutez au système installé, vers le répertoire JumpStart.

  2. Insérez la ligne suivante dans le script de fin de chaque fichier que vous souhaitez copier dans la nouvelle hiérarchie des systèmes de fichiers installés :

    cp ${SI_CONFIG_DIR}/file_name /a/path_name
    

Exemple 4–4 Ajout d'un fichier à l'aide d'un script de fin

Imaginez, par exemple, une application spéciale, site_prog, développée pour tous les utilisateurs de votre organisation. Si vous placez une copie de site_prog dans le répertoire JumpStart, la ligne suivante d'un script de fin copie site_prog du répertoire JumpStart vers le répertoire /usr/bin d'un système :

cp ${SI_CONFIG_DIR}/site_prog  /a/usr/bin

Ajout de packages ou de patchs à l'aide d'un script de fin

Vous pouvez créer un script de fin qui procède à l'ajout automatique de packages ou de patchs lorsque le logiciel Solaris est installé sur un système donné. La procédure d'ajout de packages à l'aide d'un script de fin vous permet de gagner du temps et garantit la cohérence d'installation de packages et de patchs sur les différents systèmes de votre organisation.

Lorsque vous utilisez la commande pkgadd(1M) ou patchadd(1M) dans des scripts de fin, utilisez l'option -R pour définir /a comme chemin racine.


Exemple 4–5 Ajout de packages à l'aide d'un script de fin

  #!/bin/sh
 
  BASE=/a
  MNT=/a/mnt
  ADMIN_FILE=/a/tmp/admin
 
  mkdir ${MNT}
  mount -f nfs sherlock:/export/package ${MNT}
  cat >${ADMIN_FILE} <<DONT_ASK
  mail=root
  instance=overwrite
  partial=nocheck
  runlevel=nocheck
  idepend=nocheck
  rdepend=nocheck
  space=ask
  setuid=nocheck
  conflict=nocheck
  action=nocheck
  basedir=default
  DONT_ASK
 
  /usr/sbin/pkgadd -a ${ADMIN_FILE} -d ${MNT} -R ${BASE} SUNWxyz 
  umount ${MNT}
  rmdir ${MNT}

Certaines commandes de cet exemple sont décrites dans ce qui suit.



Exemple 4–6 Ajout de patchs à l'aide d'un script de fin

 #!/bin/sh 

########
#
# USER-CONFIGURABLE OPTIONS
#
########

# The location of the patches to add to the system after it's installed.
# The OS rev (5.x) and the architecture (`mach`) will be added to the
# root.  For example, /foo on a 8 SPARC would turn into /foo/5.8/sparc
LUPATCHHOST=ins3525-svr
LUPATCHPATHROOT=/export/solaris/patchdb
#########
#
# NO USER-SERVICEABLE PARTS PAST THIS POINT
#
#########

BASEDIR=/a

# Figure out the source and target OS versions
echo Determining OS revisions...
SRCREV=`uname -r`
echo Source $SRCREV

LUPATCHPATH=$LUPATCHPATHROOT/$SRCREV/`mach`

#
# Add the patches needed
#
echo Adding OS patches
mount $LUPATCHHOST:$LUPATCHPATH /mnt >/dev/null 2>&1
if [ $? = 0 ] ; then
	for patch in `cat /mnt/*Recommended/patch_order` ; do
		(cd /mnt/*Recommended/$patch ; echo yes | patchadd -u -d -R $BASEDIR .)
	done
	cd /tmp
	umount /mnt
else
	echo "No patches found"
if


Remarque –

Jusqu'à présent, la commande chroot(1M) était associée aux commandes pkgadd et patchadd dans l'environnement des scripts de fin. Il arrive que certains packages ou patchs soient incompatibles avec l'option -R. Dans ce cas, vous devez créer un fichier /etc/mnttab fictif dans le chemin d'accès à la racine /a avant d'exécuter la commande chroot.

Pour créer un fichier /etc/mnttab fictif, ajoutez la ligne suivante au script de fin :

cp /etc/mnttab /a/etc/mnttab

Personnalisation de l'environnement root à l'aide d'un script de fin

Vous pouvez également utiliser des scripts de fin pour personnaliser des fichiers installés sur un système. Par exemple, le script de fin présenté à l'Exemple 4–7 personnalise l'environnement root en ajoutant des informations au fichier .cshrc dans le répertoire root (/).


Exemple 4–7 Personnalisation de l'environnement root à l'aide d'un script de fin

#!/bin/sh
#
# Customize root's environment
#
echo "***adding customizations in /.cshrc"
test -f a/.cshrc || {
cat >> a/.cshrc <<EOF
set history=100 savehist=200 filec ignoreeof prompt="\$user@`uname -n`> "
alias cp cp -i
alias mv mv -i
alias rm rm -i
alias ls ls -FC
alias h history
alias c clear
unset autologout
EOF
}

Installations non-interactives avec des scripts de fin

Vous pouvez utiliser des scripts de fin pour installer d'autres logiciels, une fois l'installation du système d'exploitation Solaris terminée. Le programme Programme d'installation de Solaris vous invite à saisir des informations durant l'installation. Pour effectuer une installation sans besoin d'intervention, vous pouvez exécuter le Programme d'installation de Solaris avec l'option -nodisplay ou -noconsole.

Tableau 4–1 Options d'installation de Solaris

Option 

Description 

-nodisplay

Exécute le programme d'installation sans interface graphique utilisateur. Utilisez l'installation par défaut du produit à moins que l'installation n'ait été modifiée par l'option -locales.

-noconsole

Exécute l'installation sans interaction avec une console texte. Cette option est particulièrement utile lorsqu'elle est associée à -nodisplay pour l'exploitation de scripts UNIX.

Pour de plus amples informations, reportez-vous à la page de manuel installer(1M).