Setting up NFS for file sharing
11 (bullseye) |
|
Install NFS Server
sudo apt install nfs-kernel-server
Configure NFS Server
sudo vi /etc/exports
Add/edit:
/path/to/be/shared *(rw,async,no_root_squash,no_subtree_check)
For the changes to take effect, export and start NFS service.
sudo exportfs -a
sudo /etc/init.d/nfs-kernel-server start
Pretty simple...
A bit about re-sharing
Sometimes, you may want to share something that you've actually mounted from an NFS share on another machine...
A couple of things are different in this case.
First, you need to ensure that the mounts are done BEFORE you start the NFS server.
sudo vi nfs-kernel-server
and add:
echo "Starting out by making sure EVERYTHING is mounted..." /usr/bin/mount -a echo "Really..." echo "This is NOT the right place to do this..." echo "But, init.d kinda sucks..." ##########################
right near the start.
Then you need to provide an fsid entry (with a unique number) for each export.
/path/to/be/shared *(rw,async,no_root_squash,no_subtree_check,fsid=1010)
AND it STILL doesn't start at boot!!!
Connecting to the NFS Server
You'll need NFS installed
sudo apt install nfs-common
or
sudo apt install nfs-kernel-server
Then you can check what's shared from any particular machine:
showmount -e [ServerName or Address]
- (requires sudo on Debian...)
will show you what's shared from a machine
sudo mkdir -p /path/to/mount/share
sudo mount [ServerName or Address]:/path/to/be/shared /path/to/mount/share
Better yet tho...
sudo vi /etc/fstab
& add an entry:
[ServerName or Address]:/path/to/be/shared /path/to/mount/share nfs rw,user,exec 0 0
TBD
- Learn what flags do what in /etc/exports
- Browsing in the GUI would be nice...
- Look into automounting (including graceful failure modes)