Solaris 9 安装指南

使用结束脚本添加软件包或修补程序

可以创建一个结束脚本在 Solaris 软件安装在系统上之后自动添加软件包或修补程序。通过使用结束脚本添加软件包,可减少时间并确保安装在站点上不同系统中的软件包和修补程序的一致性。

在结束脚本中使用 pkgadd( 1M)patchadd( 1M) 命令时,使用 -R 选项将 /a 指定为根路径。

实例 24–2 显示了添加软件包的结束脚本示例。


实例 24–2 使用结束脚本添加软件包

  #!/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. 将目录安装在包含要安装的软件包的服务器上。

  2. 创建一个临时软件包管理文件 admin,强迫 pkgadd( 1M) 命令在安装软件包时不执行检查或提示问题。当添加软件包时,请使用临时软件包管理文件以便不用干预安装。

  3. 添加软件包,使用 -a 选项指定软件包管理文件,使用 -R 选项指定根路径。



注意:

以前,chroot( 1M) 命令和结束脚本环境中的 pkgaddpatchadd 命令一起使用。在极少情况下,一些软件包或修补程序无法与 -R 选项一起工作。在发出 chroot 命令前,必须在 /a 根路径中创建一个伪 /etc/mnttab 文件。

要创建伪 /etc/mnttab 文件,将以下行添加到结束脚本中:

cp /etc/mnttab /a/etc/mnttab