#!/bin/sh ### BEGIN INIT INFO # Provides: nfs-common # Required-Start: $portmap hwclock # Required-Stop: $portmap hwclock # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: NFS support for both client and server # Description: NFS is a popular protocol for file sharing across # TCP/IP networks. This service provides various # support functions for NFS mounts. ### END INIT INFO # # Startup script for nfs-utils # # # Location of executables: # Source function library. . /etc/init.d/functions test -x "$NFS_STATD" || NFS_STATD=/usr/sbin/rpc.statd test -z "$STATD_PID" && STATD_PID=/var/run/rpc.statd.pid # # The default state directory is /var/lib/nfs test -n "$NFS_STATEDIR" || NFS_STATEDIR=/var/lib/nfs # #---------------------------------------------------------------------- # Startup and shutdown functions. # Actual startup/shutdown is at the end of this file. #directories create_directories(){ echo -n 'creating NFS state directory: ' mkdir -p "$NFS_STATEDIR" ( cd "$NFS_STATEDIR" umask 077 mkdir -p rpc_pipefs mkdir -p sm sm.bak statd chown rpcuser:rpcuser sm sm.bak statd test -w statd/state || { rm -f statd/state :>statd/state } umask 022 for file in xtab etab smtab rmtab do test -w "$file" || { rm -f "$file" :>"$file" } done ) chown rpcuser:rpcuser "$NFS_STATEDIR" echo done } #statd start_statd(){ echo -n "starting statd: " start-stop-daemon --start --exec "$NFS_STATD" --pidfile "$STATD_PID" echo done } stop_statd(){ echo -n 'stopping statd: ' start-stop-daemon --stop --quiet --signal 1 --pidfile "$STATD_PID" echo done } #---------------------------------------------------------------------- # # supported options: # start # stop # restart: stops and starts mountd #FIXME: need to create the /var/lib/nfs/... directories case "$1" in start) create_directories start_statd;; stop) stop_statd;; status) status $NFS_STATD exit $?;; restart) $0 stop $0 start;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1;; esac