Compartilhe o diretório home inteiro entre o host e o convidado com o Virtual Box

0

Por alguns motivos, o local onde eu trabalho está preso com Ubuntu 12.04 . Como preciso de muito software recente, queria usar uma VM com Ubuntu 14.04 . Eu configurei tudo com sucesso com virtual box 4.3 (o Oracle Edition).

Depois disso, tentei criar um compartilhamento do meu diretório home host e usá-lo como o diretório home do usuário no guest. Uma das razões é que eu não quero perder tudo se a caixa virtual falhar, por isso, ter todos os arquivos no HD real parece importante.

Atualmente, o diretório é montado no convidado com o AutoFS. O usuário no guest e host tem o mesmo login, uid e main gid.

Parece funcionar quando eu uso o ssh para fazer o login do convidado para o convidado, mas ele não funciona com o login gráfico: o usuário é imediatamente desconectado. Eu acho que é porque o login gráfico no host cria alguns arquivos; o login gráfico tenta criar esses arquivos no guest e depois falha.

Alguma ideia?

    
por Mathieu Dubois 01.06.2015 / 19:26

3 respostas

1

Seguindo as sugestões do @Dan Cornilescu (e comentários), resolvi essa questão assim:

  1. Criado um compartilhamento de caixa virtual para o diretório inicial do host, diga host_home
  2. Opcionalmente (mas muito importante no meu caso) permitia ao convidado criar links simbólicos em pastas compartilhadas (veja aqui por exemplo)
  3. Monte esse compartilhamento no convidado no momento da inicialização com o usuário convidado e gid em /mnt/host_home (veja resposta aceita aqui por exemplo)
  4. Na casa de hóspedes, as pastas simbólicas que desejo compartilhar (funciona para Desktop , Downloads , etc.)

Por enquanto tudo funciona como esperado. Pode haver uma queda de desempenho ao ler ou gravar arquivos, mas não há problema.

    
por 11.06.2015 / 10:43
0

Concordo com @Dan Cornilescu. Isso não é uma boa idéia, especialmente considerando o quão temperamental o Linux pode ser quando arquivos / pastas estão sendo manipulados com privilégios do Sudo, ou a falta dele.

Embora eu tenha certeza do que você está sugerindo (apesar do fato de que você nunca fez uma pergunta) é possível, não acho que seja a melhor solução para o problema inicial que você mencionou. "Uma das razões é que eu não quero perder tudo se a caixa virtual falhar ..."

Eu entendo esse problema completamente. Por um lado, você tem um serviço incrível ( grátis ) fornecido pela oracle, mas não quer depender completamente de algo que não seja a "norma". No entanto, existem várias maneiras de neutralizar esse problema que oferecem maior tranquilidade do que "ter todos os arquivos no HD real". Aqui estão alguns recursos integrados ao VirtualBox que eu uso acima de todos os outros.

~ " Instantâneos ." Eles fazem exatamente isso. Crie um instantâneo da VM antes / depois de uma instalação de qualquer tipo ou agende uma captura instantânea com o CronTab. Dessa forma, você sempre tem uma maneira rápida e fácil de carregar / inicializar uma versão anterior antes de uma falha.

~ Um simples exportar / importar da VM (ou .VHD ) conforme necessário. Eu prefiro este método porque é mais estático (para minhas necessidades) do que instantâneos. Ter uma exportação de VHD / VM como backup é essencialmente um computador portátil e / ou um backup interativo. Em vez de uma imagem padrão (dormente) criada por um método proprietário.

~ Crie o seu próprio, ou use uma Caixa Vagrant. Mais informações Aqui e Aqui a>. Você pode encontrar um .box que atenda às suas necessidades e usá-lo como backup ou melhor ainda use um .box básico em conjunto com um script personalizado .SH (BASH). Atualize este script enquanto você instala os progs e altera as configurações para que, em caso de falha, você simplesmente execute um script simples e violä! Você está pronto para sair dos portões de uma nova instalação.

    
por 02.06.2015 / 04:57
0

Em geral eu acho que não é uma boa idéia compartilhar seu homedir entre máquinas com diferentes (versões) do servidor X, gerenciador de janelas e / ou aplicativos X porque alguns deles freqüentemente usam os mesmos arquivos de configuração de diretório de usuário e versão diferente pode pisar no outro. Especialmente se as diferentes versões de software forem usadas ao mesmo tempo.

Muitas vezes, depois que uma versão mais recente de alguns softwares atualiza os arquivos, as versões mais antigas não podem mais usar esses arquivos.

Isso pode acontecer na outra direção também, normalmente ao tentar reutilizar como é um homedir de um sistema operacional mais antigo em um SO mais novo (enquanto um usuário com um homedir recém-criado no sistema operacional mais recente funciona muito bem) - sua incapacidade de fazer login na GUI poderia ser esse caso.

Uma possível abordagem para manter o homedir da VM no host HD de maneira não conflitante (estou usando algo nesse sentido quando estou atualizando meu sistema operacional):

  • exporte o homedir do host via NFS e monte-o na VM, digamos / mnt / host_userid .
  • crie um diretório vm_homedir dentro dele, que você usará como homedir na VM vinculando-a ao diretório / home da VM:

    / home / userid - > / mnt / host_userid / vm_homedir

  • links / diretórios do symlink que não sejam diretórios / arquivos de configuração do app para acessá-los convenientemente de ambas as máquinas no mesmo local:

/ mnt / host_userid / vm_homedir / documents - > ../ documents

Dessa forma, você mantém tudo no host HD (acessível mesmo se a VM estiver inativa), mas cada máquina trabalha com sua própria cópia dos arquivos de configuração.

    
por 02.06.2015 / 03:55