Uno script finale può essere usato per aggiungere automaticamente package o patch al sistema dopo l'installazione di Solaris. Usando uno script finale, si riducono i tempi delle procedure e si ha la certezza di installare gli stessi package e le stesse patch su tutti i sistemi del sito.
Quando si utilizzano i comandi pkgadd( 1M) o patchadd( 1M) in uno script finale, è consigliabile usare l'opzione - R per specificare /a come percorso radice.
L'Esempio 24-2 mostra uno script finale che aggiunge una serie di package.
#!/bin/sh BASE=/a MNT=/a/mnt ADMIN_FILE=/a/tmp/admin mkdir ${MNT} mount -f nfs sherlock:/export/package ${MNT}1 cat>${ADMIN_FILE} <<DONT_ASK2 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} SUNWxyz3 umount ${MNT} rmdir ${MNT} |
Attiva una directory su un server che contiene il package da installare.
Crea un file temporaneo per l'amministrazione dei package, di nome admin, per forzare il comando pkgadd( 1M) a non eseguire controlli e a non formulare domande durante l'installazione dei package. Il file di amministrazione temporaneo permette di automatizzare la procedura di installazione dei package.
Aggiunge il package usando l'opzione -a, per specificare il file di amministrazione dei package, e l'opzione -R per specificare il percorso radice.
In passato, nell'ambiente degli script finali, insieme ai comandi pkgadd e patchadd veniva usato il comando chroot( 1M). In rari casi, alcuni package o patch non funzionano con l'opzione -R. In questi casi è necessario creare un file /etc/mnttab fittizio nel percorso radice /a prima di eseguire il comando chroot.
Per creare il file /etc/mnttab fittizio, aggiungere la riga seguente allo script finale:
cp /etc/mnttab /a/etc/mnttab