系统管理指南:基本管理

第 21 章 使用 Oracle Solaris 系统管理工具管理软件(任务)

本章介绍如何使用 Oracle Solaris 安装程序图形用户界面 (graphical user interface, GUI) 和 Oracle Solaris 产品注册表添加、检验和删除软件包。

有关此发行版中新增的软件管理功能的信息,请参见Oracle Solaris 操作系统中的新增功能

有关与执行软件管理任务相关的过程的信息,请参见:

用于管理软件的 Oracle Solaris 产品注册表和 Solaris GUI 安装工具

下表列出了通过 Oracle Solaris 安装程序 GUI 和 Oracle Solaris 产品注册表工具添加、删除和检查软件包安装时所使用的命令。

表 21–1 用于管理软件包的系统管理工具

工具 

说明 

手册页 

installer

用安装程序安装或删除软件包 

installer(1M)

prodreg

允许您浏览、取消注册和卸载 Oracle Solaris 产品注册表中的软件 

prodreg(1M)

使用 Oracle Solaris 安装程序 GUI 添加软件

本节介绍如何使用 Oracle Solaris 安装程序 GUI 来向已安装 Oracle Solaris 操作系统 (Solaris OS) 的系统中添加软件。安装程序 GUI 仅安装在最初安装 Oracle Solaris 时跳过的软件组的组件。在安装或升级 OS 之后,不能升级到另一个软件组。

Procedure如何用 Oracle Solaris 安装程序 GUI 程序安装软件


注 –

本过程假设系统正在运行卷管理 (vold)。如果系统未在运行卷管理,请参见《系统管理指南:设备和文件系统》中的第 3  章 “访问可移除介质(任务)”。在这一章中,提供了有关如何在未运行卷管理的情况下访问可移除介质的信息。


  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 根据您是从 CD、DVD 还是从网络安装 OS,请执行以下其中一种操作:

    • 如果运行的是使用 CD 的发行版,则将 CD 插入到 CD-ROM 驱动器。

      如果您插入 Solaris 10 Languages CD,安装程序 GUI 将自动启动。请继续执行步骤 5


      注 –

      在该 Oracle Solaris 发行版中,软件在 DVD 上交付。


    • 如果要从 DVD安装,请将 DVD 插入 DVD-ROM 驱动器中。

    • 如果要从网络安装,请找到要安装的软件的网络映像。

  3. 更改目录以查找 Oracle Solaris 安装程序 GUI 安装程序。

    Oracle Solaris 安装程序 GUI 安装程序位于 CD 和 DVD 上的相应目录中。

    • Oracle Solaris 10 软件 CD 或 DVD。

    • Oracle Solaris 10 文档 DVD。

    • Oracle Solaris 10 Languages CD。在插入 CD 时,Solaris 安装程序 GUI 会自动启动。

  4. 按照说明安装软件。

    • 在命令行上键入如下命令:


       % ./installer [options]
      -nodisplay

      在没有 GUI 的情况下运行安装程序。

      -noconsole

      在没有任何交互式文本控制台设备的情况下运行。当用于安装软件的 UNIX 脚本中包括 installer 命令时,可以将此选项与 -nodisplay 选项一起使用。

    • 在文件管理器中,双击“安装程序”或安装程序。

      将显示安装程序窗口,随后将显示安装程序 GUI 对话框。

  5. 按照屏幕上的说明来安装软件。

  6. 在完成软件的添加之后,单击“退出”。

    安装程序 GUI 将退出。

使用 Oracle Solaris 产品注册表 GUI 管理软件(任务图)

下面的任务图描述可以用 Oracle Solaris 产品注册表执行的软件管理任务。

任务 

说明 

参考 

用 Oracle Solaris 产品注册表查看已安装或已卸载的软件。 

用于了解有关已安装或已卸载的软件的信息。 

如何使用 Oracle Solaris 产品注册表 GUI 查看已安装或已卸载软件的信息

用 Oracle Solaris 产品注册表安装软件。 

可以使用 Oracle Solaris 产品注册表来查找软件并启动 Oracle Solaris 安装程序 GUI。此程序指导您完成软件的安装。 

如何使用 Oracle Solaris 产品注册表 GUI 安装软件

使用 Oracle Solaris 产品注册表卸载软件。 

用于通过 Oracle Solaris 产品注册表卸载软件。 

如何使用 Oracle Solaris 产品注册表 GUI 卸载软件

Oracle Solaris 产品注册表是一个帮助您管理已安装软件的工具。在安装了软件之后,产品注册表提供一个已使用 Oracle Solaris 安装程序 GUI 或 pkgadd 命令安装的所有软件的列表。

可以在 GUI 或命令行界面 (command-line interface, CLI) 中使用 Oracle Solaris 产品注册表。有关如何使用 Oracle Solaris 产品注册表 CLI 的更多信息,请参见使用 Oracle Solaris 产品注册表命令行界面管理软件(任务图)

使用 Oracle Solaris 产品注册表 GUI 界面可执行下列操作:

Oracle Solaris 产品注册表 GUI 主窗口由三个信息窗格组成:

Procedure如何使用 Oracle Solaris 产品注册表 GUI 查看已安装或已卸载软件的信息

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 启动 Oracle Solaris 产品注册表工具。


    # prodreg &
    

    将显示 Oracle Solaris 产品注册表主窗口。

  3. 单击系统注册表目录左侧“已注册的软件”框中的旋转器控件。

    旋转器控件变化方向,由指向右方变为指向下方。可以展开或折叠注册表中的任意项(左侧带文本文件图标的项除外)。

    “已注册的软件”框中的“已安装软件”总是包含下列组件:

    • 在安装 Oracle Solaris 发行版时选择的配置软件组。可以显示的软件组包括精简网络支持软件组、核心软件组、最终用户系统支持软件组、开发者系统支持软件组、完整分发软件组或完整分发加 OEM 支持软件组。

    • 其他系统软件,包括不属于所选软件组的 Oracle Solaris 产品。

    • 不是 Oracle Solaris 产品或不属于软件组的未分类软件。此类软件包括使用 pkgadd 命令安装的任何软件包。

  4. 选择目录,直到找到要查看的软件应用程序。

    在打开目录时,将展开相应的列表。

  5. 要查看属性,请选择一个目录或文件。

    “产品注册”将在“系统注册”框中显示属性信息。

    • 对于用安装程序 GUI 安装的软件产品,Oracle Solaris 产品注册表中至少包含以下内容的值:“标题”、“版本”、“位置”和“安装于”。产品组或软件组下面已展开列表中的项继承产品的版本信息。

    • 如果已经用 pkgrm 命令删除了全部或部分产品,则会在软件产品名称的旁边显示一个警告图标。

Procedure如何使用 Oracle Solaris 产品注册表 GUI 安装软件

可以使用 Oracle Solaris 产品注册表来查找软件并启动安装程序 GUI 程序。此程序指导您完成软件的安装。

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 启动 Oracle Solaris 产品注册表工具。


    # prodreg
    

    将显示 Oracle Solaris 产品注册表主窗口。

  3. 根据您是从 CD、DVD 还是从网络安装,请执行以下操作之一:

    • 如果您运行的是使用 CD 的发行版,请将 CD 插入到 CD-ROM 驱动器。

    • 如果要从 DVD安装,请将 DVD 插入 DVD-ROM 驱动器中。

    • 如果要从网络安装,请找到要安装的软件的网络映像。


      注 –

      在该 Oracle Solaris 发行版中,软件在 DVD 上交付。


  4. 要查看已安装软件和已注册软件的列表,请单击旋转器控件。

  5. 单击 Oracle Solaris 产品注册表窗口底部的“新安装”按钮。

    将显示“选择安装程序”对话框。此框最初指向 /cdrom 目录或当前目录。

  6. 选择目录以查找 Oracle Solaris 安装程序 GUI 安装程序。

    Oracle Solaris 安装程序 GUI 安装程序位于 CD 和 DVD 上的相应目录中。

    • Solaris 10 Software CD 或 DVD。

    • Solaris 10 Documentation DVD。

    • Solaris 10 Languages CD。在插入 CD 时,安装程序 GUI 会自动启动。

  7. 在找到所需的安装程序时,在“文件”框中选择该安装程序的名称。

  8. 单击“确定”。

    选定的安装程序将启动。

  9. 按照安装程序所显示的说明安装本软件。

Procedure如何使用 Oracle Solaris 产品注册表 GUI 卸载软件

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 启动 Oracle Solaris 产品注册表工具。


    # prodreg
    

    将显示 Oracle Solaris 产品注册表主窗口。

  3. 要查看已安装软件和已注册软件的列表,请单击旋转器控件。

  4. 选择目录,直到找到要卸载的软件的名称。

  5. 阅读该软件的属性,确保这就是要卸载的软件。

  6. 单击 Oracle Solaris 产品注册表窗口底部的“卸载 software-product-name”按钮。

    选定的软件产品将被卸载。

使用 Oracle Solaris 产品注册表命令行界面管理软件(任务图)

下面的任务图介绍可以用 Oracle Solaris 产品注册表命令行界面执行的软件管理任务。

任务 

说明 

参考 

查看已安装或已卸载的软件。 

可以使用 browse 子命令来查看软件信息。

如何查看有关已安装或已卸载软件的信息 (prodreg)

查看软件属性。 

可以使用 info 子命令来查看特定的软件属性。

如何查看软件属性 (prodreg)

检查软件组件之间的相关性。 

可以使用 info 子命令来查看依赖特定软件组件的组件。

如何检查软件相关性 (prodreg)

标识遭到破坏的软件产品。 

如果不使用相应的卸载程序来删除已安装的软件文件或软件包,可能会破坏系统上的软件。 

如何标识遭到破坏的软件产品 (prodreg)

卸载软件  

可以使用 uninstall 子命令从系统中删除软件。

如何卸载软件 (prodreg)

卸载遭到破坏的软件。 

如果软件组件的卸载程序已从系统中删除,则卸载遭到破坏的软件组件可能会失败。 

如何卸载遭到破坏的软件 (prodreg)

重新安装遭到破坏的软件组件。 

如果其他软件依赖遭到破坏的软件组件,您可能希望重新安装遭到破坏的组件,而不是卸载该组件和依赖它的软件。 

如何重新安装遭到破坏的软件组件 (prodreg)

使用 Oracle Solaris 产品注册表命令行界面管理软件

prodreg 命令是 Oracle Solaris 产品注册表的命令行界面 (command-line interface, CLI)。prodreg 命令支持几个允许您管理系统上软件的子命令。

可以在终端窗口中使用 prodreg 命令来执行下列任务:

有关如何使用命令行界面来管理 Oracle Solaris 产品注册表的更多信息,请参见 prodreg(1M) 手册页。

Procedure如何查看有关已安装或已卸载软件的信息 (prodreg)

可以使用 prodreg 命令的 browse 子命令,在终端窗口中的 Oracle Solaris 产品注册表中查看有关软件的信息。

  1. 打开终端窗口。

  2. 浏览 Oracle Solaris 产品注册表。


    % prodreg browse
        BROWSE # +/-/.  UUID                                  #  NAME
        ======== =====  ====================================  =  ============
        1        -      root                                  1  System 
                                                                 Registry
        2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 10 
                                                                 System 
                                                                 Software
        3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                                 Software

    prodreg 命令的 browse 子命令显示有关已注册软件的以下信息。

    BROWSE #

    使用 prodreg browse 命令时,Oracle Solaris 产品注册表会为每个已注册的软件组件生成一个浏览编号。此编号用作 prodreg browse 命令或 info 子命令的参数,可向下派生已注册的特定组件的分层结构。


    注 –

    在重新引导或重新安装系统时,浏览编号可能会变化。不要将浏览编号存储在脚本中,也不要尝试在不同的登录会话中重新使用它们。


    +/-/.

    此字段指示软件组件是否具有其他子软件组件并已在 Oracle Solaris 产品注册表中注册。

    此字段中显示下列字符:

    • + 指示软件组件具有当前未显示出来的其他子组件。

    • - 指示软件组件具有当前显示出来的其他子组件。

    • . 指示软件组件没有子组件。

    UUID

    此字段列出软件在 Oracle Solaris 产品注册表中的唯一标识符。

    #

    此字段指示系统上软件组件的实例编号。如果系统中包含某个软件组件的多个实例,则 Oracle Solaris 产品注册表会为该组件的每个实例都指定一个单独的实例编号。

    NAME

    此字段列出软件的本地化名称。在此样例输出中,Oracle Solaris OS 的名称是 Oracle Solaris 10 系统软件。

  3. 浏览 Oracle Solaris 产品注册表中列出的某个软件组件的信息。


    % prodreg browse  -m "name"
    

    -m "name" 命令可显示有关名为 name 的软件组件的信息。

  4. 如果系统中包含 name 软件的多个实例,请键入以下命令来浏览 Oracle Solaris 产品注册表:


    % prodreg browse  -u name-UUID -i 
    instance -n number
    
    -u name-UUID

    显示有关具有唯一标识符 name-UUIDname 软件组件的信息。

    -i instance

    显示有关具有实例编号 instancename 软件组件的信息。

    -n number

    通过引用组件的浏览编号 number 来显示软件信息。

  5. 对于您要浏览的每个软件组件,重复步骤 3步骤 4


示例 21–1 按组件名称查看软件信息 (prodreg)

下面的示例演示如何通过引用组件的名称来查看软件信息。


% prodreg browse
    BROWSE # +/-/.  UUID                                  #  NAME
    ======== =====  ====================================  =  ============
    1        -      root                                  1  System 
                                                             Registry
    2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 10  
                                                             System 
                                                             Software
    3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                             Software

% prodreg browse -m "Solaris 10 System Software"


示例 21–2 按组件的浏览编号来查看软件信息 (prodreg)

下面的示例演示如何使用带有 -n 选项的 prodreg browse 命令,通过引用组件的浏览编号来查看软件信息。


% prodreg browse
    BROWSE # +/-/.  UUID                                  #  NAME
    ======== =====  ====================================  =  ============
    1        -      root                                  1  System 
                                                             Registry
    2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 10 
                                                             System 
                                                             Software
    3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                             Software

% prodreg browse -n 2


示例 21–3 按组件 UUID(Universal Unique Identifier,通用唯一标识符)查看软件信息 (prodreg)

下面的示例演示如何使用带有 -u 选项的 prodreg browse 命令,通过参考组件的 UUID 来查看软件信息。该 UUID 是软件在 Oracle Solaris 产品注册表中的唯一标识符。


% prodreg browse
    BROWSE # +/-/.  UUID                                  #  NAME
    ======== =====  ====================================  =  ============
    1        -      root                                  1  System 
                                                             Registry
    2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 10 
                                                             System 
                                                             Software
    3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                             Software

% prodreg browse -u a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b

Procedure如何查看软件属性 (prodreg)

可以使用 prodreg 命令的 info 子命令来查看特定的软件属性。

prodreg info 命令可显示有关已注册软件的各种信息,其中包括以下各项:

  1. 打开终端窗口。

  2. 浏览 Oracle Solaris 产品注册表。


    % prodreg browse
        BROWSE # +/-/.  UUID                                  #  NAME
        ======== =====  ====================================  =  ============
        1        -      root                                  1  System 
                                                                 Registry
        2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 10
                                                                 System 
                                                                 Software
        3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                                 Software
  3. 查看所列出的某个软件组件的属性。


    % prodreg info  -m "name"
    

    -m "name" 命令可显示名为 name 的软件组件的属性。

  4. 对于您要查看的每个软件组件,重复步骤 3


示例 21–4 按组件名称查看软件属性 (prodreg)

下面的示例演示如何通过引用组件的名称来查看软件属性。


% prodreg browse
    BROWSE # +/-/.  UUID                                  #  NAME
    ======== =====  ====================================  =  ============
    1        -      root                                  1  System 
                                                             Registry
    2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 10
                                                             System 
                                                             Software
    3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                             Software

% prodreg info -m "Solaris 10 System Software"


示例 21–5 按组件的浏览编号来查看软件属性 (prodreg)

下面的示例演示如何使用带有 -n 选项的 prodreg info 命令,通过引用组件的浏览编号来查看软件属性。


% prodreg browse
    BROWSE # +/-/.  UUID                                  #  NAME
    ======== =====  ====================================  =  ============
    1        -      root                                  1  System 
                                                             Registry
    2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 10 
                                                             System 
                                                             Software
    3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                             Software

% prodreg info -n 2


示例 21–6 按组件的 UUID 查看软件属性 (prodreg)

下面的示例演示如何使用带有 -u 选项的 prodreg info 命令,通过引用组件的 UUID 来查看软件属性。该 UUID 是软件在 Oracle Solaris 产品注册表中的唯一标识符。


% prodreg browse
    BROWSE # +/-/.  UUID                                  #  NAME
    ======== =====  ====================================  =  ============
    1        -      root                                  1  System 
                                                             Registry
    2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 10 
                                                             System 
                                                             Software
    3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                             Software

% prodreg info -u a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b

Procedure如何检查软件相关性 (prodreg)

可以使用 prodreg info 命令来查看依赖特定软件组件的组件。在卸载特定组件之前,可能希望检查软件产品之间的相关性。

  1. 打开终端窗口。

  2. 浏览 Oracle Solaris 产品注册表。


    % prodreg browse
        BROWSE # +/-/.  UUID                                  #  NAME
        ======== =====  ====================================  =  ============
        1        -      root                                  1  System 
                                                                 Registry
        2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 10 
                                                                 System 
                                                                 Software
        3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                                 Software

    重复执行 prodreg browse 命令,直到显示出要检查的软件组件。有关使用 prodreg browse 命令来浏览 Oracle Solaris 产品注册表的更多信息,请参见 如何查看有关已安装或已卸载软件的信息 (prodreg)

  3. 查看特定软件组件的相关性。


    % prodreg info -m "name" -a "Dependent Components"
    
    -mname

    显示名为 name 的软件组件的属性。

    -a “Dependent Components”

    通过显示 Dependent Components(依赖组件)属性的值来显示依赖 name 软件的组件。

    此命令的输出可列出依赖 name 软件的软件组件。


示例 21–7 查看依赖其他软件产品的组件 (prodreg)

下面的示例演示如何查看依赖 ExampleSoft 软件产品的组件。


% prodreg -m "ExampleSoft" -a "Dependent Components"
Dependent Components:
Name                         UUID                                  #
---------------------------  ------------------------------------  -
ExampleSoftA                 7f49ecvb-1ii2-11b2-a3f1-0800119u7e8e  1

Procedure如何标识遭到破坏的软件产品 (prodreg)

如果不使用相应的卸载程序来删除已安装的软件文件或软件包,可能会破坏系统上的软件。如果软件遭到破坏,软件可能无法正常运行。可以使用 prodreg 命令的 info 子命令来帮助确定软件产品是否遭到破坏。

  1. 在 Oracle Solaris 产品注册表中查看要检查的软件的有关信息。


    % prodreg browse -m name
    
  2. 检验软件组件是否遭到破坏。


    % prodreg info -u name-UUID -i 1 -d
    
  3. 标识构成 name-UUID 软件组件的软件包。


    % prodreg info -u name-UUID -i 1 -a PKGS
    

    此命令的输出可能有多页。

  4. 通过运行每个软件包的 pkginfo 命令验证在上一步中显示的软件包是否已安装在系统中。


    % pkginfo component-a-pkg
    % pkginfo component-b-pkg
    .
    .
    .

示例 21–8 标识遭到破坏的软件组件 (prodreg)

下面的示例演示如何确定 ExampleSoft 软件组件是否遭到破坏。


% prodreg browse -m Examplesoft
BROWSE #  +/-/.  UUID                                  #  NAME
========  =====  ====================================  =  ============
1         -      root                                  1  System 
                                                          Registry
2          +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 10
                                                          System
                                                          Software
3          +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified 
                                                          Software
4          -     95842091-725a-8501-ef29-0472985982be  1  ExampleSoft
233         .    90209809-9785-b89e-c821-0472985982be  1  Example Doc
234         .    EXSOzzt                               1
235         .    EXSOblob                              1  Example Data

ExampleSoft 的子组件 EXSOzztNAME 字段中没有相应的项。ExampleSoft 软件可能遭到破坏。可以使用带有 -u-i-d 选项的 prodreg info 命令来确定 ExampleSoft 软件是否遭到破坏。


% prodreg info -u 95842091-725a-8501-ef29-0472985982be -i 1 -d
 
isDamaged=TRUE

所输出的 isDamaged=TRUE 指示 ExampleSoft 软件遭到破坏。可以使用 prodreg info 命令的 -a PKGS 选项来标识 ExampleSoft 软件包。


% prodreg info 
     -u 95842091-725a-8501-ef29-0472985982be 
     -i 1 -a PKGS 
pkgs: 
EXSOzzt EXSOblob

要检验 EXSOzztEXSOblob 软件包是否安装在系统上,可以使用 pkginfo 命令。


% pkginfo EXSOzzt 
ERROR: information for "EXSOzzt" was not found 

% pkginfo EXSOblob
application EXSOblob       Example Data

pkginfo 命令的输出指示 EXSOzzt 软件包未安装在系统上,这说明 ExampleSoft 软件遭到破坏。


Procedure如何卸载软件 (prodreg)

可以使用 prodreg 命令的 uninstall 子命令来从系统中删除软件。在使用 prodreg uninstall 命令卸载软件时,会同时删除指定的软件以及与该软件相关的所有子组件。在删除软件之前,检验其他软件是否依赖要卸载的软件。请参见如何检查软件相关性 (prodreg)

在卸载软件之后,可以使用 prodreg unregister -r 命令从 Oracle Solaris 产品注册表中删除该软件及其所有的子组件。

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 查看有关要卸载的软件的信息。


    # prodreg browse -u name-UUID
    
  3. 卸载该软件。


    # prodreg uninstall -u name-UUID 
    
  4. 检查要卸载的软件的相关性。


    # prodreg info -u name-UUID
    

    prodreg info 命令的输出中查看以下信息。

    • Child Components(子组件)-列出与 name 软件组件相关的软件组件。在注销 name 软件时,还会同时注销 name 软件的子组件。如果上述 prodreg info 命令的输出中列出了任何子组件,请检验是否要注销这些子组件。

    • Required Components(必需组件)-列出 name 软件组件所必需的软件组件。软件组件可能需要的其他组件并不是子组件。在卸载和注销某个组件时,将只卸载和注销子组件。

    • Dependent Components(依赖组件)-列出要求运行 name 软件的组件。在注销 name 软件时,还会同时注销 name 软件的依赖组件。如果 prodreg info 命令的输出中列出了任何依赖组件,请检验是否要注销这些依赖组件。

    在前面的样例输出中,name 软件没有任何依赖组件。

  5. 检查 name 软件的子组件的相关性。


    # prodreg info -u component-a-UUID -i l -a "Dependent Components"
    

    样例输出表明,没有依赖 name 软件的子组件的其他软件。

  6. 注销软件及其子组件。


    # prodreg unregister -r -u name-UUID -i 1
    
    -r

    以递归方式注销具有唯一标识符 name-UUID 的软件以及该软件的所有子组件。

    -u name-UUID

    指定要注销的软件的唯一标识符。

    -i 1

    指定要注销的软件的实例。


示例 21–9 卸载软件组件 (prodreg)

下面的示例演示如何卸载 ExampleSoft 软件及其所有的子组件。


# prodreg browse -m "ExampleSoft"
BROWSE #  +/-/.  UUID                                  #  NAME
========  =====  ====================================  =  ============
1         -      root                                  1  System 
                                                          Registry
2          +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 10
                                                          System
                                                          Software
3          +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified 
                                                          Software
1423       -     95842091-725a-8501-ef29-0472985982be  1  ExampleSoft
1436        .    90209809-9785-b89e-c821-0472985982be  1  Example Doc
1437        -    EXSOzzt                               1  Example Data
1462         .   EXSOblob                              1  Example Data

# prodreg uninstall -u 95842091-725a-8501-ef29-0472985982be -i 1

# prodreg info -u 95842091-725a-8501-ef29-0472985982be
Title: ExampleSoft Software
.
.
.
Child Components:
Name                        UUID                                  #
--------------------------  ------------------------------------  -
Example Doc                 90209809-9785-b89e-c821-0472985982be  1
Example Data                EXSOzzt                               1

Required Components:
Name                        UUID                                  #
--------------------------  ------------------------------------  -
Example Doc                 90209809-9785-b89e-c821-0472985982be  1
Example Data                EXSOzzt                               1

# prodreg info -u 90209809-9785-b89e-c821-0472985982be -i 1 
    -a "Dependent Components"
Dependent Components:
Name                         UUID                                  #
---------------------------  ------------------------------------  -
ExampleSoft                  95842091-725a-8501-ef29-0472985982be  1

# prodreg info -u EXSOzzt -i 1 -a "Dependent Components"
Dependent Components:
Name                         UUID                                  #
---------------------------  ------------------------------------  -
ExampleSoft                  95842091-725a-8501-ef29-0472985982be  1

# prodreg info -u EXSOblob -i 1 -a "Dependent Components"
Dependent Components:
Name                         UUID                                  #
---------------------------  ------------------------------------  -
Example Data                 EXSOzzt                               1

# prodreg unregister -r -u 95842091-725a-8501-ef29-0472985982be -i 1

Procedure如何卸载遭到破坏的软件 (prodreg)

如果尝试使用 prodreg uninstall 命令来卸载遭到破坏的软件,该命令可能会失败。如果软件组件的卸载程序已从系统中删除,则该命令可能会失败。

请按下列步骤卸载系统上没有相关卸载程序的软件组件。

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 查看有关要卸载的软件的信息。


    # prodreg browse -m "name"
    
  3. 卸载该软件。


    # prodreg uninstall -u UUID -i 1
    
  4. 标识软件组件的卸载程序。


    # prodreg info -m "name" -a uninstallprogram
    
  5. 确定卸载程序是否位于注册位置中。


    # ls uninstaller-location uninstaller-location
    
  6. 可通过下列方法之一从系统中删除软件:

    • 如果系统上有备份,请执行以下步骤:

      1. 从备份中装入卸载程序。

      2. 从 shell 命令行界面(如终端窗口)运行卸载程序。

    • 如果无权访问备份中的卸载程序,请执行以下步骤:

      1. 注销软件组件。


        # prodreg unregister -u UUID -i 1
        
      2. 删除要卸载的软件所必需的任何其余注册组件。


        # pkgrm component-a-UUID
        

示例 21–10 卸载遭到破坏的软件 (prodreg)

下面的示例演示如何卸载遭到破坏的 ExampleSoft 软件。在本示例中,卸载程序不易于从系统备份中访问。


# prodreg browse -m Examplesoft
BROWSE #  +/-/.  UUID                                  #  NAME
========  =====  ====================================  =  ============
1         -      root                                  1  System 
                                                          Registry
2          +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 10 
                                                          System
                                                          Software
3          +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified 
                                                          Software
4          -     95842091-725a-8501-ef29-0472985982be  1  ExampleSoft
233         .    90209809-9785-b89e-c821-0472985982be  1  Example Doc
234         .    EXSOzzt                               1
235         .    EXSOblob                              1  Example Data

# prodreg uninstall -u 95842091-725a-8501-ef29-0472985982be -i 1
The install program requested could not be found

# prodreg info -m "ExampleSoft" -a uninstallprogram
uninstallprogram: /usr/bin/java -mx64m -classpath 
/var/sadm/prod/org.example.ExampleSoft/987573587 uninstall_ExampleSoft

# ls /var/sadm/prod/org.example.ExampleSoft/987573587
/var/sadm/prod/org.example.ExampleSoft/987573587:
No such file or directory

# prodreg unregister -u 95842091-725a-8501-ef29-0472985982be -i 1

# pkgrm EXSOblob

Procedure如何重新安装遭到破坏的软件组件 (prodreg)

如果其他软件依赖遭到破坏的软件组件,您可能希望重新安装遭到破坏的组件,而不是卸载该组件和依赖它的软件。可以使用带有 -f 选项的 prodreg unregister 命令来强制注销遭到破坏的组件,然后重新安装该组件。

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 查看有关要重新安装的软件的信息。


    # prodreg browse -m "name"
    
  3. 标识依赖要重新安装的软件的软件。


    # prodreg info -m "name" -a "Dependent Components"
    
  4. 注销要重新安装的软件组件。


    # prodreg unregister -f -u UUID
     
    
  5. 重新安装该软件组件。


    # /usr/bin/java -cp /usr/installers/installer
    

    installer 选项指定 name 软件的安装程序的名称。


示例 21–11 重新安装遭到破坏的软件组件 (prodreg)

下面的示例演示如何重新安装遭到破坏的软件组件 ComponentSoft,而不注销或卸载依赖组件 ExampleSoft。


# prodreg browse -m "ComponentSoft"
BROWSE #  +/-/.  UUID                                  #  NAME
========  =====  ====================================  =  ============
1         -      root                                  1  System 
                                                          Registry
2          +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 10
                                                          System
                                                          Software
3          +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified 
                                                          Software
4           .    86758449-554a-6531-fe90-4352678362fe  1  ComponentSoft

# prodreg info -m "ComponentSoft" -a "Dependent Components"
Dependent Components:
Name                         UUID                                  #
---------------------------  ------------------------------------  -
ExampleSoft                  95842091-725a-8501-ef29-0472985982be  1

# prodreg unregister -f -u 86758449-554a-6531-fe90-4352678362fe -i 1

# /usr/bin/java -cp /usr/installers/org.example.componentsoft