Advertisements

insserv: warning: script missing LSB tags and overrides | insserv: Stopping depends on and therefore on system facility `$all’ which can not be true!

When trying to enable xinetd to start on boot, insserv was throwing error message and not enabling it.

root@linux:~ # chkconfig –list xinetd
xinetd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

root@linux:~ # chkconfig xinetd on
insserv: warning: script ‘K02OVTrcSrv’ missing LSB tags and overrides
insserv: warning: script ‘OVTrcSrv’ missing LSB tags and overrides
insserv: warning: script ‘esmrc’ missing LSB tags and overrides
insserv: Default-Start undefined, assuming default start runlevel(s) for script `esmrc’
insserv: There is a loop between service OVCtrl and esmrc if stopped
insserv: loop involving service esmrc at depth 2
insserv: loop involving service OVCtrl at depth 1
insserv: Stopping esmrc depends on OVCtrl and therefore on system facility `$all’ which can not be true!
insserv: exiting now without changing boot order!
/sbin/insserv failed, exit code 1

https://unix.stackexchange.com/questions/289667/unable-to-install-anything-using-apt-get-because-of-insserv

First of all, the problem is that you are stuck at the boot sequencing.

The boot sequencing method is decided during installation or upgrades. If there are no loops in the dependencies declared by the LSB headers of all installed init.d scripts and no obsolete scripts, the system is converted to dependency based boot sequence.

We have to check for

1. Loop in dependencies: Occurs when >
• There are missing LSB tags in some scripts or error in LSB tags like missing Required-Start: or Required-Stop: tags

• Some scripts depend on other scripts which depend on the system facility $all which cannot be true. Because the scripts depending on $all is loaded last at starting. Since it loads last, nothing can depend on it. Hence, messes up the dependency based boot sequence.

2. Obsolete scripts: Occur when

• Some packages being upgraded to newer versions which may not use a script in /etc/init.d/ and the maintainer may have missed the code to remove the old script. Not our mistake.

I edited file /etc/init.d/esmrc and added a LSB header after #!/bin/sh

root@linux:~ # vi /etc/init.d/esmrc
#!/bin/sh
### BEGIN INIT INFO
# Provides: esmrc
# Required-Start:
# Should-Start: $remote_fs $network $syslog
# Required-Stop:
# Should-Stop: $remote_fs $network $syslog
# Default-Start: 2 3 5
# Default-Stop: 0 1 4 6
# Short-Description : Enterprise Security Manager
# Description : Enterprise Security Manager (ESM) allows a computer to be
# monitored for compliance with security policy.
### END INIT INFO
#
# For HP-UX version 10.xx platforms the above line must be changed to
# ‘/sbin/sh’ by esmsetup and by the tune-up pack.
#
#*************************************************************************
###############################################################################
# Enterprise Security Manager (r)
###############################################################################

Advertisements
%d bloggers like this: