PDA

View Full Version : What Appears to be a Service Issue



carnold6
22-Feb-2013, 22:58
SLES11 SP2. When installing a linux application (bin file), it chokes when it trys to install as a service. Here's the exact error:

Problem running post-install step. Installation may not complete correctly
Error running chkconfig --del alfresco : insserv: warning: script 'alfresco' missing LSB tags and overrides
insserv: warning: script 'alfresco' missing LSB tags and overrides
insserv: Default-Start undefined, assuming default start runlevel(s) for script `alfresco'
insserv: There is a loop between service RALUS and alfresco if stopped
insserv: loop involving service alfresco at depth 2
insserv: loop involving service RALUS at depth 1
insserv: Stopping alfresco depends on VRTSralus.init and therefore on system facility `$all' which can not be true!
insserv: loop involving service apache at depth 4
insserv: exiting now without changing boot order!
/sbin/insserv failed, exit code 1

I have confirmed the application installs and i can manually start it. When i try to chkconfig alfresco on, i get the same above error. So this tells me that it has something to do with the service, maybe run levels. I am not a linux guru and am hoping someone here can help me interpret what the above error(s). Not really worried about the LSB tags (unless someone has any insight on it). What i can discern from the above error is this, alfresco service has an issue with the RALUS and apache service? RALUS is the backup exec agent on the server and we all know what apache is. Why would the alfresco service have a problem with other services on the server?

What does "depth" 2 and 1 mean? Is that the run levels maybe? Any insight on this would be much appreciated

smflood
25-Feb-2013, 00:18
carnold6 wrote:

> SLES11 SP2. When installing a linux application (bin file), it chokes
> when it trys to install as a service. Here's the exact error:
>
> Code:
> --------------------
> Problem running post-install step. Installation may not complete correctly
> Error running chkconfig --del alfresco : insserv: warning: script
> 'alfresco' missing LSB tags and overrides
> insserv: warning: script 'alfresco' missing LSB tags and overrides
> insserv: Default-Start undefined, assuming default start runlevel(s)
> for script `alfresco'
> insserv: There is a loop between service RALUS and alfresco if stopped
> insserv: loop involving service alfresco at depth 2
> insserv: loop involving service RALUS at depth 1
> insserv: Stopping alfresco depends on VRTSralus.init and therefore on
> system facility `$all' which can not be true!
> insserv: loop involving service apache at depth 4
> insserv: exiting now without changing boot order!
> /sbin/insserv failed, exit code 1
> --------------------
>
>
> I have confirmed the application installs and i can manually start it.
> When i try to chkconfig alfresco on, i get the same above error. So this
> tells me that it has something to do with the service, maybe run levels.
> I am not a linux guru and am hoping someone here can help me interpret
> what the above error(s). Not really worried about the LSB tags (unless
> someone has any insight on it). What i can discern from the above error
> is this, alfresco service has an issue with the RALUS and apache
> service? RALUS is the backup exec agent on the server and we all know
> what apache is. Why would the alfresco service have a problem with other
> services on the server?
>
> What does "depth" 2 and 1 mean? Is that the run levels maybe? Any
> insight on this would be much appreciated

Whilst you've told us that you're trying to install an application to
SLES11 SP2 you've not told us much about the application (other than it's
called "alfresco").

Perhaps you could let us know which architecture of SLES11 SP2 you're using
(32-bit, 64-bit, etc.), what is "alfresco", where you've obtained it from,
and what instructions you're following.

It certainly sounds like the service control script for "alfresco" has not
been correctly put together to meet the LSB specification and hence why
chkconfig is choking.

HTH.
--
Simon
Novell/SUSE/NetIQ Knowledge Partner

carnold6
25-Feb-2013, 01:57
Whilst you've told us that you're trying to install an application to
SLES11 SP2 you've not told us much about the application (other than it's
called "alfresco").

Perhaps you could let us know which architecture of SLES11 SP2 you're using
(32-bit, 64-bit, etc.),
64 bit sles 11 and 64 bit alfresco

what is "alfresco",
opensource sharepoint alternative

where you've obtained it from,
Alfresco.com download page

and what instructions you're following.
http://docs.alfresco.com/4.2/index.jsp?topic=%2Fcom.alfresco.enterprise.doc%2Ft asks%2Fsimpleinstall-community-lin.html


It certainly sounds like the service control script for "alfresco" has not
been correctly put together to meet the LSB specification and hence why
chkconfig is choking.
I installed alfresco on a test sles11 server and did not experience any chkconfig problems

jmozdzen
25-Feb-2013, 17:32
Hi carnold6,

> I installed alfresco on a test sles11 server and did not experience any chkconfig problems


Looking at the original messages, there is another package involved

[COE]insserv: There is a loop between service RALUS and alfresco if stopped insserv: loop involving service alfresco at depth 2 insserv: loop involving service RALUS at depth 1 insserv: Stopping alfresco depends on VRTSralus.init and therefore on system facility `$all' which can not be true![/CODE]

Does RALUS exist on the "test sless11 server", too and if yes, are the /etc/init.d files identical?

The init system is trying to create a proper boot order of things, which is done via resolving dependency chains defined in the "LSB tags" of the files in /etc/init.d:


### BEGIN INIT INFO
# Provides: cron
# Required-Start: $remote_fs $syslog $time
# Should-Start: $network smtp
# Required-Stop: $remote_fs $syslog
# Should-Stop: $network smtp
# Default-Start: 2 3 5
# Default-Stop: 0 1 6
# Short-Description: Cron job service
# Description: Cron job service
### END INIT INFO (sample taken from /etc/init.d/cron)

Now for some reason, the LSB sections of the packets in question each define that they depend on the other service to be started (or stopped) first - which "insserv" cannot resolve. Hence the error messages.

Have a look at the LSB sections of the services in question...

Regards,
Jens

carnold6
25-Feb-2013, 18:27
Looking at the original messages, there is another package involved


insserv: There is a loop between service RALUS and alfresco if stopped insserv: loop involving service alfresco at depth 2 insserv: loop involving service RALUS at depth 1 insserv: Stopping alfresco depends on VRTSralus.init and therefore on system facility `$all' which can not be true!

Does RALUS exist on the "test sless11 server", too and if yes, are the /etc/init.d files identical?[/code]
I dont beoieve so

The init system is trying to create a proper boot order of things, which is done via resolving dependency chains defined in the "LSB tags" of the files in /etc/init.d:


### BEGIN INIT INFO
# Provides: cron
# Required-Start: $remote_fs $syslog $time
# Should-Start: $network smtp
# Required-Stop: $remote_fs $syslog
# Should-Stop: $network smtp
# Default-Start: 2 3 5
# Default-Stop: 0 1 6
# Short-Description: Cron job service
# Description: Cron job service
### END INIT INFO (sample taken from /etc/init.d/cron)

Now for some reason, the LSB sections of the packets in question each define that they depend on the other service to be started (or stopped) first - which "insserv" cannot resolve. Hence the error messages.

Have a look at the LSB sections of the services in question...
I see in the RALUS script Required-Start is set to $ALL and i assume this is the "issue" alfresco is talking about in the error. I do not know what Required-Start should be in this case.

Here is the init.d file of alfresco:

#!/bin/sh
#
# chkconfig: 2345 80 30
# description: Alfresco Community
#

RETVAL=0

start () {
/opt/alfresco/alfresco.sh start "$2"
RETVAL=$?
if [ -d "/var/lock/subsys" ] && [ `id -u` = 0 ] && [ $RETVAL -eq 0 ] ; then
touch /var/lock/subsys/alfresco
fi

}

stop () {
/opt/alfresco/alfresco.sh stop "$2"
RETVAL=$?
}


case "$1" in
start)
start "$@"
;;
stop)
stop "$@"
;;
restart)
stop "$@"
start "$@"
;;
*)
/opt/alfresco/alfresco.sh "$@"
RETVAL=$?
esac
exit $RETVAL

Here is init.d of RALUS:

#!/bin/sh

### BEGIN INIT INFO
# Provides: RALUS
# Required-Start: $ALL
# Required-Stop:
# Default-Start: 2 3 5
# Default-Stop: 0 1 4 6
# Description: Symantec Backup Exec Remote Agent
### END INIT INFO

#
# chkconfig: 235 95 35
#
# description: Symantec Backup Exec Remote Agent
#


if [ ! -d /opt/VRTSralus ]
then
echo "Symantec Backup Exec Remote Agent missing /opt/VRTSralus [FAILED]"
exit 1
fi

if [ ! -d /etc/VRTSralus ]
then
echo "Symantec Backup Exec Remote Agent missing /etc/VRTSralus [FAILED]"
exit 1
fi

if [ ! -d /var/VRTSralus ]
then
echo "Symantec Backup Exec Remote Agent missing /var/VRTSralus [FAILED]"
exit 1
fi

CMD="$1"

case "$CMD" in
'start')
if [ -x /opt/VRTSralus/bin/beremote ]
then

if [ -f /bin/grep ]
then
PID=`/bin/ps -e | /bin/grep beremote | /bin/sed -e 's/^ *//' -e 's/ .*//'`
else
PID=`/usr/bin/ps -e | /usr/bin/grep beremote | /usr/bin/sed -e 's/^ *//' -e 's/ .*//'`
fi

if [ "${PID}" != "" ]
then
echo "Symantec Backup Exec Remote Agent currently running."
exit 2
fi

if [ -f /dev/st0 -a ! -f /dev/sg0 ]
then
modprobe sg
fi

echo -n "Starting Symantec Backup Exec Remote Agent "
rm -f /var/VRTSralus/ralus.pid
rm -f /var/VRTSralus/ralus.errpid
/opt/VRTSralus/bin/beremote >/var/VRTSralus/beremote.service.log 2>/var/VRTSralus/beremote.service.log &
PIDWAIT=30
while [ "$PIDWAIT" != "0" ]
do
if [ -f /var/VRTSralus/ralus.pid ]
then
PIDWAIT=0
else
PIDWAIT=$(($PIDWAIT-1))
echo -n "."
sleep 1;
fi
if [ -f /var/VRTSralus/ralus.errpid ]
then
PIDWAIT=0
fi
done
if [ -f /var/VRTSralus/ralus.pid ]
then
RETVAL=0
else
RETVAL=1
fi
echo
else
RETVAL=1
fi
if [ "$RETVAL" = "0" ]
then
echo "Starting Symantec Backup Exec Remote Agent: [ OK ]"
else
echo "Starting Symantec Backup Exec Remote Agent: [FAILED]"
fi
;;
'stop')
if [ -f /bin/grep ]
then
PID=`/bin/ps -e | /bin/grep beremote | /bin/sed -e 's/^ *//' -e 's/ .*//'`
else
PID=`/usr/bin/ps -e | /usr/bin/grep beremote | /usr/bin/sed -e 's/^ *//' -e 's/ .*//'`
fi

if [ "${PID}" != "" ]
then
echo -n "Stopping Symantec Backup Exec Remote Agent "
if [ -f /bin/pkill ]
then
/bin/pkill -15 beremote
else
/usr/bin/pkill -15 beremote
fi
RETVAL=$?

PIDWAIT=30
while [ "$PIDWAIT" != "0" ]
do
RESULT=`ps -p ${PID} | grep ${PID} | awk '{print $1}'`
if [ -f /var/VRTSralus/ralus.pid -a "$RESULT" = "" ]
then
PIDWAIT=0
RETVAL=0
else
PIDWAIT=$(($PIDWAIT-1))
echo -n "."
sleep 1;
fi
done
echo
rm -f /var/VRTSralus/ralus.pid
rm -f /var/VRTSralus/ralus.errpid
else
RETVAL=1
fi

if [ "$RETVAL" = "0" ]
then
echo "Stopping Symantec Backup Exec Remote Agent: [ OK ]"
else
echo "Stopping Symantec Backup Exec Remote Agent: [FAILED]"
fi
;;
'restart')
$0 stop
$0 start
RETVAL=1
;;
*)
echo "Symantec Backup Exec Remote Agent for Linux/Unix Servers"
echo "Usage: VRTSralus.init { start | stop | restart }"
RETVAL=1
;;
esac

exit $RETVAL

jmozdzen
25-Feb-2013, 19:03
I see in the RALUS script Required-Start is set to $ALL and i assume this is the "issue" alfresco is talking about in the error. I do not know what Required-Start should be in this case.

Here is the init.d file of alfresco:

indeed, Alfresco seems to have no LSB tags, so insserv will probably try to stop it last.


Here is init.d of RALUS:

#!/bin/sh

### BEGIN INIT INFO
# Provides: RALUS
# Required-Start: $ALL
# Required-Stop:
# Default-Start: 2 3 5
# Default-Stop: 0 1 4 6
# Description: Symantec Backup Exec Remote Agent
### END INIT INFO
...

As this is a backup agent, probably "$local_fs $network" would be a better choice - but actually, you'd have to ask that a Symantec person.

A different approach would be to create an LSB section for alfresco, like


#!/bin/sh

### BEGIN INIT INFO
# Provides: alfresco
# Required-Start: $network
# Required-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 4 6
# Description: Alfresco http://www.alfresco.com
### END INIT INFO
and depending on Alfreco's needs, add i.e. apache2, $remote_fs or alike to "Required-Start". (I don't know that software, so it's up to you. If you know that Alfresco depends on some service, i.e. mysql server, check that service's LSB section for "Provides:" and add that name to the Required-Start statement of Alfresco.) I assume that there are no services that ought to be stopped when Alfresco is stopped, so Required-Stop may be left empty. "Default-Start: 3 5" means to start this service in runlevels 3 and 5 - see comments in /etc/inittab.

Hope this helps resolving the issue for you.

Regards,
Jens