Eu suspeito que não existe uma maneira fácil, estável, confiável e automatizada, já que não é algo que será necessário com frequência suficiente para que valha a pena gastar muito tempo desenvolvendo e testando, e fazendo isso manualmente provavelmente levaria mais tempo do que simplesmente reconstruir a instalação da VM a partir do zero.
Você pode acelerar a reconstrução até certo ponto, mas pode ter certeza de ter todos os mesmos pacotes instalados executando
sudo dpkg --get-selections | grep '[[:space:]]install$' | \awk '{print $1}' > package_list
na antiga VM, transferindo o arquivo e executando
cat package_list | xargs sudo apt-get install
na nova VM.
Em seguida, copie a árvore /etc/
da VM antiga para a nova máquina (não como /etc
- solte-a em algum lugar temporário) e use uma ferramenta diff
para localizar as diferenças que você precisa transferir. A razão para não apenas copiar em massa /etc
no lugar é que pode haver pequenas diferenças na configuração padrão para alguns pacotes de 64 bits / 32 bits que você pode querer pelo menos olhar ao invés de blitzing sem saber. Para começar, /etc/apt/sources.lst
precisará diferir. (Mesmo se estiver fazendo isso para duplicar uma instalação de 32 bits para outra instalação de 32 bits, eu ainda não copiai apenas /etc
wholesale - fazer um diff como esse dá a você a chance de descobrir coisas que não são mais relevante e deveria ter sido removido para maior clareza)
Depois disso, copie / home para recuperar qualquer configuração & dados, e qualquer coisa como /var/www
se você tiver arquivos servidos por HTTP de lá, e assim por diante, e você está praticamente pronto.
Eu usei o acima para replicar uma instalação de 32 bits como outra instalação de 32 bits, mas ela deve funcionar tão bem entre as arquiteturas. Você pode encontrar alguns pacotes fazendo com que o comando apt-get
avise sobre não encontrar o pacote. Alguns desses pacotes de compatibilidade de 32 bits não estarão presentes no repositório de 32 bits, obviamente (basta removê-los da lista de pacotes e reexecutá-los) e alguns podem ser pacotes explicitamente chamados de 32 bits e 64 bits ( Nesse caso, encontre o nome correto usando a pesquisa em packages.ubuntu.com, edite a lista de pacotes e execute novamente o apt-get).
É claro que isso não irá replicar nada que você não tenha instalado nos repositórios do Ubuntu, então você terá que refazer qualquer coisa assim manualmente, mas, caso contrário, esse processo pode economizar um pouco de tempo. Além disso, antes de executar o apt-get, certifique-se de que as novas VMs sources.list tenham os mesmos repositórios ativados como o antigo, ou você obterá muito mais problemas de pacote não encontrado de apt-get
.