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