Sie können mit einem Finish-Skript nach der Installation der Solaris-Software automatisch Packages oder Patches hinzufügen. Indem Sie Packages mit einem Finish-Skript hinzufügen, sparen Sie Zeit und stellen außerdem sicher, dass Packages und Patches auf unterschiedlichen Systemen gleich installiert werden.
Wenn Sie in Finish-Skripten den Befehl pkgadd(1M) bzw. patchadd(1M) verwenden, geben Sie mit der Option -R den Pfad /a als Root-Pfad an.
Beispiel 24–2 zeigt ein Finish-Skript zum Hinzufügen von Packages.
#!/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}
|
Hängt ein Verzeichnis auf einem Server ein, das das zu installierende Package enthält.
Erstellt eine temporäre Package-Administrationsdatei, admin, und bewirkt, dass der Befehl pkgadd(1M) bei der Installation eines Package keine Prüfung vornimmt und keine Eingabeaufforderungen ausgibt. Verwenden Sie die temporäre Package-Administrationsdatei, damit die Installation beim Hinzufügen von Packages ohne Benutzereingriff abläuft.
Fügt das Package mit der Option -a zur Angabe der Package-Administrationsdatei und mit der Option -R zur Angabe des Root-Pfades hinzu.
Früher wurde der Befehl chroot(1M) zusammen mit dem Befehl pkgadd und patchadd in Finish-Skripten verwendet. In seltenen Fällen kann es vorkommen, dass bei einigen Packages oder Patches die Option -R nicht funktioniert. Sie müssen eine /etc/mnttab-Dummy-Datei im Root-Pfad /a erstellen, bevor Sie den Befehl chroot absetzen.
Zum Erstellen einer /etc/mnttab-Dummy-Datei fügen Sie die folgende Zeile zum Finish-Skript hinzu:
cp /etc/mnttab /a/etc/mnttab