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
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							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
 | |
| 
 |