Installationsguide för Solaris 9

Lägga till paket eller korrigeringsfiler med ett slutskript

Du kan skriva ett slutskript som automatiskt lägger till paket eller korrigeringsfiler när Solaris har installerats på ett system. Installationen går snabbare om du lägger till paket i ett slutskript, och du ser dessutom till att platsens olika system är konsekvent utformade beträffande paket och korrigeringsfiler.

Om du använder kommandona pkgadd( 1M) eller patchadd( 1M) i slutskript ska du ange /a som rotsökväg i alternativet - R.


Exempel 24–2 Lägga till paket med ett slutskript

  #!/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}
  1. Monterar en katalog på en server där paketet som ska installeras lagras.

  2. Skapar den temporära paketadministrationsfilen admin för att förhindra att kommandot pkgadd( 1M) utför kontroller eller ställer frågor när ett paket installeras. Använd den temporära paketadministrationsfilen om du vill lägga till paket automatiskt.

  3. Lägger till paketet genom att använda alternativet -a, som anger paketadministrationsfilen, samt alternativet -R, som anger rotsökvägen.



Exempel 24–3 Lägga till korrigeringsfiler med ett slutskript

 #!/bin/sh 

########
#
# ALTERNATIV SOM ANVÄNDARE KAN KONFIGURERA
#
########

# Sökvägen till korrigeringsfilerna som ska läggas till i systemet när det är installerat.
# Operativsystemsversionen (5.x) och arkitekturen (`mach`) läggs till i
# roten. Det innebär att  /foo på ett 2.6 SPARC-system blir /foo/5.6/sparc
LUPATCHHOST=ins3525-svr
LUPATCHPATHROOT=/export/solaris/patchdb
#########
#
# EFTER DEN HÄR PUNKTEN FINNS INGA ANVÄNDARJÄNSTDELAR
#
#########

BASEDIR=/a

# Ta reda på versionerna för käll- och måloperativsystemen
echo Determining OS revisions...
SRCREV=`uname -r`
echo Source $SRCREV

LUPATCHPATH=$LUPATCHPATHROOT/$SRCREV/`mach`

#
# Lägg till korrigeringsfilerna som behövs
#
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


Obs!  

Tidigare användes kommandot chroot( 1M) tillsammans med kommandona pkgadd och patchadd i slutskriptsmiljön. I sällsynta fall går det inte att använda alternativet -R med vissa paket eller korrigeringsfiler. Du måste skapa slaskfilen /etc/mnttab i rotsökvägen /a innan du kör kommandot chroot.

Lägg till följande rad i slutskriptet för att skapa slaskfilen /etc/mnttab:

cp /etc/mnttab /a/etc/mnttab