7

I am exporting my /opt/target directory via NFS but I would like the nfs clients to be able to mount it as /target. i.e. I would like showmount -e to show /target not /opt/target. Can that be done?

6

I'm pretty sure NFS does not allow for aliases. Symlinking is probably best, and it'll save you from moving the export as a whole to an illogical location (/target).

The original suggestion here was to symlink /opt/target to /target and then export /target. NFS supports this and I don't know of any good reasons not to use symlinks this way.

2
  • I have done this and it works well as long as you remember that symlinks in the exported directory will not be translated. If you've got a relative link to ../../../bar and your NFS mount is a symlink to /foo, then anything looking at /foo/bar will actually try to look in /foo/../../../bar Jun 17 '09 at 14:54
  • I looked far and wide for 'aliasing' but did not find anything for NFS. I also originally entered an answer which suggested symlinking, however when I did showmount -e it showed the original directory anyway, so symlinking does not appear to work as an 'alias' either. Jun 17 '09 at 14:57
8

What you want is how NFSv4 works. In NFSv4, all the directories exported are from a single pseudo-filesystem where the real directories are mounted with --bind. See the Ubuntu NFSv4 Howto for an example.

0

You would need to change the path on the server. I'm not sure if you can export via a symlink, otherwise you'd need to move the path physically on the server. Looking at the man page for exports, you might be able to use the "refer" option.

0

Since for me wzzrd's answer didn't work and Kamil Kisiel's answer refers to an external source I'll describe here how it exactly works for the op's use case:

sudo mkdir /target
sudo mount --bind /opt/target /target
sudo exportfs -arv

results in output:

exporting 192.168.178.90/24:/target

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.