You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

102 lines
2.2 KiB

#!/bin/sh
#
# simple autofs init script
. /etc/init.d/globals
uname_r() {
read dummy dummy uname dummy < /proc/version
echo $uname
}
# load the module if necessary
if ! grep -q autofs /proc/filesystems; then # the kernel does not know it
if [ -e /lib/modules/$(uname_r)/autofs4.ko ]; then
MODULE=/lib/modules/$(uname_r)/autofs4.ko # hd1
else
MODULE=/lib/modules/$(uname_r)/kernel/fs/autofs4/autofs4.ko
fi
if ! insmod $MODULE > /dev/null 2>&1; then # module loading failed
exit 1;
fi
fi
DEVICE="autofs"
# the MAPFILE is the "configfile" for automount
MAPFILE=/var/etc/auto.master
# allow stopping the daemon even without a mapfile
if [ ! -e $MAPFILE -a "x$1" = "xstart" ]; then
# no config file => no need to do anything else
SHOWINFO "automount: $MAPFILE does not exist, cannot start"
exit 1;
fi
# allow stopping the daemon even without an entry in mapfile
ENTRYS=0
while read line; do
test "${line:0:1}" = "#" || ENTRYS=1
test $ENTRYS = "1" && break
done < $MAPFILE
if [ $ENTRYS = "0" -a "x$1" = "xstart" ]; then
# no entrys in config file => no need to do anything else
SHOWINFO "automount: $MAPFILE is empty, cannot start"
exit 1;
fi
PIDFILE=/var/run/automount.pid
#
# load customized configuation settings
#
CUSTOMCONF=/etc/default/autofs
if [ -e $CUSTOMCONF ]; then
. $CUSTOMCONF
fi
case $1 in
stop)
if [ -e $PIDFILE ]; then
SHOWINFO "stopping"
read PID < $PIDFILE && kill -TERM $PID
fi
;;
start)
# 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
else
if [ -c /dev/$DEVICE ]; then
rm /dev/$DEVICE
fi
fi
# automount needs /var/lock or it will exit silently
[ -d /var/lock ] || mkdir -p /var/lock
SHOWINFO "starting"
automount -p $PIDFILE $MAPFILE $OPTIONS
;;
restart)
$0 stop
sleep 1
$0 start
;;
reload)
if [ -e $PIDFILE ]; then
SHOWINFO "reloading"
read PID < $PIDFILE && kill -HUP $PID
fi
;;
*)
echo "[$BASENAME] Usage: $0 {start|restart|reload|stop}"
;;
esac