跳过导航链接 | |
退出打印视图 | |
系统管理指南:基本管理 Oracle Solaris 10 8/11 Information Library (简体中文) |
2. 使用 Solaris Management Console(任务)
3. 使用 Oracle Java Web Console(任务)
11. 修改 Oracle Solaris 引导行为(任务)
13. 管理 Oracle Solaris 引导归档文件(任务)
14. Oracle Solaris 系统引导的故障排除(任务)
17. 使用 Oracle Solaris 自动注册的 regadm 命令(任务)
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 产品注册表命令行界面管理软件(任务列表)
prodreg 命令是 Oracle Solaris 产品注册表的命令行界面 (command-line interface, CLI)。prodreg 命令支持几个允许您管理系统上软件的子命令。
可以在终端窗口中使用 prodreg 命令来执行下列任务:
查看已安装和已注册软件的列表以及软件的属性。
查看已在 "System Software Localizations" 目录中安装的所有本地化版本的 Oracle Solaris 系统产品。
标识遭到破坏的软件。
从 Oracle Solaris 产品注册表中删除软件项。
卸载软件和个别软件包。
有关如何使用命令行界面来管理 Oracle Solaris 产品注册表的更多信息,请参见 prodreg(1M) 手册页。
可以使用 prodreg 命令的 browse 子命令,在终端窗口中的 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 browse 命令或 info 子命令的参数,可向下派生已注册的特定组件的分层结构。
注 - 在重新引导或重新安装系统时,浏览编号可能会变化。不要将浏览编号存储在脚本中,也不要尝试在不同的登录会话中重新使用它们。
此字段指示软件组件是否具有其他子软件组件并已在 Oracle Solaris 产品注册表中注册。
此字段中显示下列字符:
+ 指示软件组件具有当前未显示出来的其他子组件。
- 指示软件组件具有当前显示出来的其他子组件。
. 指示软件组件没有子组件。
此字段列出软件在 Oracle Solaris 产品注册表中的唯一标识符。
此字段指示系统上软件组件的实例编号。如果系统中包含某个软件组件的多个实例,则 Oracle Solaris 产品注册表会为该组件的每个实例都指定一个单独的实例编号。
此字段列出软件的本地化名称。在此样例输出中,Oracle Solaris OS 的名称是 Oracle Solaris 10 系统软件。
% prodreg browse -m "name"
-m "name" 命令可显示有关名为 name 的软件组件的信息。
% prodreg browse -u name-UUID -i instance -n number
显示有关具有唯一标识符 name-UUID 的 name 软件组件的信息。
显示有关具有实例编号 instance 的 name 软件组件的信息。
通过引用组件的浏览编号 number 来显示软件信息。
示例 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 命令的 info 子命令来查看特定的软件属性。
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 -m "name"
-m "name" 命令可显示名为 name 的软件组件的属性。
示例 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 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 browse 命令,直到显示出要检查的软件组件。有关使用 prodreg browse 命令来浏览 Oracle Solaris 产品注册表的更多信息,请参见 如何查看有关已安装或已卸载软件的信息 (prodreg)。
% prodreg info -m "name" -a "Dependent Components"
显示名为 name 的软件组件的属性。
通过显示 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 命令的 info 子命令来帮助确定软件产品是否遭到破坏。
% prodreg browse -m name
% prodreg info -u name-UUID -i 1 -d
% prodreg info -u name-UUID -i 1 -a PKGS
此命令的输出可能有多页。
% 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 的子组件 EXSOzzt 在 NAME 字段中没有相应的项。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
要检验 EXSOzzt 和 EXSOblob 软件包是否安装在系统上,可以使用 pkginfo 命令。
% pkginfo EXSOzzt ERROR: information for "EXSOzzt" was not found % pkginfo EXSOblob application EXSOblob Example Data
pkginfo 命令的输出指示 EXSOzzt 软件包未安装在系统上,这说明 ExampleSoft 软件遭到破坏。
可以使用 prodreg 命令的 uninstall 子命令来从系统中删除软件。在使用 prodreg uninstall 命令卸载软件时,会同时删除指定的软件以及与该软件相关的所有子组件。在删除软件之前,检验其他软件是否依赖要卸载的软件。请参见如何检查软件相关性 (prodreg)。
在卸载软件之后,可以使用 prodreg unregister -r 命令从 Oracle Solaris 产品注册表中删除该软件及其所有的子组件。
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
# prodreg browse -u name-UUID
# prodreg uninstall -u name-UUID
# 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 软件没有任何依赖组件。
# prodreg info -u component-a-UUID -i l -a "Dependent Components"
样例输出表明,没有依赖 name 软件的子组件的其他软件。
# prodreg unregister -r -u name-UUID -i 1
以递归方式注销具有唯一标识符 name-UUID 的软件以及该软件的所有子组件。
指定要注销的软件的唯一标识符。
指定要注销的软件的实例。
示例 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 uninstall 命令来卸载遭到破坏的软件,该命令可能会失败。如果软件组件的卸载程序已从系统中删除,则该命令可能会失败。
请按下列步骤卸载系统上没有相关卸载程序的软件组件。
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
# prodreg browse -m "name"
# prodreg uninstall -u UUID -i 1
# prodreg info -m "name" -a uninstallprogram
# ls uninstaller-location uninstaller-location
# prodreg unregister -u UUID -i 1
# 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
如果其他软件依赖遭到破坏的软件组件,您可能希望重新安装遭到破坏的组件,而不是卸载该组件和依赖它的软件。可以使用带有 -f 选项的 prodreg unregister 命令来强制注销遭到破坏的组件,然后重新安装该组件。
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
# prodreg browse -m "name"
# prodreg info -m "name" -a "Dependent Components"
# prodreg unregister -f -u UUID
# /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