Como migrar as configurações e os dados do usuário para a nova máquina?

49

Sou novo no Ubuntu e recentemente comecei a usá-lo no meu PC. Vou substituir esse PC por uma nova máquina. Eu quero transferir meus dados e configurações para o nettop. Quais aspectos devo considerar?

Obviamente, quero transferir meus dados. Quais são as coisas que estão faltando se eu copiar apenas a pasta base inteira?

Este é um computador doméstico (não corporativo), portanto, os direitos do usuário e outros problemas de segurança não são uma preocupação, exceto que os arquivos devem estar acessíveis na nova máquina!

Por favor, leve em conta que a nova máquina é uma nettop que não tem uma unidade óptica e não permite que eu conecte o antigo disco SATA a ela, então qualquer transferência de dados deve ser feita através da rede doméstica (eu posso ter a velha e a nova máquina ligadas e conectadas à LAN doméstica) e tenho um thumbdrive USB com capacidade limitada (2GB). Isso parece limitar a aplicabilidade geral, mas seria de fato torná-lo mais geral.

    
por Torben Gundtofte-Bruun 10.02.2011 / 14:07

9 respostas

39

As configurações do usuário são armazenadas na pasta Início por design. Então, se você copiar seu /home/your-username para o seu novo computador, você deve estar bem ...

... mas existem ressalvas:

  • Permissões. É comum que "programas" (shellscripts, programas de compilação personalizados) sejam colocados na pasta inicial. Para preservar as permissões, use a opção --preserve=mode (usando cp ) ou -p (usando tar )
  • UserID / GroupID. Mesmo se os nomes de usuários forem iguais nos dois sistemas, o ID do usuário não precisa. Geralmente, isso não é um problema, mas se você tiver scripts / programas / configurações de retransmissão no UserID, certifique-se de que o ID do usuário e o ID do grupo sejam os mesmos no sistema de destino. Você pode encontrar o userID e o groupID atuais executando id . Por exemplo, para alterar o userID do usuário "seu-nome de usuário", execute sudo usermod --uid 1234 your-username . Para alterar o groupID, você precisa executar sudo groupmod --gid 1234 your-username .

As configurações (perfil do Firefox, aparência, ...) geralmente são armazenadas em pastas ocultas (ou arquivos). Pastas / arquivos ocultos são prefixados com um ponto, como .mozilla para o Firefox (e outras aplicações Mozilla).

Como a segurança não é um problema, e você quer que o trabalho de cópia seja feito o mais rápido possível, sugiro uma combinação dos programas netcat e tar. Ambos os aplicativos são instalados por padrão. Verifique se os firewalls nos dois computadores permitem o acesso de entrada à porta de destino 8888 (computador de origem) e à porta de destino 8888 (computador de destino). Coloque o nettop ao lado do computador para que você possa executar os comandos rapidamente.

No computador de origem, você precisa ter o tradicional programa netcat instalado (também conhecido como Swiss Army Knife, não o BSD). Para fazer isso, instale o pacote netcat-traditional . Você também pode querer configurar o programa tradicional netcat como padrão. Comandos para instalar o tradicional netcat e usá-lo como padrão:

sudo apt-get install netcat-traditional 
sudo update-alternatives --set nc /bin/nc.traditional

No computador de origem, digite o próximo comando em um terminal (não pressione Enter ainda):

 tar cz -C/home $(whoami) | nc -l -p 8888 -w 10

Explicação:

  • tar é um utilitário para empacotar arquivos
  • cz c reage tal arquivo compactado ("tarball")
  • O tarball é compactado usando o algoritmo ip G Z para diminuir o tamanho do arquivo.
  • -C/home $(whoami) altera o diretório de trabalho para /home e coloca sua pasta de nome de usuário. Alternativamente, você pode digitar sua pasta your-username no tarball
  • nc (netcat) é usado para configurar conexões entre máquinas facilmente
  • -l : modo de escuta, permite que outras máquinas se conectem à máquina atual
  • -p 8888 : ouve na porta 8888 (número escolhido aleatoriamente, pode ser qualquer outro número maior que 1024 também)
  • -w 10 : sai do netcat após 10 segundos de silêncio. Você deve se conectar a esse computador de origem nesse período.

Agora vá para o computador de destino (nettop). Para adicionar os arquivos à máquina de destino, digite (não execute ainda):

nc 192.168.1.2 8888|tar xzp -C/home
  • 192.168.1.2 é o endereço IP do computador de origem. Para obter seu endereço IP, execute: ifconfig na máquina de origem
  • 8888 é o número da porta conforme digitado na máquina de origem
  • xzp : e x contém o tarball compactado com ip de Z enquanto p reserva permissões.
  • -C/home : extrai a pasta your-username para /home/your-username
  • Opcionalmente, adicione a opção -v ao comando tar para extração detalhada, para que você possa ter uma ideia do progresso. Isso pode atrasar o processo de cópia, porque todo arquivo precisa ser impresso.

Agora vá para o computador de origem, pressione Enter para executar o comando do servidor. Mude rapidamente para o seu nettop e pressione Enter para executar o comando do cliente.

Se você tiver alguma dúvida, basta usar o campo de comentários abaixo.

    
por Lekensteyn 10.02.2011 / 15:37
16

Para os pacotes de software, você deve ler o seguinte: link

oldmachine$ sudo dpkg --get-selections > installedsoftware
newmachine$ sudo dpkg --set-selections < installedsoftware
newmachine$ sudo apt-get --show-upgraded dselect-upgrade

Para as configurações e dados, é um pouco mais complicado :-(  A maioria das configurações são armazenadas em sua pasta pessoal, então fazer um backup do seu HOME pode fazer o truque ... Mas é claro que isso não cobre os aplicativos do sistema, que têm suas configurações armazenadas em / etc ...

    
por Little Jawa 29.07.2010 / 16:40
12

A maioria de todas as configurações de aplicativos está na sua pasta pessoal oculta por padrão. Se você pressionar Ctrl+h no Nautilus, verá essas pastas. Eu encontrei a maneira mais fácil é simplesmente rsync as pastas que você precisa para as configurações. Algo parecido com isto:

rsync -avz me@remote:/home/me/.foo me@remote:/home/me/.var me@remote:/home/me/.ack me@remote:/home/me/.bar /home/me/

Você também pode - apenas rsync sua pasta inteira para a nova máquina -, mas isso pode causar problemas, dependendo de suas configurações.

    
por Marco Ceppi 29.07.2010 / 16:42
12

Os desenvolvedores do Ubuntu estão trabalhando nisso, é chamado de OneConf .

    
por akshatj 03.08.2010 / 14:54
7

Se você tem uma instalação que você gosta em uma máquina, você pode simplesmente cloná-la. Não importa se as máquinas têm hardware diferente, desde que executem a mesma arquitetura (32 bits ou 64 bits, ou seja, i386 ou amd64 ou ...).

Aqui está uma maneira de fazer isso. É um pouco longo, mas bastante low-tech. Muitas variações são possíveis.

  1. Conecte o disco da nova máquina na máquina existente (ou vice-versa).
  2. Inicialização da instalação existente.
  3. Configure o novo disco :
    • Se os discos tiverem o mesmo tamanho: inicie a ferramenta de partição (Sistema / Administração / GParted, pacote gparted ) e copie todo o disco antigo para o novo disco.
      • Você deve fornecer às cópias dos sistemas de arquivos novos identificadores exclusivos, para evitar qualquer confusão se você montar o disco de uma máquina na outra máquina posteriormente. Para o sistema de arquivos ext2 / ext3 / ext4, use um comando como sudo tune2fs -U $(uuidgen) /dev/sdz1 , em que sdz é o novo disco e 1 é o número da partição.
      • Se você atribuiu nomes a seus volumes, convém atribuir nomes diferentes.
    • Caso contrário, configure as partições no novo disco com GParted ou Sistema / Administração / Utilitário de Disco e formate-as. Se você tiver partições do mesmo tamanho em ambos os discos, poderá copiá-las no GParted.
  4. Monte a partição raiz da nova instalação que agora deve aparecer nos Locais.
  5. (ignore esta etapa se você copiou todo o disco.) Copie os dados da partição raiz da instalação antiga para a nova. Observe que é vital preservar as permissões e a propriedade de arquivos nesta etapa, e isso significa que você deve fazer isso como o superusuário (root). Eu não sei o que é a maneira de fazer o GUI do Ubuntu. Na linha de comando, execute sudo cp -ax / /media/disk9 (substitua /media/disk9 pelo local em que a nova partição raiz está montada).
  6. Repita as duas etapas anteriores para qualquer outra partição que você tenha (por exemplo, uma partição base separada), a menos que tenha copiado essa partição (ou o disco) como um todo na etapa 3.
  7. Ajuste a nova instalação (supondo que esteja montada em /media/disk9; adjust as needed ):
    • Edite /media/disk9/etc/hostname para definir o nome da nova máquina. Verifique os arquivos em /media/disk9/etc/ para outras ocorrências do nome do host - pode aparecer em /media/disk9/etc/hosts , /media/disk9/etc/mailname , etc.
    • Se você estiver executando um servidor ssh , remova /media/disk9/etc/ssh/ssh_host_*_key* . O servidor gerará novas chaves quando você inicializar a nova instalação.
    • Se você configurou a rede editando /etc/network/interfaces , edite /media/disk9/etc/network/interfaces para a nova instalação.
    • Opcionalmente, remova os arquivos /etc/udev/rules.d/70-persistent-*.rules , se presentes, para que seus discos e interfaces de rede reutilizem os mesmos nomes ( sda , eth0 ,…) na nova máquina.
    • Se você estiver usando drivers de vídeo proprietários (ATI ou Nvidia) e a nova máquina não usar o mesmo driver, mova /media/disk9/etc/X11/xorg.conf para /media/disk9/etc/X11/xorg.conf.old-machine , caso contrário, talvez você não consiga para inicializar uma GUI na nova máquina.
  8. Mova o disco com a nova instalação de volta à sua máquina correta.
  9. Se você não clonou o disco como um todo, insira um CD / USB ativo e repare o gerenciador de inicialização .
  10. Inicialize a partir da nova instalação e execute as etapas de transição necessárias para a esquerda:
    • Talvez seja necessário instalar novos drivers proprietários (drivers do sistema / administração / hardware).
    • Se você tiver um endereço IP estático configurado por meio do Network Manager, configure a rede para a nova máquina.
    • Se você executar um servidor ssh , execute dpkg-reconfigure openssh-server para gerar uma nova chave de host.
por Gilles 01.10.2010 / 20:30
6

Todos os seus dados e configurações estão em sua casa.

Se você copiar apenas, perderá:

  • Programas instalados. Mas veja a resposta da Sabacon para esta pergunta .
  • Configurações de todo o sistema, em um computador doméstico, geralmente são apenas PPAs extras.
  • Dados de programas do sistema (geralmente daemons) (como bancos de dados MySQL).

Eu sinto que a maneira mais fácil de fazer uma cópia da rede é esta:

  • Instale o servidor OpenSSH no computador antigo.
  • Verifique se os dois computadores estão conectados à rede.
  • Abra o Nautilus (o navegador de arquivos) no novo computador.
  • No menu Exibir, marque a opção "Mostrar arquivos ocultos".
  • Pressione CTRL + L, no tipo de barra de endereço ssh://ip-of-old-computer/home/
  • Você deve receber um nome de usuário e uma senha no computador antigo.
  • Copie tudo o que você quiser usando a GUI.

    
por Javier Rivera 10.02.2011 / 15:50
4

Dropbox.

É assim que faço backup de minhas configurações de uma máquina para outra e, se perder completamente meu disco rígido, não importa.

O Dropbox é um serviço de backup / sincronização on-line, e dá um grande saque, e você pode obtê-lo gratuitamente. Está disponível no ubuntu Karmic e sob os repositórios do Partner. Você está procurando por um pacote chamado nautilus-dropbox. Ou você pode fazer o download do site: link

Como mencionado acima, a maioria das configurações relevantes são salvas em /home/yourname/.whatever

Por exemplo, as configurações do gnome são salvas em

/home/username/.gnome2

Então, para fazer a sincronização:

Parte um: Faça o backup das definições de configuração no Dropbox. (Isso é tudo na máquina "antiga", onde você tem suas configurações / configuração como você quer.)

  1. Vá para o seu diretório pessoal e encontre quantos "dotfiles" e diretórios você puder. Quase todas elas serão relevantes para configurações pessoais (pressione Control + H no Nautilus para visualizar arquivos ocultos).
  2. Você vai querer copiar os arquivos de configuração para a sua pasta do Dropbox. FAÇA UM BACKUP SE VOCÊ ESTIVER RECEOSO DE PERDER.
  3. Remova os arquivos originais do seu diretório pessoal e crie um link do arquivo em sua nova home (sob a pasta da caixa de depósito) para o diretório inicial. Você pode fazer isso arrastando e soltando o arquivo / pasta para o nome do seu diretório pessoal enquanto segura a tecla "Alt" e selecione "criar link".

Parte dois: (Na nova máquina.) Crie links a partir das configurações de sincronização sincronizadas com o Dropbox.

  1. Na sua "nova" máquina, ou seja. Ubuntu fresco instalar, excluir ( E BACK UP SE NECESSARY ) seus arquivos de configuração de diretório antigo. Instale o dropbox na nova máquina. Permitir que sincronize, faça o download AKA suas configurações da máquina antiga.
  2. Repita a etapa 3 acima na nova máquina - copie links de pastas sincronizadas com o Dropbox para o diretório inicial.

Voila. Agora você tem backup e migração de configurações baseadas na Internet.

    
por emf 01.10.2010 / 09:05
2

Dê uma olhada no Stipple, parece interessante para mim:

"Salve uma lista de aplicativos instalados, arquivos .config e outras configurações em um couchDB. Sincronize esse banco de dados com outros computadores com o Ubuntu One. Esse aplicativo também ajuda a instalar esses pacotes e arquivos .config em outros computadores."

link

    
por Sabacon 08.11.2010 / 16:20
0
O

Mackup pode fazer backup de muitos aplicativos para o controle de nuvem ou de versão. É fácil estender, por exemplo, é assim que o plug-in ssh parece

    
por ivotron 19.11.2014 / 23:34