应用程序包开发者指南

缺省管理文件

负责安装软件包的管理员可以使用管理文件来控制软件包安装。然而,作为软件包设计者,您需要了解有关管理文件的信息,并了解管理员如何能够改变您计划的软件包安装。

管理文件告诉 pkgadd 命令是否执行它通常执行的任何检查或提示。因此,管理员在使用管理文件之前应该充分了解软件包的安装过程和涉及的脚本。

缺省基本管理文件随 SunOS 操作系统一起提供,位于 /var/sadm/install/admin/default 中。该文件建立了与软件产品安装有关的最基本级别的管理策略。随操作系统一起提供的该文件如下所示:

#ident "@(#)default
1.4 92/12/23 SMI"	/* SVr4.0 1.5.2.1	*/ 
mail=
instance=unique
partial=ask
runlevel=ask
idepend=ask
rdepend=ask
space=ask
setuid=ask
conflict=ask
action=ask
basedir=default

管理员可以编辑此文件以建立新的缺省行为,或者创建一个不同的管理文件并使用 pkgadd 命令的 -a 选项指定其存在。

在一个管理文件中可以定义 11 个参数,但并非所有参数都必须定义。有关更多信息,请参见 admin(4)

basedir 参数指定在安装软件包时如何派生基目录。大多数管理员都将此参数保留为 default,但可以将 basedir 设置为以下值之一:


注 –

如果带有参数 -a none 调用了 pkgadd 命令,则该命令始终要求管理员提供基目录。遗憾的是,这还会将文件中的所有参数设置为缺省值 quit,而这可能会导致其他问题。


适应不确定性

管理员可使用管理文件来控制系统上正安装的所有软件包。遗憾的是,软件包设计者经常提供一个替代的缺省管理文件,而没有考虑管理员的愿望。

软件包设计者有时会提供一个替代管理文件,以便他们自己(而不是管理员)能够控制软件包的安装。由于缺省管理文件中的 basedir 条目会覆盖所有其他基目录,因此它提供了一种在安装时选择适当基目录的简单方法。在早于 Solaris 2.5 发行版的所有 Solaris OS 版本中,这种方法被认为是控制基目录的最简单方法。

然而,您必须接受管理员的有关产品安装的希望。提供一个临时的缺省管理文件以便控制安装会导致管理员觉得不受信任。您应该使用 request 脚本和 checkinstall 脚本在管理员的监督下控制这些安装。如果 request 脚本如实地使管理员参与安装过程,System V 打包过程将同时满足管理员和软件包设计者的需求。