
The recipe for net-snmp has snmpd and snmptrapd in seperate packages, so one or the other or both could be installed. In a common case where only snmpd is installed, the startup script will fail to run because the snmptrapd executable does not exist. This patch simply qualifies the test by first checking to see if the executable is to be used. -Bill Signed-off-by: Bill Randle <bill.randle@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
1.8 KiB
Executable File
#! /bin/sh
/etc/init.d/snmpd: start snmp daemon.
. /etc/init.d/functions
Defaults
export MIBDIRS=/usr/share/snmp/mibs SNMPDRUN=yes SNMPDOPTS='-Lsd -Lf /dev/null -p /var/run/snmpd.pid' TRAPDRUN=no TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid' PIDFILE=/var/run/snmpd.pid SPIDFILE=/var/run/snmptrapd.pid
Reads config file if exists (will override defaults above)
[ -r /etc/default/snmpd ] && . /etc/default/snmpd
[ "$SNMPDRUN" = "yes" ] && { test -x /usr/sbin/snmpd || exit 0; } [ "$TRAPDRUN" = "yes" ] && { test -x /usr/sbin/snmptrapd || exit 0; }
case "$1" in
start)
echo -n "Starting network management services:"
if [ "$SNMPDRUN" = "yes" -a -f /etc/snmp/snmpd.conf -a ! -f "$PIDFILE" ]; then
start-stop-daemon -o --start --quiet --name snmpd --pidfile "$PIDFILE"
--exec /usr/sbin/snmpd -- $SNMPDOPTS
echo -n " snmpd"
fi
if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf -a ! -f "$SPIDFILE" ]; then
start-stop-daemon -o --start --quiet --name snmptrapd --pidfile "$SPIDFILE"
--exec /usr/sbin/snmptrapd -- $TRAPDOPTS
echo -n " snmptrapd"
fi
echo "."
test ! -x /sbin/restorecon || /sbin/restorecon -FR /var/lib/net-snmp
;;
stop) echo -n "Stopping network management services:" if [ -f "$PIDFILE" ] ; then start-stop-daemon -o --stop --quiet --pidfile $PIDFILE --name snmpd fi echo -n " snmpd" if [ -f "$SPIDFILE" ] ; then start-stop-daemon -o --stop --quiet --pidfile $SPIDFILE --name snmptrapd rm -rf $SPIDFILE fi echo -n " snmptrapd" echo "." ;; status) status /usr/sbin/snmpd; exit $? ;; restart|reload|force-reload) $0 stop # Allow the daemons time to exit completely. sleep 2 $0 start ;; *) echo "Usage: /etc/init.d/snmpd {start|stop|status|restart|reload|force-reload}" exit 1 esac
exit 0