How to copy symlinks to NAS? (with NFS or Samba)

recently I just bought my Turris NAS Kit and created my NAS out of it, with a huge disk with btrfs.
I want to copy all my older files on external USB drives to the NAS.
One of the most important thing I want to make is to relocate my Steam Library there, because it is huge.
The issue i have run into, that it contains symlinks and it seems symlinks cannot be copied over to other shares. I have treid both, samba and NFS. The most i could with Samba is that it follows the link and copy it as a normal file, thus making duplicates, which is not good.
With NFS I couldnt even do that.

Someone told me that Samba is not capable of transfer symlinks but only following symlinks, but NFS can do it. But how???

I have this in /etc/exports:
/srv/nas *(rw,sync,no_subtree_check,all_squash,nohide)

after mounting it on my PC and trying to copy a symlink from USB drive to NAS drive, i got this error:
cannot create regular file : permission denied

I have been googling around for 2 days, but cannot find proper solutions…

Hmm, right, the *.so links within steam-runtime probably wouldn’t be sufficient to transfer once, as steam would surely want to update them from time to time. I can’t really offer any advice on NFS. In the worst case, it might perhaps be worked around by “moving” only ~/.local/share/Steam/steamapps/ and keeping the smaller remainder locally.

AFIK you can’t copy symlinks, but you can re-create them… it’ll not be easy, you’ll have to create a script using some basic linux tools and shell :wink:

In general, e.g. cp -a does preserve symlinks. Did you mean something NFS-specific?

but how? I tried cp, and cp -L and cp -a too, but the it does not allow me with message: cannot create regular file : permission denied

Yes the problem is that steam give updates constantly so I cannot just recreate symlinks once…
and all the symlinks are in the very game folder where the other gamefiles under common/$game, so i cant separate them.

I never imagened that a simple symlinking will block me doing a nice NAS, NFS exist for so long, I would wonder If I would be the only one who would need this feature and it does not seem to be special need.
Also i would copy to from an NTFS to BRTFS fs, which is linux fs, if windows fs can do it why a linux one cannot??

I wouldn’t conflate this with the underlying filesystems for storage; btrfs can do symlinks just fine, that’s for sure.

Wow damn, I just found a solution, symlink copy works to NAS with these export settings:


I do not know yet which option helped, among these

No, it was only my attempt how to approach this problem. Glad there is better way.