Eu tenho o Windows 10 em execução em um laptop que executa o VirtualBox que executa um convidado do Linux.
Eu faço muita programação para o ambiente Linux e estou trabalhando com repositórios de código fonte localizados em uma árvore de diretórios FS / compartilhada entre o host Windows e o guest Linux, por exemplo. editando com o SublimeText sendo executado no Windows, mas fazendo compilação, teste, controle de versão, etc, em um terminal conectado ao convidado Linux.
Por várias razões, eu preciso dos diretórios que hospedam os repositórios de código-fonte para permitir a semântica unix completa, ou seja, ser capaz de definir uid / gid para proprietário, bits de permissão, fifos, links simbólicos, etc.
Eu não me importo se esses recursos não são compartilhados de maneira significativa entre o Windows e o Linux. Eu só preciso que essas coisas sejam bem definidas no lado do Linux. No lado do Windows, eu só preciso ser capaz de ler / escrever o conteúdo do arquivo.
Eu quero que os arquivos sejam hospedados no lado do Windows / host, não no guest Linux, já que eu não quero ter que acionar o guest Linux para que os arquivos se tornem visíveis / acessíveis no Windows.
Como posso definir isso?
Eu tentei várias coisas.
Parece que o vboxsf oferece apenas um pequeno subconjunto de recursos unix. Por favor, corrija-me se estiver errado.
Eu tentei posixovl em cima de uma montagem vboxsf, mas parece que não consigo suportá-la para uma operação simples como "mkdir mydir; rm -rf mydir". Tal operação falharia com "rm: cannot remove 'mydir': Diretório não vazio". Meu diagnóstico do problema com isso é que ele irá criar um arquivo "somedir / .pxovl" para manter os bits de permissão do somedir e coisas assim no FS mais baixo. No FS superior esse arquivo não é visível, então "rm -rf" não pode se livrar do arquivo. Quando "rm -rf" tenta "rmdir mydir" no FS superior, isso acionará uma tentativa de fazer isso no FS inferior, que falha porque o arquivo ".pxovl" ainda está lá. Por favor, corrijam-me se houver uma solução para isso, mas isso está me enlouquecendo.
Eu tentei configurar um diretório como um compartilhamento de rede no lado do Windows, depois montei via mount.cifs no linux. Parece que tal montagem não oferece recursos unix propriamente, e nesse sentido tem limitações semelhantes ao vboxsf, e não consigo encontrar nenhuma opção que permita qualquer tipo de emulação ou algo assim.
Ocorreu-me que talvez houvesse programas que podem ser configurados no lado do host do Windows que oferecem semântica unix real e fazem algum tipo de emulação de recursos unix como um servidor NFS ou outro tipo de servidor para compartilhamento de rede sistemas de arquivos, mas não consigo encontrar nenhum.
Ocorreu-me também que os sistemas de arquivos de sobreposição podem ser uma ferramenta útil para trazer tal solução, mas não podem realmente conceituar como essa solução pode parecer.
Alguma idéia?