Depois de reinstalar a adição de uma partição inicial: Posso copiar a pasta base antiga para a nova partição?

4

Eu corro 16.04 em um sistema combinado e partiton em casa. Eu planejo uma reinstalação completa com uma partição home separada. É uma boa idéia salvar toda a pasta / home / myUser em mídia externa e copiá-la de volta para a nova partição base (sobrescrevendo os arquivos, se existirem)?

Ou devo apenas salvar dados do usuário, como fotos, arquivos que eu editei etc em mídia externa. Também alguns arquivos "system" selecionados? O único em que chego a pensar agora é .vimrc. (E não substituir arquivos.)

Que problemas / trabalho duplo podem ocorrer neste processo?

(Há muito tempo ouvi falar de procedimentos para criar uma partição home separada sem usar mídia externa, mas isso talvez seja um risco desnecessário?)

    
por ycc_swe 18.10.2017 / 19:32

3 respostas

8

Sim! Você pode copiar a pasta antiga para a nova partição (através de um disco rígido externo)

Mas ... e as permissões de arquivo?

O problema é que, se o seu disco rígido externo estiver formatado para incompatibilidades do Windows, ele não respeitará a propriedade e as permissões do arquivo quando você copiá-las para a unidade externa.

Para a maioria dos arquivos, isso não importa. No entanto, para alguns arquivos como a chave privada ssh , as permissões são importantes e sem o tipo certo de permissão, a chave não funcionará.

Solução 1

Formate a unidade externa em ext4 , o formato padrão usado pelo Ubuntu. A desvantagem é que todos os dados na unidade externa serão perdidos quando você os reformatar em ext4 . No lado positivo, você terá uma unidade externa especificamente para transferir dados entre dois computadores Ubuntu (qualquer Linux).

Arraste e solte ou copie e cole por Ctrl + C e Ctrl + V no Nautilus funcionaria apenas se você for o único usuário do computador e houver apenas uma conta de usuário (sua).

Se o computador tiver outras contas de usuário que você deseja copiar usando o terminal. Digamos que seu disco rígido externo esteja montado como /media/$USER/USB2TB . Abra um terminal pressionando Ctrl + Alt + T e digite:

sudo cp -rp /home /media/$USER/USB2TB/home

Em vez do comando cp , você pode querer usar rsync como:

sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/home/.

Consulte o link para obter várias respostas sobre a diferença entre cp e rsync .

Em todos os casos, lembre-se de ejetar ou Remover com segurança o disco rígido e ESPERAR até que seja seguro desconectar.

Solução 2

Use o software padrão Backup que vem com o Ubuntu para fazer backup de sua pasta pessoal. Certifique-se de que o destino de backup seja a unidade externa. Isso garante que os dados de propriedade e permissão sejam preservados, mesmo que a unidade esteja formatada como FAT32 ou NTFS.

Solução 3

Coloque tudo em um tarball compactado. Abra um terminal pressionando Ctrl + Alt + T e digite:

tar czvf /media/$USER/USB2TB/myhomebackup.tar.gz /home/$USER

em que $USER é seu ID de usuário para este computador. As opções de tar czvf fazem o seguinte:

  • c cria um novo arquivo
  • z filtra o arquivo por meio do gzip para torná-lo compactado
  • v verbosely list files processados
  • f <name of archive> use o nome do arquivo de archive <name of archive>

Para substituir ou não?

Como esta é a mesma máquina, sem nenhum hardware novo, eu sobrescrevo os arquivos existentes. Primeiro, com uma nova instalação, não há dados "reais" na sua pasta pessoal. Segundo, sobrescrevendo os arquivos ocultos traz de volta as configurações, marcadores etc. da sua instalação antiga.

Acho mais fácil percorrer as pastas e arquivos ocultos (os nomes de arquivos e pastas que começam com um .dot) depois e excluir os que não são necessários. Por exemplo, se eu não precisar mais do programa foo e não instalar foo na nova instalação, eu excluiria a pasta .foo na minha pasta pessoal. Mesmo se eu não excluir .foo , não ocupará muito espaço. Se eu decidir que preciso usar foo novamente algum dia, a configuração estará lá.

Pode ser feito sem uma nova instalação?

Sim! Você pode mover a pasta inicial para uma nova partição. Existe um excelente guia sobre isso em: link

Eu recomendo strongmente que você faça um backup (ou dois backups!) de suas fotos, músicas ou o que quer que seja importante para você, antes de tentar isso.

Erros acontecem. Se você fizer um, seus dados podem ter desaparecido para sempre. Portanto, seja seguro e mantenha pelo menos dois backups de arquivos importantes antes de tentar qualquer um desses itens.

Espero que isso ajude

    
por user68186 18.10.2017 / 20:25
4

Eu faço exatamente a mesma coisa no meu sistema e geralmente não tenho problemas.

  • Eu não restauro todos os arquivos em ~ / .config, mas apenas seleciono arquivos que contenham alguns dados que eu quero
  • Eu copio de volta os arquivos em ~ / .mozilla e ~ / .thunderbird
  • Eu copio arquivos em ~ / .config / variety e ~ / .config / qBittorrent

A maioria dos arquivos em ~ / .config é reconstruída quando o programa que os utiliza começa pela primeira vez, e quaisquer alterações que eu tenha feito são irrelevantes.

    
por Charles Green 18.10.2017 / 19:48
2

Sim, você pode copiar o conteúdo da pasta antiga para a nova partição.

Digamos que você tenha inicializado a partir de uma unidade ativa e monte a partição raiz e a partição de inicialização

sudo mkdir /mnt/root
sudo mkdir /mnt/home

sudo mount /dev/sdxm /mnt/root  # the root partition
sudo mount /dev/sdyn /mnt/home  # the home partition

onde x, y são letras de unidade e m, n são números de partição.

Você pode copiar com rsync de uma maneira que preserve as permissões e a propriedade,

sudo rsync -Havn /mnt/root/home/ /mnt/home

Por favor, observe a barra à direita / na especificação da fonte. Este é um 'dry run', e se a saída parece boa, você pode fazer a cópia real,

sudo rsync -Hav /mnt/root/home/ /mnt/home

Lembre-se de adicionar uma linha para a partição /home no arquivo /etc/fstab , que está em /mnt/root/etc/fstab quando você ainda é inicializado da unidade ativa.

sudo nano /mnt/root/etc/fstab

A linha deve ser semelhante a esta linha,

UUID=2175f8ed-4ab3-4268-b5d6-f38c2017e547 /home  ext4  errors=remount-ro  0  2

onde você deve substituir a string hexadecimal UUID pela de sua partição /home , conforme visto por blkid (sem aspas).

Como descrito na resposta de Charles Green, você pode ou não pular alguns dados em ~/.config .

Eu usei outro método ao atualizar para o 16.04 LTS: Eu tenho dados pessoais em uma partição de dados separada , que também é montada através do arquivo /etc/fstab . Isso faz com que meu diretório /home seja pequeno, então isso pode ser mantido na partição raiz. Eu tenho links simbólicos do diretório my /home para a partição de dados, onde caixas de correio, arquivos do VirtualBox e outros arquivos grandes podem residir.

    
por sudodus 18.10.2017 / 20:14