The prodreg command is the command-line interface (CLI) to the Solaris Product Registry. The prodreg command supports several subcommands that enable you to manage the software on your system.
You can use the prodreg command in a terminal window to perform the following tasks:
View a list of installed and registered software and software attributes.
View all Solaris system products that you installed in their localized version in the System Software Localizations directory.
Identify damaged software.
Remove software entries from the Solaris Product Registry.
Uninstall software and individual software packages.
For more information on how to manage the Solaris Product Registry by using the command-line interface, see the prodreg(1M) man page.
You can view information about software in the Solaris Product Registry in a terminal window by using the browse subcommand to the prodreg command.
Open a terminal window.
Browse the Solaris Product Registry.
% prodreg browse BROWSE # +/-/. UUID # NAME ======== ===== ==================================== = ============ 1 - root 1 System Registry 2 + a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b 1 Solaris 11 System Software 3 + 8f64eabf-1dd2-11b2-a3f1-0800209a5b6b 1 Unclassified Software |
The browse subcommand to the prodreg command displays the following information about registered software.
When you use the prodreg browse command, the Solaris Product Registry generates a browse number for each registered software component. This number can be used as an argument to either the prodreg browse command or the info subcommand to descend the hierarchy of specific registered components.
Browse numbers might change when you reboot or reinstall your system. Do not store browse numbers in scripts or attempt to reuse them between separate login sessions.
This field indicates if a software component has additional software component children registered in the Solaris Product Registry.
The following characters are displayed in this field:
+ indicates that the software component has additional children components that are not currently displayed.
- indicates that the software component has additional children components that are currently displayed.
. indicates that the software component does not have children components.
This field lists the software's unique identifier in the Solaris Product Registry.
This field indicates the instance number of the software component on the system. If the system contains multiple instances of a software component, the Solaris Product Registry assigns a separate instance number to each instance of the component.
This field lists the localized name of the software. The name of the Solaris OS in this sample output is the Solaris 10 system software.
Browse the information for one of the software components that are listed in the Solaris Product Registry.
% prodreg browse -m "name" |
The -m “name” command displays information on the software component with the name name.
If the system contains multiple instances of name software, type the following command to browse the Solaris Product Registry:
% prodreg browse -u name-UUID -i instance -n number |
Displays information on the name software component with the unique identifier name-UUID.
Displays information on the name software component with the instance number instance.
Displays software information by referencing the component's browse number number.
Repeat Step 3 and Step 4 for each software component that you want to browse.
The following example shows how to view software information by referencing the component's name.
% 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" |
The following example shows how to use the -n option with the prodreg browse command to view software information by referencing the component's browse number.
% 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 |
The following example shows how to use the -u option with the prodreg browse command to view software information by referencing the component's UUID. The UUID is the software's unique identifier in the Solaris Product Registry.
% 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 |
You can view specific software attributes by using the info subcommand of the prodreg command.
The prodreg info command displays a variety of information about registered software, including the following items:
Software component name
Software component description
Required components of the software
Other components that require the software
Base directory of the software
Path to the software component
Open a terminal window.
Browse the Solaris Product Registry.
% 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 |
View the attributes for one of the listed software components.
% prodreg info -m "name" |
The -m “name” command displays the attributes of the software component with the name name.
Repeat Step 3 for each software component you want to view.
The following example shows how to view software attributes by referencing the component's name.
% 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" |
The following example shows how to use the -n option with the prodreg info command to view software attributes by referencing the component's browse number.
% 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 |
The following example shows how to use the -u option with the prodreg info command to view software attributes by referencing the component's UUID. The UUID is the software's unique identifier in the Solaris Product Registry.
% 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 |
You can use the prodreg info command to view components that depend on a specific software component. You might want to check dependencies between software products before you uninstall specific components.
Open a terminal window.
Browse the Solaris Product Registry.
% 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 |
Repeat the prodreg browse command until the software component you want to check is displayed. See How to View Installed or Uninstalled Software Information (prodreg) for more information on browsing the Solaris Product Registry by using the prodreg browse command.
View the dependencies of a specific software component.
% prodreg info -m "name" -a "Dependent Components" |
Displays the attributes of the software component with the name name.
Displays components that depend on name software by displaying the values of the Dependent Components attribute.
This command output lists the software components that depend on name software.
The following example shows how to view the components that depend on the software product that is named ExampleSoft.
% prodreg -m "ExampleSoft" -a "Dependent Components" Dependent Components: Name UUID # --------------------------- ------------------------------------ - ExampleSoftA 7f49ecvb-1ii2-11b2-a3f1-0800119u7e8e 1 |
If you remove installed software files or packages without using the appropriate uninstaller, you can damage the software on your system. If software is damaged, the software might not function properly. You can use the info subcommand of the prodreg command to help you determine if a software product is damaged.
View the Solaris Product Registry information on the software you want to check.
% prodreg browse -m name 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 - name-UUID 1 name 233 . component-a-pkg 1 component-a 234 . component-b-pkg 1 |
Displays information on the software component with the name name.
Specifies the UUID of the name software component.
Specifies the package name of the component-a component that depends on name software.
Specifies the name of a component that depends on name software.
Specifies the package name of the component-b component that depends on name software.
In the previous sample output, the component-b-pkg entry does not have an associated name in the Name field. If a software component name is not displayed in the Solaris Product Registry, the component might be damaged.
Verify that the software component is damaged.
% prodreg info -u name-UUID -i 1 -d isDamaged=TRUE |
Displays information on the name software component.
Displays information on the first instance of the name software component.
Displays the value of the isDamaged attribute of the name software component.
The output isDamaged=TRUE indicates that the name software component is damaged.
Identify the packages that form the name-UUID software component.
% prodreg info -u name-UUID -i 1 -a PKGS pkgs: component-a-pkg component-b-pkg |
Verify that these packages are installed on the system.
% pkginfo component-a-pkg application component-a-pkg component-a % pkginfo component-b-pkg ERROR: information on "component-b-pkg" was not found |
The error message output of the pkginfo component-b-pkg command indicates that the component-b-pkg package has been removed from the system. The name software component might not work without the component-b-pkg package.
The following example shows how to determine if the ExampleSoft software component is damaged.
% 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 |
The ExampleSoft child component EXSOzzt does not have an entry in the NAME field. The ExampleSoft software might be damaged. You would use the prodreg info command with the -u, -i, and -d options to determine if the ExampleSoft software is damaged.
% prodreg info -u 95842091-725a-8501-ef29-0472985982be -i 1 -d isDamaged=TRUE |
The output isDamaged=TRUE indicates that the ExampleSoft software is damaged. You would use the -a PKGS option of the prodreg info command to identify the ExampleSoft software packages.
% prodreg info -u 95842091-725a-8501-ef29-0472985982be -i 1 -a PKGS pkgs: EXSOzzt EXSOblob |
To verify that the EXSOzzt and EXSOblob packages are installed on the system, you would use the pkginfo command.
% pkginfo EXSOzzt ERROR: information for "EXSOzzt" was not found % pkginfo EXSOblob application EXSOblob Example Data |
The output of the pkginfo command indicates that the EXSOzzt package is not installed on the system. Thus, the ExampleSoft software is damaged.
You can use the uninstall subcommand of the prodreg command to remove software from your system. When you uninstall software by using the prodreg uninstall command, you remove a specified software and all the child components associated with that software. Before you remove software, verify that other software does not depend on the software you want to uninstall. See How to Check for Software Dependencies (prodreg).
After you uninstall software, you can remove that software and all the child components of that software from the Solaris Product Registry by using the prodreg unregister -r command.
Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
View the information on the software you want to uninstall.
# prodreg browse -u name-UUID 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 - name-UUID 1 name 1436 . component-a-UUID 1 component-a 1437 - component-b-UUID 1 component-b 1462 . component-c-UUID 1 component-c |
Displays information on the software component with the unique identifier name-UUID.
Specifies the name of the software component you want to uninstall with the unique identifier name-UUID.
Specifies the unique identifier of the component-a software component that is required by name software.
Specifies the name of a component that is required by name software.
Specifies the unique identifier of the component-b component that is required by name software. The - symbol indicates that component-b requires an additional software component.
Specifies the name of a software component that is required by name software.
Specifies the unique identifier of the component-b software component that is required by component-b software.
Specifies the name of a software component that is required by component-b software.
Uninstall the software.
# prodreg uninstall -u name-UUID |
Check the dependencies for the software that you want to uninstall.
# prodreg info -u name-UUID Title: name . . . Child Components: Name UUID # -------------------------- ------------------------------------ - component-a component-a-UUID 1 component-b component-b-UUID 1 Required Components: Name UUID # -------------------------- ------------------------------------ - component-a component-a-UUID 1 component-b component-b-UUID 1 |
Check the following information in the output of the prodreg info command.
Child Components – Lists the software components that are associated with the name software component. When you unregister the name software, you also unregister the child components of name software. If the output of the previous prodreg info command lists any child components, verify that you want to unregister these child components.
Required Components – Lists the software components that are required by the name software component. Software components might require other components that are not child components. When you uninstall and unregister a component, only child components are unregistered and uninstalled.
Dependent Components – Lists the components that require name software to run. When you unregister the name software, you also unregister the dependent components of name software. If the output of the prodreg info command lists any dependent components, verify that you want to unregister these dependent components.
In the previous sample output, name software does not have any dependent components.
Check the dependencies of name software's child components.
# prodreg info -u component-a-UUID -i 1 -a "Dependent Components" Dependent Components: Name UUID # --------------------------- ------------------------------------ - name name-UUID 1 # prodreg info -u component-b-UUID -i 1 -a "Dependent Components" Dependent Components: Name UUID # --------------------------- ------------------------------------ - name name-UUID 1 # prodreg info -u component-c-UUID -i 1 -a "Dependent Components" Dependent Components: Name UUID # --------------------------- ------------------------------------ - component-b component-b-UUID 1 |
The sample output shows that no other software depends on the child components of name software.
Unregister the software and its child components.
# prodreg unregister -r -u name-UUID -i 1 |
Recursively unregisters software with the unique identifier name-UUID and all the child components of this software.
Specifies the unique identifier of the software you want to unregister.
Specifies the instance of the software you want to unregister.
The following example shows how to uninstall ExampleSoft software and all the child components of ExampleSoft software.
# 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 |
If you try to uninstall a damaged software component by using the prodreg uninstall command, the command might fail. This failure can occur if the uninstaller program for the software component has been removed from the system.
Follow these steps to uninstall a software component with no associated uninstaller program on the system.
Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
View the information on the software you want to uninstall.
# prodreg browse -m "name" 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 - UUID 1 name 1436 . component-a-UUID 1 component-a 1437 . component-b-UUID 1 |
Displays information on the name software component you want to uninstall.
Specifies the UUID of the software component you want to uninstall.
Specifies the UUID of the component-a software component.
Specifies the name of a child software component of name software.
Specifies the UUID of a child software component of name software.
The component-b-UUID entry does not have an associated component name. The missing name value might indicate that this component is damaged.
Uninstall the software.
# prodreg uninstall -u UUID -i 1 The install program requested could not be found |
Specifies the UUID of the software component you want to uninstall.
Specifies the instance of the software you want to uninstall.
The error message indicates that the uninstaller program is not on the system.
Identify the uninstaller program for the software component.
# prodreg info -m "name" -a uninstallprogram uninstallprogram: /usr/bin/java -mx64m -classpath uninstaller-location uninstall_name |
Displays information on the name software component.
Displays information on the uninstaller program that is associated with the name software component.
Specifies the registered location of the uninstaller program for the name software component.
Determine if the uninstaller is in the registered location.
# ls uninstaller-location uninstaller-location: No such file or directory |
The output of the ls command indicates that the uninstaller program is not in the registered location.
Remove the software from the system in one of the following ways:
The following example shows how to uninstall the damaged ExampleSoft software. In this example, the uninstaller program is not readily available on a system backup.
# 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 |
If other software depends on a damaged software component, you might want to reinstall the damaged component, rather than uninstall the component and the other dependent software. You can use the -f option with the prodreg unregister command to forcibly the unregister the damaged component. Then, you can reinstall the component.
Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
View the information on the software you want to reinstall.
# prodreg browse -m "name" 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 . UUID 1 name |
Displays information on the name software component you want to reinstall.
Specifies the UUID of the software component you want to reinstall.
Identify the software that depends on the software you want to reinstall.
# prodreg info -m "name" -a "Dependent Components" Dependent Components: Name UUID # --------------------------- ------------------------------------ - component-a component-a-UUID 1 |
Specifies the name of the software component you want to reinstall.
Displays the components that depend on name software.
Specifies the name of a software component that depends on name software.
Specifies the UUID of the component-a software component.
The component-a software component depends on the software you want to reinstall. To reinstall name software and not unregister component-a, you must forcibly unregister the name software, then reinstall name software.
Unregister the software component you want to reinstall.
# prodreg unregister -f -u UUID |
Reinstall the software component.
# /usr/bin/java -cp /usr/installers/installer |
The installer option specifies the name of the installer program for name software.
The following example shows how to reinstall the damaged software component ComponentSoft without unregistering or uninstalling the dependent component 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 |