/etc/init.d/mountnfs.sh is in initscripts 2.88dsf-59.3ubuntu2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | #! /bin/sh
### BEGIN INIT INFO
# Provides: mountnfs
# Required-Start: $local_fs
# Required-Stop:
# Should-Start: $network $portmap nfs-common udev-mtab
# Default-Start: S
# Default-Stop:
# Short-Description: Wait for network file systems to be mounted
# Description: Network file systems are mounted by
# /etc/network/if-up.d/mountnfs in the background
# when interfaces are brought up; this script waits
# for them to be mounted before carrying on.
### END INIT INFO
. /lib/lsb/init-functions
. /lib/init/vars.sh
. /lib/init/mount-functions.sh
do_wait_async_mount() {
# Read through fstab line by line. If it is NFS, set the flag
# for mounting NFS file systems. If any NFS partition is found
# then wait around for it.
waitnfs=
for file in "$(eval ls $(fstab_files))"; do
if [ -f "$file" ]; then
while read DEV MTPT FSTYPE OPTS REST; do
case "$DEV" in
""|\#*)
continue
;;
esac
case "$OPTS" in
noauto|*,noauto|noauto,*|*,noauto,*)
continue
;;
esac
case "$FSTYPE" in
nfs|nfs4|smbfs|cifs|coda|ncp|ncpfs|ocfs2|gfs|ceph)
;;
*)
continue
;;
esac
case "$MTPT" in
/usr/local|/usr/local/*)
;;
/usr|/usr/*)
waitnfs="$waitnfs $MTPT"
;;
/var|/var/*)
waitnfs="$waitnfs $MTPT"
;;
esac
done < "$file"
fi
done
# Wait for each path, the timeout is for all of them as that's
# really the maximum time we have to wait anyway
TIMEOUT=900
for mountpt in $waitnfs; do
log_action_begin_msg "Waiting for $mountpt"
while ! mountpoint -q $mountpt; do
sleep 0.1
TIMEOUT=$(( $TIMEOUT - 1 ))
if [ $TIMEOUT -le 0 ]; then
log_action_end_msg 1
break
fi
done
if [ $TIMEOUT -gt 0 ]; then
log_action_end_msg 0
fi
done
}
case "$1" in
start)
# Using 'no !=' instead of 'yes =' to make sure async nfs
# mounting is the default even without a value in
# /etc/default/rcS
if [ no != "$ASYNCMOUNTNFS" ] ; then
do_wait_async_mount
else
FROMINITD=yes /etc/network/if-up.d/mountnfs
fi
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop|status)
# No-op
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
:
|