JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:基本管理     Oracle Solaris 10 1/13 Information Library (简体中文)
search filter icon
search icon

文档信息

关于本书

1.  Oracle Solaris 管理工具(任务列表)

2.  使用 Solaris Management Console(任务)

3.  使用 Oracle Java Web Console(任务)

4.  管理用户帐户和组(概述)

5.  管理用户帐户和组(任务)

6.  管理客户机/服务器支持(概述)

7.  管理无盘客户机(任务)

8.  关闭和引导系统简介

9.  关闭和引导系统(概述)

10.  关闭系统(任务)

11.  修改 Oracle Solaris 引导行为(任务)

12.  引导 Oracle Solaris 系统(任务)

13.  管理 Oracle Solaris 引导归档文件(任务)

14.  Oracle Solaris 系统引导的故障排除(任务)

15.  x86: 基于 GRUB 的引导(参考)

16.  x86: 引导未实现 GRUB 的系统(任务)

17.  使用 Oracle Configuration Manager

18.  管理服务(概述)

19.  管理服务(任务)

20.  管理软件(概述)

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

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

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

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

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

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

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

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

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

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

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

如何查看软件属性 (prodreg)

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

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

如何卸载软件 (prodreg)

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

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

22.  使用 Oracle Solaris 软件包命令管理软件(任务)

23.  管理修补程序

A.  SMF 服务

索引

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

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

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

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

如何查看有关已安装或已卸载软件的信息 (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

如何查看软件属性 (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

如何检查软件相关性 (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"
    -m "name"

    显示名为 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

如何标识遭到破坏的软件产品 (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 软件遭到破坏。

如何卸载软件 (prodreg)

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

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

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"

  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

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

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

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

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"

  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

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

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

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有特权的命令。有关角色的更多信息,请参见《System Administration Guide: Security Services》中的"Configuring RBAC (Task Map)"

  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