2013-10-26 14 views
5

Ich aktualisiere nur meinen Nagios-Server auf die neueste Version (4.0.1) auf meinem Debian 7-System. Wenn ich den Daemon zu starten, habe ich folgende Fehlermeldung:Nagios 4: Ich kann /etc/rc.d/init.d/functions nicht öffnen

# /etc/init.d/nagios start 
/etc/init.d/nagios: 20: .: Can't open /etc/rc.d/init.d/functions 

Die /etc/rc.d/init.d/functions nicht auf meinem Debian System vorhanden sind (und auch auf meinem Ubuntu 12.04 Workstation).

Was kann ich tun, um dieses Problem zu lösen?

=== Update:

einfach das Startskript mit der folgenden Befehlszeile Hack:

sudo apt-get install daemon 
sudo sed -i 's/^\.\ \/etc\/rc.d\/init.d\/functions$/\.\ \/lib\/lsb\/init-functions/g' /etc/init.d/nagios 
sudo sed -i 's/status\ /status_of_proc\ /g' /etc/init.d/nagios 
sudo sed -i 's/daemon\ --user=\$user\ \$exec\ -ud\ \$config/daemon\ --user=\$user\ --\ \$exec\ -d\ \$config/g' /etc/init.d/nagios 
sudo sed -i 's/\/var\/lock\/subsys\/\$prog/\/var\/lock\/\$prog/g' /etc/init.d/nagios 
sudo service nagios start 

Works auf meinem Debian-Server.

+0

willkommen auf SO nicolargo! verwandtes Nagios Problem: http://tracker.nagios.org/view.php?id=460 – regilero

Antwort

2

Sie können einfach Ihr eigenes Init-Skript schreiben. Kopieren /etc/init.d/skeleton zu /etc/init.d/nagios und füllen Sie die Werte in dieser Datei:

DESC="Nagios" 
NAME=nagios 
DAEMON=/usr/local/nagios/bin/$NAME 
DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg" 
PIDFILE=/usr/local/nagios/var/$NAME.lock 

bemerkte ich auch diese Zeilen:

#[ -r /etc/default/$NAME ] && . /etc/default/$NAME 

und

 #start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ 
     #  || return 1 

Vergessen Sie nicht, chmod + x /etc/init.d/nagios.

Viel Spaß.

2

wenig hinzufügen, für ubuntu 12,04 [desktop]:

  • 'runuser' Programm existiert nicht für debianLike, aber 'so' statt,
  • 'Service' Programm nicht in/sbin aber in/usr/sbin

Dann Nicolargo des Mods + einige von mir:

sudo apt-get install daemon 
sudo sed -i 's/^\.\ \/etc\/rc.d\/init.d\/functions$/\.\ \/lib\/lsb\/init-functions/g' /etc/init.d/nagios 
sudo sed -i 's/status\ /status_of_proc\ /g' /etc/init.d/nagios 
sudo sed -i 's/daemon\ --user=\$user\ \$exec\ -ud\ \$config/daemon\ --user=\$user\ --\ \$exec\ -d\ \$config/g' /etc/init.d/nagios 
sudo sed -i 's/\/var\/lock\/subsys\/\$prog/\/var\/lock\/\$prog/g' /etc/init.d/nagios 
sudo sed -i 's/\/sbin\/service\ /\/usr\/sbin\/service\ /g' /etc/init.d/nagios 
sudo sed -i 's/runuser/su/g' /etc/init.d/nagios 
sudo service nagios start 

ich auch entfernt die Option '-d 10' wurde in der Stoppsequenz (um Zeile 94) auf killproc angewendet, um eine Fehlermeldung beim Aufruf 'Service Nagios stop' zu vermeiden.

$Stopping nagios: Illegal option -d 
/sbin/start-stop-daemon: signal value must be numeric or name of signal (KILL, INT, ...) 
Try '/sbin/start-stop-daemon --help' for more information. 

'Freude!