RHEL 8 (CentOS 8) - Rosetta do not start after server reboot / startup
- Product: Rosetta
- Product Version: 7.2+
Symptoms
- With RHEL 8 (CentOS 8), Rosetta do not start following server reboot / startup.
- Running 'systemctl start exlibris.service' might shows:
>> systemctl start exlibris.service
...
Job for exlibris.service failed because the control process exited with error code.
See "systemctl status exlibris.service" and "journalctl -xe" for details.
... - Running 'systemctl status exlibris.service' might shows:
>> systemctl status exlibris.service
exlibris.service - LSB: Startup ExLibris products + oracle
Loaded: loaded (/etc/rc.d/init.d/exlibris; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since ...
Docs: man:systemd-sysv-generator(8)
Process: 55522 ExecStart=/etc/rc.d/init.d/exlibris start (code=exited,status=203/EXEC)...
systemd[1]: exlibris.service: control process exited, code=exited status=1
systemd[1]: Failed to start LSB: Startup ExLibris products + oracle.systemd[1]: Unit exlibris.service entered failed state.
systemd[1]: exlibris.service failed.
Cause
Startup mechanism in RHEL/CentOS 8 was changed, causing current '/etc/rc.d/init.d/exlibris' startup script to fail.
Resolution
1. SSH as 'root' user.
2. Backup '/etc/rc.d/init.d/exlibris'.
3. Replace '/etc/rc.d/init.d/exlibris' content with the following:
#!/bin/bash
#
# Exlibris Starts ExLibris products
#
#
### BEGIN INIT INFO
# chkconfig: 2345 98 10
# description: Startup ExLibris products + oracle
# Provides: $exlibris
# Required-Start: $local_fs $network $remote_fs
### END INIT INFO
i=0
while [ $i -lt 10 ]
do
if [ -d /exlibris/startup/ ] ; then
cd /exlibris/startup/
break
else
echo "waiting for mount"
sleep 10
fi
i=$[$i+1]
done
if [ ! -d /exlibris/startup/ ] ; then
echo "/exlibris/startup not found"
exit 1
fi
cd /exlibris/startup
case "$1" in
'start')
if [ -f /exlibris/urm/ora_urm/ora_passwd_u1_1.new.lock ] ; then
rm -f /exlibris/urm/ora_urm/ora_passwd_u1_1.new.lock
fi
./start_stop start
[[ -d /var/lock/subsys ]] && touch /var/lock/subsys/exlibris
# Start the Microfocus development license manager
if [[ -x /etc/mflmrcscript ]] ; then
/etc/mflmrcscript
fi
;;
'stop')
if [ -f fast_shutdown ] ; then
csh -f fast_shutdown
else
./start_stop stop
fi
if [[ -x /opt/microfocus/mflmf/lmfgetpv ]] ; then
/opt/microfocus/mflmf/lmfgetpv k
fi
rm -f /var/lock/subsys/exlibris
;;
esac
4. Make sure to replace any '\r\n' with '\n' for 'exlibris' script:
perl -i -pe 's/\r\n/\n/' /etc/rc.d/init.d/exlibris
5. Grant 'exlibris' script the correct ownership ('root:root') and enough permissions (755):
chown root:root /etc/rc.d/init.d/exlibris
chmod 755 /etc/rc.d/init.d/exlibris
6. Stop then start Rosetta startup service:
systemctl stop exlibris.service
systemctl start exlibris.service
7. Repeat steps 1 - 6 for any other affected application server in the environment.
- Article last edited: 17-Aug-2022