#! /bin/sh # Copyright (c) 2004 Author: Thorsten Kukuk # # /etc/init.d/ypbind # # and symbolic its link # # /usr/sbin/rcypbind # # System startup script for the ypbind daemon # ### BEGIN INIT INFO # Provides: ypbind # Required-Start: $remote_fs $portmap # Should-Start: ypserv slpd # Required-Stop: portmap # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: Start ypbind (necessary for a NIS client) # Description: ypbind finds the server for NIS domains and maintains # the NIS binding information. ### END INIT INFO YPBIND_BIN=/usr/sbin/ypbind pidfile=/var/run/ypbind.pid [ -f /etc/default/ypbind ] && . /etc/default/ypbind case "$1" in start) echo -n "Starting ypbind" ## If the domainname is not set, skip starting of ypbind ## and return with "program not configured" /bin/ypdomainname &> /dev/null if [ $? -ne 0 -o -z "`/bin/ypdomainname 2>/dev/null`" ]; then if [ -f /etc/defaultdomain ]; then XDOMAINNAME=`cat /etc/defaultdomain` /bin/ypdomainname "$XDOMAINNAME" fi /bin/ypdomainname &> /dev/null if [ $? -ne 0 -o -z "`/bin/ypdomainname 2>/dev/null`" ]; then # Tell the user this has skipped echo -n " . . . . . . . . . . No domainname set" # service is not configured exit 1 fi fi ## If we don't have a /etc/yp.conf file, skip starting of ## ypbind and return with "program not configured" ## if you add the -broadcast Option later, comment this out. if [ ! -f /etc/yp.conf -a "$YPBIND_BROADCAST" != "yes" ] ; then # Tell the user this has skipped echo -n " . . . . . . . . . . ${attn}/etc/yp.conf not found${norm}" # service is not configured exit 1 fi # evaluate the OPTIONS for ypbind-mt OPTIONS="" test "$YPBIND_LOCAL_ONLY" = "yes" && OPTIONS="-local-only $OPTIONS" test "$YPBIND_BROADCAST" = "yes" && OPTIONS="-broadcast $OPTIONS" test "$YPBIND_BROKEN_SERVER" = "yes" && OPTIONS="-broken-server $OPTIONS" start-stop-daemon --start --quiet --pidfile $pidfile --exec $YPBIND_BIN -- $YPBIND_OPTIONS $OPTIONS if [ $? -eq 0 ]; then notfound=1 for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do ypwhich &>/dev/null && { notfound=0 ; break; }; echo -n " ." sleep 1; done if [ $notfound -eq 1 ]; then echo -n " ${warn}No NIS server found${norm}"; fi else exit 1 fi ;; stop) echo -n "Shutting down ypbind" start-stop-daemon --stop --quiet --pidfile $pidfile # Remove static data, else glibc will continue to use NIS rm -f /var/yp/binding/* /var/run/ypbind.pid ;; restart) $0 stop sleep 1 $0 start ;; reload | force-reload) echo -n "Reload service ypbind" start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile ;; *) echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" exit 1 ;; esac