É possível mascarar um arquivo com um diferente?

2

Estou tentando resolver o problema de ter dois sistemas operacionais (Windows 7 / Debian) que desejo ativar para compartilhar determinados dados do Firefox / Iceweasel.

Minha configuração

Basicamente, há uma pasta de perfil A em um volume NTFS. Dentro desta pasta existem muitos arquivos que ambos os navegadores sob seu sistema operacional específico precisam, que podem ser compartilhados sem nenhum problema. Mas também há o arquivo A/b , que torna o compartilhamento difícil ou desconfortável. O arquivo pode existir em ambos os sistemas operacionais, mas deve ser específico do SO.

Existe uma maneira de mascarar esse (ou outros também ...) arquivo com sua variante específica do SO que pode estar localizada em uma pasta diferente via mount ou links simbólicos?

Ou eu tenho que fazer o contrário e criar uma pasta artificial e colocar links simbólicos para cada recurso compartilhado, exceto os específicos do SO?

    
por xmoex 18.05.2015 / 21:56

1 resposta

1

O sombreamento de arquivos em uma árvore de diretórios é o que montagens sindicais são. O Linux oferece vários sistemas de arquivos unidos; infelizmente, alguns estão mal documentados ou não são mantidos.

Para o seu caso de uso, uma solução baseada em FUSE que não requer privilégios parece ser a melhor. O candidato mais promissor seria unionfs-fuse .

unionfs-fuse /home/xmoex/local/firefox=RW:/media/ntfs/Users/xmoex/Firefox=RW ~/.mozilla/firefox/myprofile

Isso funciona, pois os arquivos em ~/.mozilla/firefox/myprofile são aqueles em /home/xmoex/local/firefox , se presentes, e aqueles em /media/ntfs/Users/xmoex/Firefox , se não estiverem presentes. No entanto, ele tem o defeito de que, se um arquivo é modificado por um método create-move (em oposição a ser gravado no local), o novo arquivo sempre terminará na mesma ramificação, não na ramificação que está sendo substituída. / p>

Os kernels Linux mais recentes incluem aufs , que se estabilizou recentemente. Ele tem a desvantagem de que apenas o root pode montá-lo (ou delegar o privilégio de montar uma instância, por exemplo, via /etc/fstab ). Eu acho que pode expressar "este nome de arquivo deve estar neste ramo", mas eu não sei como.

    
por 19.05.2015 / 01:58