[FUG-BR] "Pastas virtuais"
Patrick Tracanelli
eksffa em freebsdbrasil.com.br
Sex Ago 5 22:46:43 BRT 2005
Pablo Sánchez wrote:
> cara, de boa... sei lá! acho que isso nem é possível. Pelo menos eu
> nunca ouvi falar de algo do gênero.
>
> Com sorte talvez, vc conseguiria fazer um shell script que roda-se a
> cada 5 minutos buscando arquivos novos e criando links simbólicos para
> esses arquivos em uma pasta nova. Mas desse jeito que vc falou, link
> simbólico para dois lugares? Isso não existe... não que eu saiba, pelo
> menos, pode ser ignorância minha...
>
> On 8/5/05, Rodrigo de Souza Valério <rsvalerio em yahoo.com.br> wrote:
>
>>Pessoal,
>>
>>Sou um tanto quanto inexperiente em *nix, então lá via
>>minha pergunta...
>>
>>Como faço prara criar uma "pasta virtual", igual a um
>>link simbólico, só que ao invés de apontar para um
>>pasta, apontar para duas pastas diferentes, com
>>conteúdos diferentes, exemplo, tenho a seguinte
>>estrutura:
>>
>>/2001/docs
>>/2002/docs
>>
>>quero poder acessar a pasta /qualquer coisa/docs, e
>>ver o conteúdo das duas pastas, é possível isso?
>>
>>Somente com o comando ln, através do samba, agradeço
>>desde já.
>>
>>Rodrigo Valério
>>MPRO
Rodrigo Valerio (espero que nao seja parente do outro Valerio.. o
Marcos.. hehe).
O que voce quer existe, apesar de nao ser muito comum.
Chana-se unionfs e e' bastante flexivel.
De fato ao lado do nullfs e muito usado por pessoas que administram
diversos ambientes com Jail. E usado comercialmente em empresas como a
VERIO para oferecer virtualmente conteudo de multiplos diretorios em um
soh diretorio.
O comportamento do unionfs igualmente ao do nullfs e' um pouco conhecido
em circunstancias diversas, mas o funcionamento "basico" deles e' comum
e seguro. Sobre flexibilidade e "possibilidades diversas" - levando a
"comportamentos adversos" leia a pagina de manual mount_unionfs(8). No
ambiente simples que voce quer estou certo que o exemplo a seguir vai
ser bem claro. Acompanhe passo-a-passo:
# mkdir /tmp/diretorio1
# mkdir /tmp/diretorio2
# echo "conteudo arquivo 1 dentro diretorio 1" > /tmp/diretorio1/arquivo1
# echo "conteudo arquivo 2 dentro diretorio 2" > /tmp/diretorio2/arquivo2
# mkdir /tmp/uniao_diretorios1e2
# mount_unionfs /tmp/diretorio1 /tmp/uniao_diretorios1e2
# mount_unionfs /tmp/diretorio2 /tmp/uniao_diretorios1e2
# ls /tmp/uniao_diretorios1e2/
arquivo1 arquivo2
# cat /tmp/uniao_diretorios1e2/arquivo1
conteudo arquivo 1 dentro diretorio 1
# cat /tmp/uniao_diretorios1e2/arquivo2
conteudo arquivo 2 dentro diretorio 2
Eh isso que voce quer neh? Black magic total.
Tem coisa mais obscura no FreeBSD em relacao a inodes; tente ler o
codigo fonte do mount quando voce da um "mount -o snapshots" e ver o que
acontece quanto aos inodes, especialmente ao serem submetidos a um
unlink() -- rm(1) -- em um FS fotografado - com snapshot logico ativo.
Da pra se divertir um bocado.
--
Patrick Tracanelli
FreeBSD Brasil LTDA.
(31) 3281-9633 / 3281-3547
sip://316601@sip.freebsdbrasil.com.br
http://www.freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"
_______________________________________________
Freebsd mailing list
Freebsd em fug.com.br
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Mais detalhes sobre a lista de discussão freebsd