Como faço para migrar a configuração entre computadores com hardware diferente?

9

Eu quero migrar a configuração de um desktop Ubuntu para uma nova caixa com hardware diferente. Qual é a maneira mais fácil de fazer isso? / etc / contém configurações específicas de máquina e hardware, portanto não posso copiá-lo cegamente. Um problema similar existe para pacotes instalados.

edit: Este é um movimento de x86 para x86-64.

    
por user4745 13.02.2011 / 19:30

4 respostas

7

Primeiro, se você continuar a executar binários de 32 bits, você não está realmente alterando a arquitetura do processador: você ainda estará executando um processador x86, mesmo que ele também seja capaz de fazer outras coisas. Nesse caso, recomendo clonar sua instalação ou simplesmente mover o disco rígido, conforme descrito em Mover o linux para um novo computador .

Por outro lado, se você deseja ter um sistema de 64 bits (em termos do Ubuntu: uma arquitetura amd64 ), é necessário reinstalar, porque não é possível instalar amd64 packages em i386 sistema ou vice-versa. (Isso mudará quando o Multiarch aparecer).

Muitas personalizações estão em seu diretório pessoal e você pode copiá-las para a nova máquina. As configurações do sistema não podem ser copiadas tão facilmente devido à mudança na arquitetura do processador.

No Ubuntu 10.10 ou superior, tente OneConf .

OneConf is a mechanism for recording software information in Ubuntu One, and synchronizing with other computers as needed. In Maverick, the list of installed software is stored. This may eventually expand to include some application settings and application state. Other tools like Stipple can provide more advanced settings/control.

Uma das principais coisas que você desejará reproduzir na nova instalação é o conjunto de pacotes instalados. Em distribuições baseadas em APT, você pode usar o comando aptitude-create-state-bundle (parte do pacote aptitude ) para criar um arquivo contendo a lista de pacotes instalados e seus debconf e aptitude-run-state-bundle na nova máquina. (Agradecimentos a intuited por me informar sobre aptitude-create-state-bundle .) Veja também Ununtu list explicitamente instalou os pacotes e as perguntas sobre Superusuário e Ask Ubuntu citadas ali, especialmente A resposta de Telemachus , sobre como fazer essa parte manualmente .

Para as coisas que você alterou em /etc , você precisará analisá-las. Muitos têm a ver com as configurações específicas de hardware ou rede e não devem ser copiados. Outros têm a ver com preferências pessoais - mas você deve definir preferências pessoais por usuário, sempre que possível, para que as configurações sejam salvas em seu diretório pessoal.

Se você planeja com antecedência, você pode usar o etckeeper para colocar /etc sob controle de versão ( início rápido do etckeeper ). Você não precisa saber nada sobre o controle de versão para usar o etckeeper, você só precisa começar a aprender se você quiser aproveitá-lo para fazer coisas extravagantes.

    
por 14.02.2011 / 20:26
3

Veja como obter tudo, exceto o que você configurou manualmente:

dpkg --get-selections > packages.txt
debconf-get-selections > debconf.txt

Edite esses arquivos conforme necessário para qualquer coisa que seja dependente do arco (por exemplo, linux-image), mas não acho que haverá muito.

Copie esses arquivos para o novo sistema e execute:

debconf-set-selections < debconf.txt
dpkg --set-selections < packages.txt
apt-get dselect-upgrade

Você também vai querer copiar (de preferência com rsync) / home e quaisquer outros diretórios de dados para o novo sistema.

A única coisa que resta são os arquivos de configuração dos principais pacotes (por exemplo, apache, bind, cronjobs, et al.).

    
por 14.02.2011 / 19:54
1

Realmente, muito do Windows voodoo relacionado a drivers, o registro e a sensibilidade a alterações na placa-mãe é menos severo no Linux se você estiver usando um kernel genérico com todos os drivers como módulos, que é a situação usual do Ubuntu. Estas são as únicas coisas em / etc que dependem do hardware que eu conheço:

  • Se você tiver drivers gráficos proprietários instalados, eu acho que isso pode ser um problema.
  • Troquei um disco rígido com o Debian instalado de um antigo HP Pavilion (CPU de 500Mhz, bastante antigo) para uma placa MSI KT4V um pouco mais nova. Os únicos problemas que tive foram os nomes da minha interface de rede estavam confusos. Mas isso me afetou mais do que o usuário comum, porque essa instalação era explicitamente para uso como roteador.
  • Outra coisa que pode ser afetada são sensores de lm, se você usá-lo. Isso é específico da placa-mãe, mas você pode simplesmente executar a detecção de sensores para corrigir isso.
  • Se você alterar o dispositivo que o Linux espera que seja sua partição raiz, ou se algum dos dispositivos / partições apontados em / etc / fstab for alterado, ou seja, você estiver movendo de uma unidade PATA para uma SATA, será necessário atualizar este caso contrário, o Linux terá problemas.

Se a GPU for a mesma, o controlador da unidade é do mesmo tipo e você não tem muitos scripts caseiros dependendo dos nomes de suas interfaces de rede, eu não vejo problemas importantes.

    
por 13.02.2011 / 19:59
0

[adicionando ao esta excelente resposta ]

Eu vejo que você mencionou preocupação com os pacotes instalados. Com isso, suponho que você esteja falando que vai transferir um disco de uma máquina para outra. Supondo que suas duas máquinas sejam arquitetura x86, o único problema que posso imaginar é que a sua instalação é de 64 bits e sua nova máquina não é. Se as coisas são o outro ao redor, não deve haver um problema.

    
por 13.02.2011 / 20:22