123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- #!/bin/bash
- ########################################################################
- # Begin autofs
- #
- # Description : Start daemon for automounting file systems
- #
- # Author : Bruce Dubbs - bdubbs@linuxfromscratch.org
- #
- # Version : LFS 7.2
- #
- # Notes : Updates to autofs distributed start script to make
- # compatible with BLFS
- #
- ########################################################################
- ### BEGIN INIT INFO
- # Provides: autofs
- # Required-Start: $network ypbind
- # Required-Stop: $network ypbind
- # Default-Start: 3 4 5
- # Default-Stop: 0 1 2 6
- # Short-Description: Automounts filesystems on demand
- # Description: Automounts filesystems on demand
- ### END INIT INFO
- #
- # Location of the automount daemon and the init directory
- #
- DAEMON=/sbin/automount
- prog=`basename $DAEMON`
- MODULE="autofs4"
- DEVICE="autofs"
- confdir=/etc/sysconfig
- test -e $DAEMON || exit 0
- PATH=/sbin:/usr/sbin:/bin:/usr/bin
- export PATH
- #
- # load customized configuation settings
- #
- if [ -r $confdir/autofs ]; then
- . $confdir/autofs
- fi
- . /lib/lsb/init-functions
- function start() {
- log_info_msg "Starting $prog: "
- # Make sure autofs4 module is loaded
- if ! grep -q autofs /proc/filesystems
- then
- # Try load the autofs4 module fail if we can't
- modprobe $MODULE >/dev/null 2>&1
- if [ $? -eq 1 ]
- then
- log_failure_msg "Error: failed to load autofs4 module."
- return 1
- fi
- elif ([ -f /proc/modules ] && lsmod) | grep -q autofs[^4]
- then
- # wrong autofs filesystem module loaded
- log_failure_msg "Error: autofs kernel module is loaded, autofs4 required"
- return 1
- fi
- # Check misc device
- if [ -n "$USE_MISC_DEVICE" -a "x$USE_MISC_DEVICE" = "xyes" ]; then
- sleep 1
- if [ -e "/proc/misc" ]; then
- MINOR=`awk "/$DEVICE/ {print \\$1}" /proc/misc`
- if [ -n "$MINOR" -a ! -c "/dev/$DEVICE" ]; then
- mknod -m 0600 /dev/$DEVICE c 10 $MINOR
- fi
- fi
- if [ -x /sbin/restorecon -a -c /dev/$DEVICE ]; then
- /sbin/restorecon /dev/$DEVICE
- fi
- else
- if [ -c /dev/$DEVICE ]; then
- rm /dev/$DEVICE
- fi
- fi
- $prog $OPTIONS
- evaluate_retval
- }
- function stop() {
- log_info_msg $"Stopping $prog: "
- count=0
- while [ -n "`pidof $prog`" -a $count -lt 15 ] ; do
- killall -TERM $prog >& /dev/null
- RETVAL=$?
- [ $RETVAL = 0 -a -z "`pidof $prog`" ] || sleep 3
- count=`expr $count + 1`
- done
- if [ -z "`pidof $prog`" ] ; then
- log_success_msg2
- else
- log_failure_msg2
- fi
- return $RETVAL
- }
- function restart() {
- stop
- start
- }
- function reload() {
- pid=`pidof $prog`
- if [ -z $pid ]; then
- log_failure_msg2 $"$prog not running"
- RETVAL=1
- else
- kill -HUP $pid 2> /dev/null
- log_success_msg2 $"Reloading maps"
- RETVAL=0
- fi
- return $RETVAL
- }
- RETVAL=0
- case "$1" in
- start)
- start
- ;;
- forcestart)
- OPTIONS="$OPTIONS --force"
- start
- ;;
- stop)
- stop
- ;;
- restart)
- restart
- ;;
- forcerestart)
- OPTIONS="$OPTIONS --force"
- restart
- ;;
- reload)
- reload
- ;;
- *)
- echo $"Usage: $0 {start|forcestart|stop|restart|forcerestart|reload}"
- exit 1;
- ;;
- esac
- exit $?
|