public
anonymous / auto.net.sh
Created

autofs executabel for mounting nfs shares: /etc/auto.net

  • Download Gist
auto.net.sh
Shell
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
#!/bin/bash
 
# This file must be executable to work! chmod 755!
 
# Look at what a host is exporting to determine what we can mount.
# This is very simple, but it appears to work surprisingly well
 
key="$1"
 
# add "nosymlink" here if you want to suppress symlinking local filesystems
# add "nonstrict" to make it OK for some filesystems to not mount
# choose one of the two lines below depending on the NFS version in your
# environment
opts="-fstype=nfs,hard,intr,nodev,nosuid"
#opts="-fstype=nfs4,hard,intr,nodev,nosuid,async"
 
# Showmount comes in a number of names and varieties. "showmount" is
# typically an older version which accepts the '--no-headers' flag
# but ignores it. "kshowmount" is the newer version installed with knfsd,
# which both accepts and acts on the '--no-headers' flag.
#SHOWMOUNT="kshowmount --no-headers -e $key"
#SHOWMOUNT="showmount -e $key | tail -n +2"
 
for P in /bin /sbin /usr/bin /usr/sbin
do
for M in showmount kshowmount
do
if [ -x $P/$M ]
then
SMNT=$P/$M
break
fi
done
done
 
[ -x $SMNT ] || exit 1
 
# Newer distributions get this right
SHOWMOUNT="$SMNT --no-headers -e $key"
 
$SHOWMOUNT | LC_ALL=C sort -k 1 | \
awk -v key="$key" -v opts="$opts" -- '
BEGIN { ORS=""; first=1 }
{ if (first) { print opts; first=0 }; print " \\\n\t" $1, key ":" $1 }
END { if (!first) print "\n"; else exit 1 }
' | sed 's/#/\\#/g'

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.