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 Beispiel für 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