pkgrm error "unable to determine current run-state" when uninstalling Veritas packages

Article: 100007451
Last Published: 2011-12-01
Ratings: 0 0
Product(s): InfoScale & Storage Foundation

Problem

The system concerned had log rotation in place, which involved moving the /var/adm/utmpx file. This contains information on the current system state, including run level. When the file has been moved, an attempt to remove a Veritas product can fail.

Error Message

pkgrm: ERROR: unable to determine current run-state

Removal of <VRTSpackagename> failed (internal error).
No changes were made to the system.

Cause

On Solaris, Veritas uninstall scripts call OS pkgrm package removal utility to facilitate the removal of packages in a consistent manner. Some packages can only be safely removed when the system is at one of a predefined set of run levels. The package contains information in the form of an RSTATES flag along with the specific run levels where the package can be removed.

If pkgrm is asked to remove a package which contains an RSTATES flag, it checks the current system run level and compares it to the list of allowed run levels for package removal. If there is a match, package removal proceeds. If there is no match or if pkgrm is unable to check the current system run level, package removal is inhibited.

If pkgrm is asked to remove a package which does not contain an RSTATES flag, the current system run level is not checked. Therefore, the presence of a valid /var/adm/utmpx file (or lack, thereof) has no effect on the package removal process.

Solution

Workaround: If run level 4 has not been defined, change run level to 4 and then back to 3 using the init command. This causes a new /var/adm/utmpx file to be generated. Alternatively, a reboot will ensure the file is recreated.

 

Applies To

Solaris 10

 

Was this content helpful?