IBM Support

CODIN0531E The db2fenc1 user name already exists on the system and cannot be used by the installer.

Technote (FAQ)


Question

CODIN0531E The db2fenc1 user name already exists on the system and
cannot be used by the installer.

Cause

The All-In-One ILMT installation on Linux server failed with the following error:
CODIN0531E The db2fenc1 user name already exists on the system and cannot be used by the installer.


The trace_servers.log captured the following information showing how it checked for db2fenc1 user ID.


<Message Id="CODIN0327I" Severity="INFO">
<Time Millis="1493672652792"> 2017-05-01 14:04:12.792-07:00</Time>
<Server Format="IP">hostname</Server>
<ProductId>COD</ProductId>
<Component>Install</Component>
<ProductInstance></ProductInstance>
<LogText><![CDATA[CODIN0327I Executing command [getent] [passwd] [db2fenc1] ]]></LogText>
<Source FileName="(null)" Method="execute"/>
<TranslationInfo Type="JAVA" Catalog="userLocales.InstallMessageEWI" MsgKey="details.exec.command"><Param><![CDATA[[getent] [passwd] [db2fenc1] ]]></Param></TranslationInfo>
<Principal></Principal>
</Message>

<Message Id="CODIN0329I" Severity="INFO">
<Time Millis="1493672653325"> 2017-05-01 14:04:13.325-07:00</Time>
<Server Format="IP">hostname</Server>
<ProductId>COD</ProductId>
<Component>Install</Component>
<ProductInstance></ProductInstance>
<LogText><![CDATA[CODIN0329I The command completed with the return code 0 ]]></LogText>
<Source FileName="(null)" Method="execute"/>
<TranslationInfo Type="JAVA" Catalog="userLocales.InstallMessageEWI" MsgKey="details.exec.completed"><Param><![CDATA[0]]></Param></TranslationInfo>
<Principal></Principal>
</Message>

<Message Id="CODIN0330I" Severity="INFO">
<Time Millis="1493672653325"> 2017-05-01 14:04:13.325-07:00</Time>
<Server Format="IP">hostname</Server>
<ProductId>COD</ProductId>
<Component>Install</Component>
<ProductInstance></ProductInstance>
<LogText><![CDATA[CODIN0330I Standard output: db2fenc1:x:13911:13911:EAS # 289328-Ritesh Yannamani:/opt/local/db2fenc1/home:/bin/sh ]]></LogText>
<Source FileName="(null)" Method="execute"/>
<TranslationInfo Type="JAVA" Catalog="userLocales.InstallMessageEWI" MsgKey="details.exec.stdout"><Param><![CDATA[db2fenc1:x:13911:13911:EAS # 289328-Ritesh Yannamani:/opt/local/db2fenc1/home:/bin/sh]]></Param></TranslationInfo>
<Principal></Principal>
</Message>

<Message Id="CODIN0531E" Severity="ERROR">
<Time Millis="1493672653327"> 2017-05-01 14:04:13.327-07:00</Time>
<Server Format="IP">hostname</Server>
<ProductId>COD</ProductId>
<Component>Install</Component>
<ProductInstance></ProductInstance>
<LogText><![CDATA[CODIN0531E The db2fenc1 user name already exists on the system and cannot be used by the installer.]]></LogText>
<Source FileName="com.ibm.license.mgmt.install.ia.common.PrereqCheckCommon" Method="entityDoesNotExist"/>
<TranslationInfo Type="JAVA" Catalog="userLocales.InstallMessageEWI" MsgKey="prereqcheck.user.exists"><Param><![CDATA[db2fenc1]]></Param></TranslationInfo>
<Principal></Principal>
</Message>


=================

The Server.log also captured similar information as well:



2017:05:01-02:04:12 - dbg - com.ibm.license.mgmt.install.ia.util.ExecuteCmd.execute - Executing command: [getent] [passwd] [db2fenc1]
2017:05:01-02:04:12 - dbg - com.ibm.license.mgmt.install.ia.util.ExecuteCmd.waitFor - timeot = 0 means wait indefinitely
2017:05:01-02:04:13 - dbg - com.ibm.license.mgmt.install.ia.util.ExecuteCmd.logResult - Command completed --------------------------
2017:05:01-02:04:13 - dbg - com.ibm.license.mgmt.install.ia.util.ExecuteCmd.logResult - return Code 0
2017:05:01-02:04:13 - dbg - com.ibm.license.mgmt.install.ia.util.ExecuteCmd.logResult - Stdout db2fenc1:x:13911:13911:EAS # 289328-Ritesh Yannamani:/opt/local/db2fenc1/home:/bin/sh
2017:05:01-02:04:13 - dbg - com.ibm.license.mgmt.install.ia.util.ExecuteCmd.logResult - Stderr
2017:05:01-02:04:13 - dbg - com.ibm.license.mgmt.install.ia.util.ExecuteCmd.logResult - --------------------------------------------
2017:05:01-02:04:13 - err - com.ibm.license.mgmt.install.ia.common.PrereqCheckCommon.entityDoesNotExist - User/group exists db2fenc1
2017:05:01-02:04:13 - dbg - com.ibm.license.mgmt.install.ia.common.PrereqCheckCommon.entityDoesNotExist - end with false
2017:05:01-02:04:13 - dbg - com.ibm.license.mgmt.install.ia.common.PrereqCheckCommon.userDoesNotExist - end with false


Answer

A few extra items to check and to ensure there is definitely no DB2 related information found on this Linux server:


1) Does this /opt/ibm/db2/ or /opt/IBM/db2/V10.5 directory exist?  If it does, what is inside?

2) Verify any DB2 user ID information created inside /etc/passwd file.  Check outputs of "grep -i "db2" /etc/passwd" command.
 
3) Verify any DB2 services defined inside /etc/services file.  Check outputs of "grep -i "db2" /etc/services" command.

4) Review the outputs of these two scripts below to ensure no DB2 is found.

ILMTinstaller/tools/checkdb2.sh script.
ILMTinstaller/prereq/db2/server/db2ls.sh script

5) Try doing these commands below to remove any DB2 related information:

groupdel db2fadm1
groupdel db2iadm1
userdel db2inst1
userdel db2fenc1
rm -r /var/db2
rm -r /home/db2fenc1
rm -r /opt/IBM/db2/V10.5

6) Lastly, run these getent OS commands below and check the results.  There should not return any results if no DB2 information is found.


 getent passwd db2fenc1
 
 getent passwd db2inst1
 
 getent group db2iadm1
 
 getent group db2fadm1
 
 getent services DB2_db2inst1
 
 getent services DB2_db2inst1_1
 
 getent services DB2_db2inst1_2
 
 getent services DB2_db2inst1_END
 
 getent services db2c_db2inst1


In this example using the information provided above from the trace_servers.log or Server.log and also confirmed NO DB2 installation has been done on this Linux server previously but the "getent passwd db2fenc1" command returned the following results:

db2fenc1:x:13911:13911:EAS # 289328-Test Server:/opt/local/db2fenc1/home:/bin/sh


The db2fenc1 user ID was a LDAP user and was found in the LDAP directory.  Executed this adquery command below to confirm:

adquery user db2fenc1


It returned the same results as follow:


db2fenc1:x:13911:13911:EAS # 289328-Test Server:/opt/local/db2fenc1/home:/bin/sh


If the Linux server is also connected to a LDAP directory, such command "getent passwd db2fenc1" will also query the LDAP directory as well.

To resolve this specific issue:

- Remove this LDAP user "db2fenc1" if it is not being used else where.

or

- If it can't be deleted, try adding this setting inside the
response.txt file with a different name instead of db2fenc1.  

 
RSP_DB2_INST_FENCED_USERNAME


Re-run the installer again using the response.txt file.



Important note:  Until the above db2fenc1 user ID is removed and no other DB2 related information existed on this Linux server, All-in-one installation won't work.  Even trying to install each components separately (ie, DB2 first, BigFix Server and ILMT) with db2fenc1 already existed, it won't work as well since the DB2 installation will not be fully installed.

Document information

More support for: IBM License Metric Tool

Software version: 9.2

Operating system(s): Linux

Reference #: 2003992

Modified date: 02 June 2017