Como você migra seu ambiente de desenvolvimento assim que obtém um novo laptop?

4

Sempre que obtenho um novo laptop, tenho que passar pela dificuldade de fazer um sudo apt-get install xxx de todas as coisas com as quais estou acostumado, ou seja, recriar todo o ambiente novamente. Existe uma maneira fácil de migrar de um laptop para outro, dado que eu usaria o Ubuntu em ambos? (Além de estar em um vm o tempo todo? Eu também tentei usar o vmware físico, mas não foi uma experiência suave)

    
por Tathagata 09.07.2012 / 09:14

2 respostas

5

Sim, você pode, até certo ponto

isso pressupõe que você tenha os mesmos arquivos /etc/apt/sources.list e /etc/apt/sources.list.d/ que o primeiro é para repositórios regulares, e o último é onde o ubuntu adiciona os PPAs. Copie isto do seu sistema fonte e para o seu sistema de destino, e execute o comando de atualização do centro de software do apt-get / aptitude / ubuntu - veja esta resposta na AU para mais detalhes

Eu adaptei as instruções para transferir uma lista de pacotes de ubuntugeek .Você pode despejar uma lista de pacotes do sistema de origem para um arquivo de texto chamado installedpackages com

sudo dpkg --get-selections | grep '[[:space:]]install$='| awk '{print $1}' > installedpackages

e copie os pacotes de instalação para o sistema de destino e, em seguida, reinstale-o com cat installedpackages | xargs sudo aptitude install no local em que o installedpackages está em

Copiar em / etc / pode ser uma boa ideia também para arquivos de configuração principais.

E, é claro, copie /home/username para obter uma cópia do seu ambiente de trabalho, como suas pastas pessoais e a área de trabalho.

Lista de pacotes eliminando e reinstalando retirado de ubuntugeek.com

Isso deve cobrir uma boa parte dos arquivos em uma instalação 'desktop' do Ubuntu. Pode haver algumas coisas específicas que isso deixaria de ocorrer (o apache virtualhosts vem à mente), mas as configurações relacionadas ao pacote e à área de trabalho devem ser reduzidas.

    
por 09.07.2012 / 09:33
2

Você pode copiar sistemas de arquivos inteiros de uma partição para outra. Por exemplo. usando uma combinação de dd e nc .

root@old# dd if=/dev/sda1 bs=4M | nc -l -p 4444
root@new# nc old 4444 | dd of=/dev/sda1 bs=4M

Isso pressupõe que você esteja executando um sistema ativo, por exemplo, de um CD de instalação, no novo sistema. E que você tenha um nome de host ou endereço IP para o sistema antigo, para poder se conectar a ele via TCP. sda1 é assumido como sendo a partição do sistema de arquivos linux; ajuste conforme necessário se você usar uma partição diferente ou várias partições. Se você conseguir colocar ambas as unidades conectadas à mesma máquina, você pode usar dd sem nc .

Depois de copiar o sistema de arquivos como dito acima, você pode

  1. Ajuste o tamanho do sistema de arquivos usando resize2fs caso a nova partição seja maior.
  2. Monte o sistema de arquivos em algum lugar e chroot nele para instalar o carregador de inicialização. Você pode precisar de mount --bind de sistemas de arquivos adicionais, como /dev , dentro do sistema ativo.
  3. Novamente dentro do chroot, ajuste o conjunto de drivers instalados para corresponder ao novo hardware.

Migrei meus sistemas de arquivos por várias configurações de hardware diferentes, incluindo vários hdds. A mudança de 32 bits para 64 bits foi um pouco mais desafiadora, mas com o Gentoo eu ainda consegui isso sem precisar reinstalar meu sistema do zero.

    
por 09.07.2012 / 10:03

Tags