]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - etc/debian/nfs-kernel-server
1/ be less trusting of information in /var/lib/nfs/xtab. Add things to
[nfs-utils.git] / etc / debian / nfs-kernel-server
diff --git a/etc/debian/nfs-kernel-server b/etc/debian/nfs-kernel-server
new file mode 100644 (file)
index 0000000..826e126
--- /dev/null
@@ -0,0 +1,84 @@
+#!/bin/sh
+#
+# nfs-kernel-server
+#              This shell script takes care of starting and stopping
+#               the kernel-mode NFS server.
+#
+# chkconfig: 345 60 20
+# description: NFS is a popular protocol for file sharing across TCP/IP \
+#              networks. This service provides NFS server functionality, \
+#              which is configured via the /etc/exports file.
+#
+
+PREFIX=/usr
+[ -x $PREFIX/sbin/rpc.nfsd ] || exit 0
+[ -x $PREFIX/sbin/rpc.mountd ] || exit 0
+[ -x $PREFIX/sbin/exportfs ] || exit 0
+
+# What is this?
+DESC="NFS kernel daemon"
+
+RPCNFSDCOUNT=8 # Number of servers to be started up by default
+RPCMOUNTDOPTS=
+
+# Make sure that daemon cwds are in root fs.
+cd /
+
+# See how we were called.
+case "$1" in
+  start)
+       if grep -q '^/' /etc/exports; then
+               printf "Exporting directories for $DESC..."
+               $PREFIX/sbin/exportfs -r
+               echo "done."
+
+               printf "Starting $DESC:"
+               printf " nfsd"
+               start-stop-daemon --start --quiet \
+                   --exec $PREFIX/sbin/rpc.nfsd -- $RPCNFSDCOUNT
+               printf " mountd"
+               $PREFIX/bin/rpcinfo -u localhost nfs 3 > /dev/null 2>&1 ||
+                   RPCMOUNTDOPTS="$RPCMOUNDOPTS --no-nfs-version 3"
+               start-stop-daemon --start --quiet \
+                   --exec $PREFIX/sbin/rpc.mountd -- $RPCMOUNTDOPTS
+               echo "."
+
+       else
+               echo "Not starting $DESC: No exports."
+       fi
+       ;;
+
+  stop)
+       printf "Stopping $DESC: mountd"
+       start-stop-daemon --stop --oknodo --quiet \
+           --exec $PREFIX/sbin/rpc.mountd
+       printf " nfsd"
+       start-stop-daemon --stop --oknodo --quiet \
+           --name nfsd --user root --signal 2
+       echo "."
+
+       printf "Unexporting directories for $DESC..."
+       $PREFIX/sbin/exportfs -au
+       echo "done."
+       ;;
+
+  reload | force-reload)
+       printf "Re-exporting directories for $DESC..."
+       $PREFIX/sbin/exportfs -r
+       echo "done."
+       ;;
+
+  restart)
+       $0 stop
+       sleep 1
+       $0 start
+       ;;
+
+  *)
+       echo "Usage: nfs-kernel-server {start|stop|reload|force-reload|restart}"
+       exit 1
+       ;;
+esac
+
+exit 0
+