Mount bind ou link 2 dirctories em 1

1

Eu tenho dois diretórios:

  • / home / mvanorder
  • / mnt / data / home / mvanorder

Eu tenho várias distros no meu computador que periodicamente giro e instalo novas. No entanto, por conveniência, todos os arquivos compartilhados estão em /mnt/data/home/mvanorder e, em seguida, são criados links simbólicos em /home/mvanorder para apontá-los.

Alguém sabe se é possível fazer com que o sistema operacional procure por arquivos em /home/mvanorder e, em seguida, se eles não forem encontrados, procure em /mnt/data/home/mvanorder . Semelhante a um mount --bind , mas onde ficaria no diretório original antes de procurar no diretório ligado.

    
por MVanOrder 15.11.2017 / 03:20

1 resposta

4

O que você descreve não pode ser feito usando montagens ou links de ligação. No entanto, você pode usar overlayfs .

Um overlayfs mount mostrará "um sistema de arquivos mesclado" contendo arquivos e diretórios de ambos. O sistema de arquivos superior tem precedência sobre o sistema de arquivos inferior. Se o arquivo existir em ambos, a versão superior do sistema de arquivos estará visível, no caso de diretórios que eles estão mesclados. As gravações são feitas no sistema de arquivos superior (os arquivos são copiados de baixo para cima se eles não existirem no sistema de arquivos superior).

Na sua situação, use /home/mvanorder como sistema de arquivos inferior e /mnt/data/home/mvanorder como sistema de arquivos superior.

Observe o comportamento na exclusão: as alterações sempre são feitas no sistema de arquivos superior em vez do (s) sistema (s) de arquivos onde o arquivo existe. Um arquivo whiteout é feito em sistema de arquivos superior quando um arquivo é deletado em overlayfs mount . Um arquivo whiteout torna o arquivo invisível no overlayfs mount . Quando um novo diretório é criado em overlayfs, ele é marcado como opaco. Em diretórios opacos, somente a versão superior do sistema de arquivos é usada, mesmo que exista um diretório no sistema de arquivos inferior. Isso significa que quando você exclui um diretório no overlayfs e o recria, somente a versão superior fica visível.

Detalhes exatos sobre overlayfs são explicados em a documentação .

    
por 15.11.2017 / 06:02