How do you make symbolic links work with a remote mount?

62,792

Solution 1

Soft links only contain a path to another file on the local machine. You cannot reference a file that is not accessible on the local filesystem(s).

Options:

  • Don't use soft links, copy the file
  • Cross-linking (almost always a bad idea)
  • Reorganize/redo whatever imposes the file access requirement

Solution 2

The link correctly points to /alpha/foo, but that doesn't exist on your machine. If you mount /alpha, the link will work.

Solution 3

You might be able to use the sshfs utility to do what you want to do. This will let you mount a filesystem on a remote computer, on your local one. Here's a reference to how to do this: https://www.digitalocean.com/community/tutorials/how-to-use-sshfs-to-mount-remote-file-systems-over-ssh

Solution 4

soft symbol link's content is a path string, it doesn't know anything about how you mount filesystems. In your case, you can mount /alpha and /beta on B with sample path of A. But strongly suggest don't cross link between network system, that's hard to maintain.

Share:
62,792
Dancrumb
Author by

Dancrumb

CTO of Ahana Health Previously: Director of Product Engineering at Jellyvision. Product Engineering Manager at Vodori Various at IBM from 2002-2012, specialising in Storage (Disk and Tape).

Updated on December 19, 2020

Comments

  • Dancrumb
    Dancrumb over 3 years

    I have two servers, A and B

    A has two filesystems, /alpha and /beta

    I have a symbolic link:

    ln -s /alpha/foo /beta/bar
    

    Such that:

    lrwxrwxrwx 1 root    root           70 Dec 22 13:32 /beta/bar -> /alpha/foo
    

    Next, I mount /beta, remotely on B via an NFS mount

    The link no longer works.

    Is there a way to achieve this. I'd like to be able to access A:/alpha/foo on server B, but I want to be able to do it via the /beta/bar symbolic link.

    Do I need to modify my mount, or my link? Or am I trying to achieve the impossible?

    UPDATE

    I should have added: 'without mounting /alpha to server B'. In short, I would like the symbolic link to be followed to the actual file in question whenever server B accesses /beta/bar

  • mattgately
    mattgately almost 11 years
    Your answer doesn't relate to the user's question about linking between multiple file systems.
  • asoundmove
    asoundmove almost 11 years
    @mattgately: yes it does. pixel did not express it very clearly, but the hard link is the absolute solution. Possibly not one the OP is ready to use for whatever (valid) reason, but definitely a valid solution to accessing the required file directly from /beta without having to mount /alpha.
  • mattgately
    mattgately over 10 years
    I could be mistaken, but I believe that the question is about files on two different file systems, so hard links are not even an option in this scenario.