I have an Ubuntu 20.04 server (a local VM in my case). How do I mount a directory on the Linux server from a macOS Catalina client, using NFS?
Setting up the Linux server
Install the NFS server as per the Ubuntu NFS guide:
sudo apt install nfs-kernel-server
sudo nano /etc/exports
Now add a line similar to this:
/home/ubuntuis the directory to export
172.16.238.0/24is the IP addresses to accept connections from. The Mac client's IP address should be in this range. Use
*to allow from any IP address. (But be careful not to make your NFS server available to the entire internet!)
insecuremeans to accept connections from unprivileged (higher) port numbers
all_squash,anonuid=1000,anongid=1000forces all reads and writes to be performed by the user/group with UID/GID 1000 (1000 is the default
ubuntuuser/group on my server). Run the
idcommand on the server to find out your UID/GID. You need these options unless your Ubuntu server and Mac client use the same UID/GID for the main user.
no_subtree_checkis a performance thing
Save the file and run
sudo exportfs -vra
to reload the NFS exports. (I'm not sure if the
-aoption is necessary.)
Setting up the Mac client
On the macOS client, edit the
/etc/auto_masterfile (documented in the
auto_master man page):
sudo nano /etc/auto_master
and change the line starting with
/netto the following (or add it if necessary):
/net -hosts -nobrowse,nosuid,locallocks,nfc,actimeo=1
locallockscreates locks on the client rather than on the server. Without this, Finder becomes very slow and takes forever to show directories.
nfcmakes UTF-8 file names work
actimeo=1sets the attribute cache timeout as short as possible. Note that setting it to
noac) causes Finder not to notice when a file is deleted on the server, so we can't use it.
- Note that we're not using
nfsvers=4here. I got kernel panics on the Mac with this, so I went back to the default (NFSv3).
Note: It appears that some macOS software updates can overwrite this file and remove your changes. I've found myself having to go back to back to this answer once a year or so re-apply the changes.
Refresh the automounts by running
sudo automount -vc
(If you previously tried to mount an NFS volume, unmount it first, like so:
sudo umount -f /net/fileserver.local/home/ubuntu)
In the Finder menu, select Go -> Go to Folder, and type
You should find your exported directory in there, e.g. at
/net/fileserver.local/home/ubuntu. Drag this directory to the Finder sidebar to make it easy to access in the future.