Ah, der Wald lichtet sich ....
Wenn ich Dein script-debugging anwende, sieht man, daß das init-script mit exit 1 aussteigt:
Code: Alles auswählen
/nsca_start.log:
+ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ DAEMON=/usr/sbin/nsca
+ NAME=nsca
+ DESC=Nagios Service Check Acceptor
+ CONF=/etc/nsca.cfg
+ OPTS=--daemon -c /etc/nsca.cfg
+ PIDFILE=/var/run/nsca.pid
+ test -f /usr/sbin/nsca
+ [ -x /lib/lsb/init-functions ]
+ . /lib/lsb/init-functions
+ run-parts --lsbsysinit --list /lib/lsb/init-functions.d
+ [ -r /lib/lsb/init-functions.d/20-left-info-blocks ]
+ . /lib/lsb/init-functions.d/20-left-info-blocks
+ FANCYTTY=
+ [ -e /etc/lsb-base-logging.sh ]
+ true
+ [ -f /etc/default/nsca ]
+ confget -f /etc/nsca.cfg pid_file
+ PIDFILE=/var/run/icinga/nsca.pid
+ [ -z /var/run/icinga/nsca.pid ]
+ [ ! -d /var/run/nagios ]
+ mkdir -p /var/run/nagios
+ exit 1
Das init-script arbeitet an jenem Ausstiegspunkt gerade das hier ab:
Code: Alles auswählen
/etc/init.d/nsca:
[...]
if [ ! -d "/var/run/nagios" ]; then
mkdir -p /var/run/nagios || log_failure_msg "couldn't create /var/run/nagios"
exit 1
fi
Der Pfad /var/run/nagios existiert offenbar zu diesem Zeitpunkt des Bootens noch nicht und wird dann mit mkdir angelegt - trotzdem wird das script mit exit 1 abgebrochen. Wenn ich dann nach dem späteren Einloggen erneut /etc/init.d/nsca aufrufe, existiert der Pfad durch den vorherigen init bereits und der start kann dann (mit exit 0) durchlaufen. So interpretiere ich es jedenfalls. Ein Zusatzproblem ist offenbar, daß nach dem Herunterfahren dieser Pfad (/var/run/nagios) ja auch wieder verschwindet, denn er ist an ein temporäres Speicher-Filesystem (tmpfs) gemountet:
Code: Alles auswählen
ls -la /var/run
lrwxrwxrwx 1 root root 4 Jan 5 2012 /var/run -> /run
# mount
[...]
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=207464k,mode=755)
Also trifft man bei jedem Hochfahren erneut auf die Problematik. Aber wie jetzt sauber ändern? Einfach das 'exit 1' auskommentieren??
Danke für die super Unterstützung schonmal an dieser Stelle!