应用程序包开发者指南

软件包删除期间如何处理类

对象是按逐个类删除的。对于软件包存在但未在 CLASSES 参数中列出的类将首先被删除(例如,使用 installf 命令安装的对象)。CLASSES 参数中列出的类按相反顺序删除。none 类总是最后删除。下面描述了删除类时发生的系统操作:

  1. pkgrm 命令创建一个路径名列表。

    pkgrm 命令创建属于指定类的已安装路径名的列表。其他软件包引用的路径名将会从列表中排除,除非其文件类型为 ee 文件类型表示该文件应该在安装或删除时进行编辑。

    如果正被删除的软件包在安装期间修改了任何类型为 e 的文件,该软件包应只删除它添加的行。请勿删除一个非空的可编辑文件。删除软件包添加的行。

  2. 如果不存在类操作脚本,将会删除路径名。

    如果您的软件包没有类的删除类操作脚本,将会删除 pkgrm 命令生成的列表中的所有路径名。


    注 –

    文件类型为 e(可编辑)的文件不会指定给类和关联的类操作脚本。这些文件将在此时被删除,即使路径名与其他软件包共享。


  3. 如果类操作脚本存在,将会执行该脚本。

    pkgrm 命令使用包含项目 1 中生成的列表的脚本标准输入来调用类操作脚本。

  4. pkgrm 命令执行审计。

    成功执行类操作脚本之后,pkgrm 命令会从软件包数据库删除对路径名的引用,除非路径名由其他软件包引用。