Vous pouvez créer un script de fin qui procède à l'ajout automatique de modules ou de patchs une fois le logiciel Solaris installé sur un système donné. La procédure d'ajout de modules à l'aide d'un script de fin vous permet de gagner du temps et garantit la cohérence d'installation de modules 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 d'accès à la racine.
L'Exemple 24–2 illustre un script de fin conçu pour ajouter des modules.
#!/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} |
Monte un répertoire sur un serveur, dans lequel figure le module que vous souhaitez installer.
Crée un fichier temporaire d'administration des modules, nommé admin, pour éviter que la commande pkgadd(1M) n'effectue des vérifications ou ne vous demande de répondre à des questions en cours d'installation d'un module. Utillisez ce fichier temporaire d'administration des modules pour que l'ajout de modules se fasse sans intervention de votre part.
Ajoute le module à l'aide de l'option -a, qui spécifie le fichier d'administration des modules, et de l'option -R, qui spécifie le chemin d'accès à la racine.
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 modules ou certain 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 dans votre script de fin :
cp /etc/mnttab /a/etc/mnttab