sed -n '4,/-----\---------------/p'  "$0"
exit 0

# on MacOSX:
sudo nfsd enable
showmount -e

# on MacOSX:
find {/System,}/Library/Launch*  \( -name  \*mount\* -o -name  \*nfs\* -o -name \*rpc\* \) -print

sudo launchctl start /System/Library/LaunchDaemons/com.apple.nfsd.plist
sudo launchctl start /System/Library/LaunchDaemons/com.apple.rpcbind.plist
sudo launchctl start /System/Library/LaunchDaemons/com.apple.nfsconf.plist
sudo launchctl start statd.notify

sudo nfsd checkexports
sudo nfsd restart

sudo netstat -n|grep udp4 | grep -e '.111\|.949\|.2049\|.1001'

# on Linux client:
rpcinfo -u macbook mountd
rpcinfo -p macbook|grep  ' 3 '|grep udp
sudo mount -v  -o ro,vers=3,proto=udp  macbook:/ /mnt/m

sudo mount -v -t nfs -o ro,vers=1,proto=udp,rsize=32768,wsize=32768,intr,noatime  macbook:/ /mnt/m


Assume we have 2 Macs, Mac1 and Mac2. This document will help you to create a NFS share on Mac1 and access it from Mac2. Mac2 will preserve the mount during reboots.
To create an NFS share on Mac1

Open SSH terminal on Mac1
Type in "sudo nfsd enable"
This starts the nfs server and sets it to startup on reboot.

Edit /etc/exports (create if it does not exist)

Type the full path of the folder you want to share.

Optional: Use the “-alldirs” option to allow clients to mount any directory under there.
If your UIDs across machines do not match the “-mapall” will map all IDs with an ID that has access to the directory.
You can find your ID by typing “id” at the terminal on Mac1.

The /etc/exports on the Mac1 will looks like this (I have used the Macintosh HD volume in this example; you can add/edit lines if you need to share more volumes).

/Volumes/Macintosh HD -mapall=501

Verify the mount using the command "showmount -e"
(You will see the following output on Mac1)

"/Volumes/Macintosh HD Everyone"

To mount this share from Mac2

Open SSH terminal on Mac2
Type in "cd / && sudo nano .nfsmount.sh"

Copy and paste the following lines to the nano editor
mkdir /Volumes/Mac1-Macintosh-HD
sudo mount -o rsize=32768,wsize=32768,intr,noatime -t nfs Mac1 (or IP Address):/Volumes/ Macintosh HD /Volumes/Mac1-Macintosh-HD
Save and exit the nano editor

This will create a Bash script to create a directory called Mac1-Macintosh-HD under /Volumes and map the Mac1 volume under it.

Set the permissions of the script for root access only:
Type in "sudo chown -R root:admin .nfsmount.sh"

Now make the script executable:
Type in "sudo chmod u=rwx .nfsmount.sh"

Now we’ll need to create a .plist file for launchd to handle the script, do the following:
Type in "cd /Library/LaunchDaemons && sudo nano nfsmount.plist"

Inside the editor, copy and paste the following code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">;
<plist version="1.0">
Save and exit the editor and then change the necessary permissions
Type in "sudo chown -R root:wheel nfsmount.plist"

Next, we’ll load the plist into launchd:

Type in "sudo launchctl load nfsmount.plist"

Confirm that the plist loaded:
Type in "sudo launchctl list | grep nfsmount"
If the plist name appears, it’s installed.

Reboot Mac2 and check if the Mac1 volume is accessible under /Volumes/Mac1-Macintosh-HD


To remove the .plist, type the following:
Type in "sudo launchctl unload -w /Library/LaunchDaemons/nfsmount.plist"