Sincronização de diretórios em SSHFS envolvendo links simbólicos

2

Eu tenho 2 caixas Linux Ubuntu com estruturas de diretórios semelhantes, LX02 e LX04. Quando eu ssh de um terminal no LX02 para LX04 e vou para o meu diretório de scripts principal, / root / sbin, vejo um conjunto diferente de subdiretórios do que quando eu vou no mesmo diretório de uma sessão de terminal no LX04. Por quê?

DETALHES
Ambas as máquinas têm um diretório / 0 que contém diretórios de ponto de montagem para cada host remoto como em ...

/0/LX02
/0/LX04

/ etc / fstab contém entradas para montar o diretório raiz (/) do host remoto para estas. Há uma entrada 'mount bind' para montar o diretório local (/) que evita codificação especial para o host local em scripts.

/ root / sbin é um link simbólico para / usr / local / sbin em cada máquina.

O diretório local / root / sbin no LX02 parece ...

 root@LX02:/  cd /root/sbin

 root@LX02:~/sbin  ls -l | grep '^d'

drwxr-x--- 2 root root  4096 2011-07-16 00:49 Archives-sbin-20110825
drwxr-x--- 2 root root  4096 2010-07-28 08:13 lst
drwxr-xr-x 2 root root  4096 2012-04-11 09:28 Misc
drwxr-xr-x 2 root root  4096 2012-04-11 09:28 Slates
drwxr-xr-x 2 root root  4096 2012-04-11 09:28 Tomboy
drwxr-xr-x 2 root root  4096 2012-04-11 09:28 Ubuntu_8.04
drwxr-x--- 2 root root  4096 2010-07-28 08:13 www
drwxr-xr-x 2 root root  4096 2012-09-27 12:48 zim

Indo para / 0 / LX04 / root / sbin de uma sessão de terminal LX02 resulta em ...

 root@LX02:/0/LX04/root/sbin  cd /0/LX04/root/sbin

 root@LX02:/0/LX04/root/sbin  ls -l | grep '^d'

drwxr-x--- 2 root root  4096 2011-07-16 00:49 Archives-sbin-20110825
drwxr-x--- 2 root root  4096 2010-07-28 08:13 lst
drwxr-xr-x 2 root root  4096 2012-04-11 09:28 Misc
drwxr-xr-x 2 root root  4096 2012-04-11 09:28 Slates
drwxr-xr-x 2 root root  4096 2012-04-11 09:28 Tomboy
drwxr-xr-x 2 root root  4096 2012-04-11 09:28 Ubuntu_8.04
drwxr-x--- 2 root root  4096 2010-07-28 08:13 www
drwxr-xr-x 2 root root  4096 2012-09-27 12:48 zim

No entanto, o diretório / root / sbin no LX04 realmente se parece com ...

 root@LX04:/  cd /root/sbin

 root@LX04:~/sbin  ls -l | grep '^d'

drwx------ 4 root root 12288 2011-12-23 03:23 Archives
drwx------ 2 root root  4096 2011-07-16 00:49 Archives-sbin-20110825
drwxr-xr-x 3 root root  4096 2012-11-14 00:22 Examples
drwxr-x--- 2 root root  4096 2011-04-29 13:50 fnc
drwxr-x--- 2 root root  4096 2011-05-19 15:00 lst
drwxr-xr-x 3 root root  4096 2012-10-28 10:01 Synergy
drwxr-x--- 2 root root  4096 2011-03-10 20:54 tmp
drwxr-x--- 2 root root  4096 2011-03-10 20:54 www

O que está acontecendo aqui?

    
por DocSalvager 18.11.2012 / 09:35

1 resposta

3

Se eu entendi sua configuração corretamente, /root/sbin on LX04 é um link simbólico para /usr/local/sbin . Portanto, /0/LX04/root/sbin on LX02, que faz parte de um sistema de arquivos SSHFS, é um link simbólico para /usr/local/sbin . Quando você está no LX02, o diretório /0/LX04/root/sbin está localizado em /usr/local/sbin e esse é o conteúdo que você está vendo. Já que você está no LX02, você está vendo o /usr/local/sbin do LX02 (que também é acessível via /root/sbin ).

Os links simbólicos são puramente textuais, eles não carregam nenhuma informação sobre o sistema de arquivos que você acha que deveria estar direcionando.

Se você quiser que /0/LX04/root/sbin aponte para o /usr/local/sbin de LX04, torne-o simbólico para /0/LX04/usr/local/sbin . Se você quiser que /0/LX04/root/sbin mostre /usr/local/sbin da mesma máquina em que está (que é a mesma coisa), faça um link relativo: /root/sbin ->../usr/local/sbin (run ln -snf ../usr/local/sbin /0/LX04/root/sbin . Geralmente, é uma boa ideia tornar simbólico links relativos, que mais frequentemente do que não dá o resultado desejado ao fazer montagem complexa.

    
por 18.11.2012 / 22:04