Link simbólico com diretório existente

5

Se eu já tiver um diretório (A) com conteúdo existente e outro diretório (B), como link simbólico para que o conteúdo do diretório seja mesclado.

   eg.   A 
           -> folderA1/
           -> a.bin
           -> b.bin (from B folder)
           -> c.bin (from B folder)
         B 
           -> b.bin
           -> c.bin
    
por Ethan Lim 05.09.2014 / 09:08

1 resposta

6

Você pode escrever um script que seja executado pelo diretório B que crie um link para cada arquivo no diretório A. Mas, se você quiser mesclar as duas pastas, recomendo usar uma sobreposição sistema de arquivos como aufs . Eu mesmo uso para tal tarefa.

Use o seguinte comando mount (você pode ter que instalar as ferramentas para gerenciar aufs):

mount -t aufs -o dirs=/path/to/dirA/=rw:/path/to/dirB/=ro none /path/to/mountpoint

Explicação do comando mount:

  • -t aufs : define o tipo de sistema de arquivos como aufs
  • dirs=/path/to/dirA/=rw:/path/to/dirB/=ro : esses são os diretórios que você deseja mesclar, separados por : . Também pode ser um terceiro diretório, se você quiser. Observe que dirA é usado como pasta readwrite ( rw ) e dirB como readonly ( ro ). Isso significa que, quando você escreve nesse ponto de montagem, o sistema de arquivos grava em dirA , não em dirB . Existem muitas opções , como o sistema de arquivos subjacente deve se comportar em caso de leitura ou gravação. Eu recomendo ver através da página de manual.
  • none : este é o dispositivo. Por ser um pseudo sistema de arquivos, não há dispositivo.
  • /path/to/mountpoint : o caminho onde você deseja montar o sistema de arquivos.
por 05.09.2014 / 09:21

Tags