Montar overlay FUSE com dois pontos no caminho

0

É possível fazer uma montagem de sobreposição quando um dos caminhos tem dois pontos? Todas as soluções de montagem de overlay do FUSE que usei usam dois pontos para separar os caminhos na sobreposição e não consigo encontrar uma maneira de escapar dela.

    
por AndrolGenhald 29.06.2018 / 19:51

1 resposta

1

Estrutura de Diretórios

Digamos que estamos tentando sobrepor foo:bar e bar:baz . O ponto de montagem será union

foo
└── a
bar
└── b
foo:bar
└── c
bar:baz
└── d
union

mergerfs

Não importa o que você tente fazer, você pode ver na fonte que não funcionará. Irritante se você tentar adivinhar uma maneira de escapar:

$ mergerfs 'foo\:bar':'bar\:baz' union

ele não lançará um erro, mas ignorará diretórios que não existem:

$ ls union
b

unionfs-fuse

O mesmo problema de mergerfs , de jeito nenhum para escapar de um cólon. Pelo menos, falhará com um erro, se um diretório não existir:

$ unionfs-fuse 'foo\:bar':'bar\:baz' union
Failed to open /foo\/: No such file or directory. Aborting!

overlayfs

overlayfs faz permitir dois pontos em caminhos, mas não é um sistema de arquivos FUSE.

$ mount -t overlay overlay -o lowerdir='foo\:bar':'bar\:baz' union
$ ls union
c  d

Solução alternativa

Uma solução simples que funciona com mergerfs e unionfs-fuse é usar um link simbólico:

$ ln -s foo:bar foo_bar
$ ln -s bar:baz bar_baz
$ unionfs-fuse foo_bar:bar_baz union
$ ls union
c  d
    
por 29.06.2018 / 19:51