89 lines
1.5 KiB
Bash
Executable File
89 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
### BEGIN INIT INFO
|
|
# Provides: mountnfs
|
|
# Required-Start: $local_fs $network $rpcbind
|
|
# Required-Stop:
|
|
# Default-Start: S
|
|
# Default-Stop:
|
|
### END INIT INFO
|
|
|
|
#
|
|
# Run in a subshell because of I/O redirection.
|
|
#
|
|
test -f /etc/fstab && (
|
|
|
|
#
|
|
# Read through fstab line by line. If it is NFS, set the flag
|
|
# for mounting NFS filesystems. If any NFS partition is found and it
|
|
# not mounted with the nolock option, we start the rpcbind.
|
|
#
|
|
rpcbind=no
|
|
mount_nfs=no
|
|
mount_smb=no
|
|
mount_ncp=no
|
|
mount_cifs=no
|
|
while read device mountpt fstype options
|
|
do
|
|
case "$device" in
|
|
""|\#*)
|
|
continue
|
|
;;
|
|
esac
|
|
|
|
case "$options" in
|
|
*noauto*)
|
|
continue
|
|
;;
|
|
esac
|
|
|
|
if test "$fstype" = nfs
|
|
then
|
|
mount_nfs=yes
|
|
case "$options" in
|
|
*nolock*)
|
|
;;
|
|
*)
|
|
rpcbind=yes
|
|
;;
|
|
esac
|
|
fi
|
|
if test "$fstype" = smbfs
|
|
then
|
|
mount_smb=yes
|
|
fi
|
|
if test "$fstype" = ncpfs
|
|
then
|
|
mount_ncp=yes
|
|
fi
|
|
if test "$fstype" = cifs
|
|
then
|
|
mount_cifs=yes
|
|
fi
|
|
done
|
|
|
|
exec 0>&1
|
|
|
|
if test "$rpcbind" = yes
|
|
then
|
|
if test -x /usr/sbin/rpcbind
|
|
then
|
|
echo -n "Starting rpcbind... "
|
|
start-stop-daemon --start --quiet --exec /usr/sbin/rpcbind
|
|
sleep 2
|
|
fi
|
|
fi
|
|
|
|
if test "$mount_nfs" = yes || test "$mount_smb" = yes || test "$mount_ncp" = yes || test "$mount_cifs" = yes
|
|
then
|
|
echo "Mounting remote filesystems..."
|
|
test "$mount_nfs" = yes && mount -a -t nfs
|
|
test "$mount_smb" = yes && mount -a -t smbfs
|
|
test "$mount_ncp" = yes && mount -a -t ncpfs
|
|
test "$mount_cifs" = yes && mount -a -t cifs
|
|
fi
|
|
|
|
) < /etc/fstab
|
|
|
|
: exit 0
|
|
|