[clug] Lesson in Debian, LSB init scripts

steve jenkin sjenkin at canb.auug.org.au
Thu Dec 12 20:13:53 MST 2013


A month or so back I fiddled with an archaic package and got it to
install by brute-force hacking.
Not recommended. [see end for good solution]

Today I updated debian packages and hit a snag...
samba (sold, well-behaved) failed to upgrade. This is to document the
problem & solution.

It was a problem in the archaic /etc/init.d scripts: they didn't have
LSB headers.

You can see the LSB headers with:

 /usr/share/insserv/make-testsuite | less # output is _long_

Below are the error messages I saw.
'hostmon' and 'eventmgr' were the old /etc/init.d scripts I'd installed.

The markers for this problem are the problems with insserv:
 - the '$all' facility conflict.
 - the max recursions message

    insserv: Starting hostmon depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
    insserv: Starting eventmgr depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
    insserv: Max recursions depth 99 reached

    dpkg: error processing samba (--configure):

Solution steps:

1. Read the LSB Init scripts page
<https://wiki.debian.org/LSBInitScripts/>

2. create LSB headers in the affected files.
Start with a copy from something good, like /etc/init.d/samba
For me, files were:

    /etc/init.d/eventmgr
    /etc/init.d/hostmon


2A. My LSB header [not sure what 'should-start' and 'should-stop'
should've been]:

    ### BEGIN INIT INFO
    # Provides:          eventmgr
    # Required-Start:    $network $local_fs $remote_fs
    # Required-Stop:     $network $local_fs $remote_fs
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Should-Start:      
    # Should-Stop:       
    # Short-Description: start CosManager Sentinel Event Manager
    ### END INIT INFO


cheers
steve

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

In ref to original install script problem [thanks v. much for solution
Dave!]

The simple answer was I needed last month was to define a POSIX
compliance version environment variable for the GNU-utils, like 'sort'
<http://www.gnu.org/software/coreutils/manual/html_node/Standards-conformance.html>
for me: export _POSIX2_VERSION=199209

-- 
Steve Jenkin, Info Tech, Systems and Design Specialist.
0412 786 915 (+61 412 786 915)
PO Box 48, Kippax ACT 2615, AUSTRALIA

sjenkin at canb.auug.org.au http://members.tip.net.au/~sjenkin



More information about the linux mailing list