slackware-current/source/n/nfs-utils/rc.nfsd
Patrick J Volkerding 0be8c4f372 Fri Apr 12 22:13:09 UTC 2019
a/gawk-5.0.0-x86_64-1.txz:  Upgraded.
ap/pamixer-1.4-x86_64-2.txz:  Rebuilt.
  Recompiled against boost-1.70.0.
ap/vim-8.1.1157-x86_64-1.txz:  Upgraded.
d/cmake-3.14.2-x86_64-1.txz:  Upgraded.
e/emacs-26.2-x86_64-1.txz:  Upgraded.
kde/calligra-2.9.11-x86_64-30.txz:  Rebuilt.
  Recompiled against boost-1.70.0.
l/akonadi-1.13.0-x86_64-12.txz:  Rebuilt.
  Recompiled against boost-1.70.0.
l/boost-1.70.0-x86_64-1.txz:  Upgraded.
  Shared library .so-version bump.
  Note: Boost now provides its own BoostConfig.cmake config file, and it may
  not work with all existing code (here, calligra stumbled over it). At this
  point it's not clear if the included cmake config files are buggy, or if
  affected projects need to change something in order to use them, but there's
  an easy workaround to use cmake's FindBoost.cmake (as was used previously).
  Add this to the call to cmake from any affected project (if cmake fails with
  an error: "No suitable build variant has been found."):
  -DBoost_NO_BOOST_CMAKE=ON
n/libmbim-1.18.2-x86_64-1.txz:  Upgraded.
n/nfs-utils-2.3.3-x86_64-3.txz:  Rebuilt.
  rc.nfsd: don't try to create the nfsv4recoverydir - the build script will
  determine the directory to use and include it in the package.
  rc.nfsd: drop 2.4 kernel support, and use better code for mounting the nfsd
  filesystem.
  Thanks to shasta.
x/libwacom-0.33-x86_64-1.txz:  Upgraded.
xap/vim-gvim-8.1.1157-x86_64-1.txz:  Upgraded.
2019-04-13 08:59:41 +02:00

113 lines
2.8 KiB
Bash

#!/bin/sh
# Start/stop/restart the NFS server.
#
# This is an init script for the knfsd NFS daemons.
# To use NFS, you must first set up /etc/exports.
# See exports(5) for information on /etc/exports format.
#
# Written for Slackware Linux by Patrick J. Volkerding <volkerdi@slackware.com>.
# Source default settings:
if [ -r /etc/default/rpc ]; then
. /etc/default/rpc
fi
if [ -r /etc/default/nfs ]; then
. /etc/default/nfs
fi
nfsd_start() {
# Sanity checks. Exit if there's no /etc/exports, or if there aren't any
# shares defined in it.
if [ ! -r /etc/exports ]; then # no config file, exit:
exit
elif ! grep -v '^#' /etc/exports | grep '/' 1> /dev/null 2> /dev/null ; then
exit # no uncommented shares in /etc/exports
fi
# If we do not detect nfsd support built into the kernel (or previously
# loaded as a module), we will try to load the nfsd.ko kernel module:
if [ ! -r /proc/1/net/rpc/nfsd ]; then
/sbin/modprobe nfsd
fi
# Mount the nfsd filesystem:
if awk '$NF == "nfsd"' /proc/filesystems | grep -q . ; then
if ! awk '$3 == "nfsd" && $2 == "/proc/fs/nfs"' /proc/mounts | grep -q . ; then
/sbin/mount -t nfsd nfsd /proc/fs/nfs 2> /dev/null
fi
fi
# If basic RPC services are not running, start them:
if ! ps axc | grep -q rpc.statd ; then
if [ -r /etc/rc.d/rc.rpc ]; then
sh /etc/rc.d/rc.rpc start
else
# Sure, we tested for rpc.statd, but this is the probable cause:
echo "FATAL: Can't start NFS server without portmap package."
sleep 5
exit 1
fi
fi
echo "Starting NFS server daemons:"
if [ -x /usr/sbin/exportfs ]; then
echo " /usr/sbin/exportfs -r"
/usr/sbin/exportfs -r
fi
if [ -x /usr/sbin/rpc.rquotad ]; then
if [ -n "$RPC_RQUOTAD_PORT" ]; then
RPC_RQUOTAD_OPTS="$RPC_RQUOTAD_OPTS -p $RPC_RQUOTAD_PORT"
fi
echo " /usr/sbin/rpc.rquotad $RPC_RQUOTAD_OPTS"
/usr/sbin/rpc.rquotad $RPC_RQUOTAD_OPTS
fi
# Start nfsd servers - 8 if not set otherwise (an old Sun standard):
if [ -x /usr/sbin/rpc.nfsd ]; then
if [ -z "$RPC_NFSD_COUNT" ]; then
RPC_NFSD_COUNT=8
fi
echo " /usr/sbin/rpc.nfsd $RPC_NFSD_OPTS $RPC_NFSD_COUNT"
/usr/sbin/rpc.nfsd $RPC_NFSD_OPTS $RPC_NFSD_COUNT
fi
if [ -x /usr/sbin/rpc.mountd ]; then
if [ -n "$RPC_MOUNTD_PORT" ]; then
RPC_MOUNTD_OPTS="$RPC_MOUNTD_OPTS -p $RPC_MOUNTD_PORT"
fi
echo " /usr/sbin/rpc.mountd $RPC_MOUNTD_OPTS"
/usr/sbin/rpc.mountd $RPC_MOUNTD_OPTS
fi
}
nfsd_stop() {
killall rpc.mountd 2> /dev/null
killall nfsd 2> /dev/null
sleep 1
killall -9 nfsd 2> /dev/null # make sure :)
killall rpc.rquotad 2> /dev/null
/usr/sbin/exportfs -au 2> /dev/null
}
nfsd_restart() {
nfsd_stop
sleep 1
nfsd_start
}
case "$1" in
'start')
nfsd_start
;;
'stop')
nfsd_stop
;;
'restart')
nfsd_restart
;;
*)
echo "usage $0 start|stop|restart"
esac