Como vários diretórios aparecem como um para um usuário no linux?

3

Eu tenho três diretórios em um sistema Linux (Red Hat). Diga / usr / local / one, / usr / local / dois e / usr / local / three. Eu gostaria de ter um mecanismo que se comporta como um diretório que combina o conteúdo de um, dois e três em / opt / oneTwoThree sem mover fisicamente o conteúdo de seus arquivos.

ou seja ...

$ find /usr/local/
/usr/local/one
/usr/local/one/aaa
/usr/local/one/bbb
/usr/local/three
/usr/local/three/fff
/usr/local/two
/usr/local/two/ccc
/usr/local/two/ddd
/usr/local/two/eee

$ find /opt/oneTwoThree
/usr/local/oneTwoThree
/usr/local/oneTwoThree/aaa
/usr/local/oneTwoThree/bbb
/usr/local/oneTwoThree/fff
/usr/local/oneTwoThree/ccc
/usr/local/oneTwoThree/ddd
/usr/local/oneTwoThree/eee
    
por dacracot 07.04.2011 / 17:45

5 respostas

5

Você pode usar o UnionFS que parece estar ativamente desenvolvido ou, no caso de os diretórios serem discos rígidos separados, MHDDFS , mas vejo menos referências a essa última.

EDITAR: Existe um artigo da wikipedia com informações mais palatáveis no UnionFS

    
por 07.04.2011 / 17:55
3

Se o conteúdo do diretório é quase todo estático, você pode conseguir isso com links simbólicos, isto é, criar um link simbólico para cada arquivo presente em cada um dos três diretórios para um quarto.

    
por 07.04.2011 / 17:50
1

Para qualquer um que se deparar com essa questão antiga, o Inotify poderia ser usado para monitorar os diretórios e criar automaticamente os links.

    
por 21.08.2013 / 00:44
0

Você pode ligar simbolicamente o conteúdo de / usr / local / {0ne, dois, três} em / usr / local / four, mas isso não é muito elegante. Se um monte de novos arquivos ou diretórios são criados em qualquer um dos diretórios originais, você teria que ter alguma forma (talvez via inotifyd?) Para atualizar os links simbólicos. Funcionaria, mas me parece desleixado e odeio sugerir isso.

    
por 07.04.2011 / 21:14
0

Alguns (alguns) anos atrás eu tive um problema um pouco similar (queria instalar coisas de código aberto em diretórios separados - semelhante ao esquema / opt / * em uso hoje - mas não ter que continuar atualizando $ PATH)

A solução para mim era usar o depósito CMU para automatizar a criação e manutenção de uma hierarquia / usr / local / * que englobasse todo o material / opt-like usando links e / ou links simbólicos.

    
por 08.04.2011 / 01:03