Posso fazer um link simbólico para locais diferentes em máquinas diferentes?

3

Antes de dizer "não", uma solução alternativa também seria boa.

Aqui está a situação: Eu tenho duas máquinas local e compile , ambas incluindo o mesmo ~ sobre nfs de uma terceira máquina files . Eu gostaria de ter um diretório em compile:/opt/foo/ em vez de files:~/foo/ para velocidade. Mas eu ainda quero poder trabalhar com local sem ter que trabalhar em um caminho diferente.

Eu posso sshfs montar compile:/opt/foo/ localmente em local:~/compile/opt/foo/ , mas se eu quiser ter um diretório no mesmo caminho dentro de meu ~ em ambas as máquinas, os links simbólicos não parecem cortar como eles querem apontar o mesmo caminho.

Existe uma solução para esse problema que me permite colocar meus arquivos na unidade local de compile em vez da montagem nfs?

Nota: não consigo obter privilégios de root em nenhuma dessas máquinas.

    
por bitmask 09.10.2012 / 14:33

2 respostas

4

Você precisará fazer um symlink duplo similar ao que o /etc/alternatives faz no Ubuntu, a saber:

Dentro de ~ você terá um link:

linked_directory -> /<local filesystem>/linked_directory

Em cada uma das máquinas locais:

/<local filesystem>/linked_directory -> /<actual location>/linked_directory

Contanto que nem /<local filesystem>/ nem /<actual location>/ sejam compartilhadas entre máquinas dentro de seu ~ , o conteúdo de linked_directory será único.

    
por 09.10.2012 / 15:30
2

Os links simbólicos não ajudarão, já que eles são gravados no sistema de arquivos - e, portanto, sempre serão os mesmos em ambas as máquinas.

No entanto, se o seu administrador instalou os bindfs, você pode montar coisas diferentes em ambas as máquinas. Por exemplo, em local , você usa sshfs para montar compile:/opt/foo/ com ~/foo/ como o ponto de montagem. Em compile , você usa bindfs para montar /opt/foo/ com ~/foo/ como seu ponto de montagem:

bindfs -n /opt/foo ~/foo
    
por 09.10.2012 / 15:16