Como posso duplicar meu ambiente Linux se estiver migrando para um hardware diferente?

10

Atualmente tenho pacotes, módulos, configurações, etc. para Eclipse, MySQL, Python, Firefox, etc. configurados no Kubuntu. Eu também configurei o Kubuntu de forma otimizada para as minhas necessidades. Eu gostaria de duplicar meu ambiente em outra máquina que tem um processador diferente (atualmente em um processador Intel Q9450, o novo processador é um i7). Pelo que entendi, meus aplicativos são compilados para uso com meu processador específico, portanto, fazer uma cópia de partição reta está fora de questão.

Existe alguma maneira de duplicar o meu ambiente para esta outra máquina, a menos de reinstalar e reconfigurar tudo?

    
por curious 29.01.2010 / 06:09

6 respostas

3

As I understand, my applications are compiled for use with my specific processor, so making a straight partition copy is out of the question.

O que te leva a essa conclusão? Pelo menos para o x86, os pacotes instalados pelo Kubuntu são compilados para rodar em praticamente todos os processadores não pré-históricos. Eu acredito que eles rodarão em algo mais novo que um 486, o que provavelmente não representa um problema no seu caso: -).

Portanto, uma cópia de partição direta deve funcionar bem:

  • copiar partições (ou apenas copiar os arquivos usando cp -a , se o layout da partição tiver sido alterado)
  • adapte o / etc / fstab ao novo layout de partições
  • reconfigure o carregador de inicialização para novas partições e reinstale o carregador de inicialização
  • boot & aproveite

Problemas só são esperados para:

  • pacotes auto-compilados, mas mesmo assim, a maioria irá, por padrão, compilar para todas as CPUs modernas, a menos que você jogue com opções de compilador
  • drivers de dispositivo

A maioria dos kernels modernos autodetectam o hw na inicialização, então normalmente os drivers devem estar ok, mas se as coisas falharem, você pode normalmente inicializar no modo de usuário único e corrigir qualquer problema de driver.

    
por 29.01.2010 / 10:32
7

Você pode levar seu diretório inicial sem nenhuma alteração. Quase tudo o que entra em um diretório pessoal é projetado para ser compartilhado em relação a algo como o NFS, então você é bom.

Além disso, salve sua seleção de pacotes com

sudo dpkg --get-selections '*' >file.txt

e restaure-o na outra máquina com

sudo dpkg --set-selections <file.txt

Da mesma forma, salve suas configurações do debconf com

sudo debconf-get-selections >file2.txt

e restaurar com

sudo debconf-set-selections <file2.txt

Para o resto da configuração em /etc que não é gerenciada pelo debconf, é difícil rastrear o que foi alterado manualmente, a menos que você tenha usado algo como etckeeper (talvez uma idéia para o futuro). Por esse motivo, tenho a tendência de manter a maior parte da minha configuração no meu diretório pessoal. Mas como você sabe em quais programas está interessado, é fácil encontrar os arquivos relevantes em /etc e verificar e copiá-los manualmente.

    
por 29.01.2010 / 09:22
1

Você pode fazer backup de sua casa e restaurá-la na outra máquina. Isso não pode satisfazer plenamente sua necessidade, mas restaurará toda a configuração. Você precisa reinstalar os pacotes por conta própria.

    
por 29.01.2010 / 06:55
1

A grande maioria das configurações personalizadas estará em / home /, com a maior parte do restante em / etc /. alguns dos arquivos / etc têm informações específicas de máquina ou hardware (/etc/X11/xorg.conf, / etc / hostname, / etc / fstab fora do topo da minha cabeça), mas muito do que pode ser copiado se você vão usar a mesma versão do SO.

    
por 29.01.2010 / 07:55
1

Segundando o get, defina as seleções.

Para saber exatamente quais arquivos de configuração foram alterados, execute isto:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  [[ -r $f ]] || continue; m2=$(md5sum "$f") ;
  [[ $m2 != "$m  $f" ]] && echo "$f";
done |xargs -n1 dlocate  |tee ~/edited-conffiles

Se você ainda não tem o dlocate instalado, pode substituí-lo por dpkg -S ou pular essa parte.

Para fazer backup de todos os arquivos de configuração:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  echo "$f"
done |sudo tar cjf ~/conffiles.tbz2 -T -
    
por 29.01.2010 / 10:57
1

Hmm. Se você não se importar com um pouco de mexer você pode conectar o novo disco rígido em sua caixa, montá-lo e usar o dd. Por exemplo, se a sua raiz atual está definida para / dev / sda3 e você montou o novo HDD em / dev / sdb2, você usaria

dd if=/dev/sda3 of=/dev/sdb2

Você precisará fazer isso como root, é claro. Depois disso, você vai querer instalar o Grub, então você precisa colocar um LiveCD do Ubuntu e usá-lo.

Ou você pode dar uma olhada neste link: link - Parece uma bela bom caminho para clonar um disco rígido do Linux, embora eu não tenha testado o site por mim mesmo.

    
por 29.01.2010 / 11:41