系统管理指南:基本管理

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 软件遭到破坏。