Mover a pasta home para a nova instalação do Ubuntu

2

É possível mover a pasta pessoal para uma nova instalação do Ubuntu para manter todas as configurações e ajustes feitos ao usuário nesse computador? Como se eu criasse um novo usuário na nova instalação do Ubuntu com o mesmo nome e senha do usuário que eu gostaria de migrar para a nova instalação do Ubuntu. Será que vai funcionar, ou melhor ainda, é seguro?

    
por Esbjörn Stenberg 15.08.2016 / 23:27

1 resposta

2

Sim. Eu fiz muitas vezes. O rsync tem um modo "-a" que preserva a propriedade, os tempos de arquivo, tudo. Pode enviar arquivos pela rede. Ou você pode copiar para um disco externo formatado em ext4 e restaurar com rsync. Apenas lembre-se de não copiar com o arrastar e soltar ordinário, use rsync e preserve o arquivo de todas as propriedades ("-a").

Suponha que my.old.computer tenha sua conta "myuser".

Configure o novo computador my.new.computer. Crie "myuser" lá. Se você for meticuloso, obtenha o ID do usuário e o ID do grupo do sistema antigo e atribua-os ao criar a conta do usuário. Isso pode reduzir problemas, mas acho que só faço isso porque sou antiquado e isso deu errado uma vez em 2005. Sabe o que quero dizer sobre uid e git? Números da conta do usuário. No antigo sistema execute "id myuser", então quando você cria o novo usuário no novo computador, você atribui o mesmo uid e gid.

Crie alguma outra conta em ambos os sistemas, não queremos tentar copiar uma pasta de usuário para "myuser" quando o usuário está logado, uma vez que uma sessão depende dos arquivos que você destrói. Repetir: não deve efetuar login como myuser quando você deseja copiar arquivos para a conta myuser. Em qualquer sistema.

No novo sistema, como root, mova o diretório de usuários padrão para fora do caminho (seja seguro, não apague!), então crie um novo diretório

 sudo mv /home/myuser /home/myuser.orig
 sudo mkdir /home/myuser
 sudo chown myuser.myuser /home/myuser

Você precisa da última etapa para que sua conta de usuário comum possa rsyncar os arquivos. Não queremos fazer isso como root

Em seguida, copie a pasta / home / myuser do antigo para o novo, usando os sinalizadores rsync -rav.

Pode enviar arquivos do sistema antigo para o novo sistema. No antigo sistema

 cd /home
 rsync -e ssh -ravn myuser  [email protected]:/home

-r: recursivo -a: modo de arquivo -v: modo detalhado. Você pode deixar isso de lado, vai mais rápido. Mas com menos tranquilidade. -n: não faça nada!

Eu coloquei o sinalizador "-n" porque eu quero um teste, se houver erros nós descobriremos. Em seguida, execute o mesmo com nenhum sinalizador -n.

Isso só funcionará se sua conta de usuário tiver permissões para copiar e gravar os arquivos em / home / myuser. Eu não tenho certeza de como fazer isso sem ser root, mas eu costumava saber, e aposto que alguém aqui sabe o que fazer.

Ou se você estiver no novo sistema, pode copiar de outro

cd /home
rsync -e ssh -rav my.old.computer:/home/myuser .

Período "." significa diretório de trabalho atual. Corra com o -n primeiro para ver o que está errado.

Eu fiz isso muitas vezes. A configuração manual do uid e do gid realmente não deve ser necessária, já que a combinação de ssh e rsync deve atribuir os novos arquivos corretamente. No entanto, eu entendi errado uma vez e todos os novos arquivos apareceram como usados pelo usuário errado. Onde você espera ver a saída ls -la assim:

rw-------   1 myuser myuser        174 Aug  4 22:43 .Xauthority

você vê números de usuários, como

rw-------   1 504 50004        174 Aug  4 22:43 .Xauthority

ou, pior ainda, algum outro nome de usuário. Isso acontece porque o uid e gid realmente determinam a propriedade do arquivo, o nome legível por humanos é superficial.

Normalmente você pode mexer com o chown, mas você não verá se alinhar o uid e o gid.

Não se preocupe muito se a cópia acima falhar uma vez ou se fizer algo que você não espera, porque você pode sempre executar novamente. Você não está destruindo o computador antigo, e o novo computador está, bem, em branco.

Acho que alguns amantes do tar irão dizer que a melhor maneira é aumentar o antigo, mover o arquivo tar.gz e expandi-lo. Em 2003, isso pareceu vital para nós, mas ultimamente o método rsync funcionou bem.

A propósito, se alguém estiver interessado em aprender sobre o rsync, o "man rsync" é uma das melhores e mais úteis páginas de manual de todos os tempos. É legível por humanos com muitos exemplos e é uma das razões pelas quais me agarro ao rsync como um bote salva-vidas na manutenção do sistema.

    
por pauljohn32 16.08.2016 / 05:14