Está a pensar em transferir a sua pasta pessoal do Linux para um disco diferente? Aqui está um guia direto e detalhado que deve funcionar em qualquer distribuição. Ao mover a sua pasta pessoal, pode reinstalar o Linux sem se preocupar com os seus ficheiros pessoais.
Porquê separar a pasta pessoal?
Se está a configurar um novo computador ou a adicionar um disco rígido a um já existente, poderá querer ter o seu diretório pessoal numa unidade diferente da localização padrão.
Uma configuração cada vez mais comum para computadores pessoais modernos é ter um disco de estado sólido (SSD) de tamanho médio para o sistema operativo e um disco híbrido de estado sólido (SSHD) maior ou um disco rígido tradicional (HDD) como armazenamento principal de dados. Ou talvez tenha um único disco rígido tradicional no seu sistema e adicionou um novo HDD para aumentar o armazenamento. Quaisquer que sejam os seus motivos, aqui está um método simples para mover o seu diretório inicial.
Aliás, ao instalar um sistema Linux de raiz, provavelmente verá uma opção para criar um diretório inicial separado no instalador da sua distribuição. Geralmente, só precisa de aceder às opções de particionamento, criar uma partição distinta e montá-la em “/home”. No entanto, se já instalou uma distribuição Linux, pode usar estas instruções para mover o seu diretório inicial atual para uma nova localização sem perder nada ou ter que reinstalar o sistema operativo.
Antes de começarmos, faça uma cópia de segurança.
Identificação da Unidade
Se acabou de instalar uma unidade num computador Linux ou instalou o Linux numa das unidades de um novo computador com várias unidades e reiniciou o sistema, há pouca informação sobre a presença da nova unidade.
O comando `fdisk` irá listar as unidades e as suas partições.
sudo fdisk -l
Analise o resultado até encontrar a nova unidade. A primeira unidade é nomeada /dev/sda, a segunda é /dev/sdb e assim por diante, com a última letra a aumentar a cada vez. Portanto, /dev/sde seria o quinto disco rígido do sistema.
Neste exemplo, a nova unidade é a segunda a ser instalada no sistema. Assim, precisamos procurar uma entrada para /dev/sdb.

O /dev/sdb está destacado acima. Note que não há nenhuma linha a descrever uma partição. É uma unidade completamente nova, pelo que ainda não terá nenhuma. É necessário criar a partição. Podemos fazer isso com o `fdisk`. Se o seu disco rígido não for /dev/sdb, substitua /dev/sdb pelo identificador real da sua nova unidade.
sudo fdisk /dev/sdb

Quando o `fdisk` pedir um comando, pressione a letra `p`. Isto imprime a tabela de partições do disco rígido. Sabemos que não haverá nenhuma, mas obtemos informações úteis sobre a unidade. Isto permite-nos ter a certeza de que estamos a criar uma partição na unidade correta.
O sistema informa que a unidade tem 1 TB, o que corresponde ao esperado nesta máquina de teste, por isso vamos prosseguir.
Criação de uma Partição
Pressione a letra `n` para uma nova partição e depois a letra `p` para uma partição primária. Quando for pedido o número da partição, pressione o número `1`.
Vamos criar uma única partição para todo o disco, portanto, quando for solicitado o primeiro setor, podemos pressionar Enter para aceitar o valor padrão. Em seguida, será solicitado o último setor e Enter aceitará o valor padrão.

Embora o `fdisk` confirme que criou uma partição Linux de 1 TB, que é a partição número 1, nada mudou ainda no disco rígido. Até dar ao `fdisk` o comando para gravar as alterações na unidade, a unidade permanece intacta. Quando tiver a certeza de que está satisfeito com as suas escolhas, pressione a letra `w` para gravar as alterações na unidade.

A partição foi gravada em /dev/sdb. Vamos verificar o que aconteceu. Vamos usar o `fdisk` mais uma vez em /dev/sdb.
sudo fdisk /dev/sdb

Pressione a letra `p` para imprimir a tabela de partições e verá que agora há uma partição listada para a unidade. Por ser a primeira partição desta unidade, é chamada de /dev/sdb1. Uma segunda partição seria chamada de /dev/sdb2 e assim por diante.
Não vamos fazer nenhuma alteração na partição, por isso pressione a letra `q` para sair.
Criação de um Sistema de Ficheiros na Partição
É preciso criar um sistema de ficheiros na partição. Isto é facilmente feito com o comando `mkfs`. Tenha em atenção que deve incluir o número da partição no comando. Certifique-se de digitar /dev/sdb1 (a partição) e não /dev/sdb (a unidade).
sudo mkfs -t ext4 /dev/sdb1

O sistema de ficheiros será criado e voltará ao prompt de comando.

Montagem da Nova Unidade
Para usar a nova unidade, devemos montar a partição num ponto de montagem no sistema de ficheiros. Para sermos rigorosos, não estamos a montar a unidade nem a partição, mas o sistema de ficheiros na partição, encaixando-o na árvore do sistema de ficheiros do seu sistema.
O ponto /mnt é uma localização tão boa como qualquer outra. É apenas um ponto de montagem temporário que nos permite copiar os dados para a nova unidade. Vamos usar o comando `mount` para montar o sistema de ficheiros na primeira partição em /dev/sdb, em /mnt.
sudo mount /dev/sdb1 /mnt

Se tudo correr bem, voltará à linha de comando sem mensagens de erro. Vamos ver se conseguimos mudar o diretório para o nosso sistema de ficheiros recém-montado.
cd /mnt

Sim, conseguimos. Vamos ver o que está aqui.
ls -ahl

Estamos no nosso novo sistema de ficheiros. O diretório padrão “lost+found” não é necessário, pelo que podemos removê-lo.
sudo rm -rf lost+found

Cópia da sua Pasta Pessoal
Temos de copiar tudo do antigo diretório inicial para o sistema de ficheiros recém-montado. Usar as opções `r` (recursivo) e `p` (preservar) irá garantir que todos os subdiretórios são copiados e que as propriedades, permissões e outros atributos dos ficheiros são mantidos.
sudo cp -rp /home/* /mnt

Quando a cópia estiver concluída, use o comando `ls` para verificar se os seus dados estão onde espera no novo sistema de ficheiros. Por outras palavras, se /mnt fosse o seu diretório pessoal, está tudo presente e correto?
ls
ls dave

Provavelmente vai querer ser mais exaustivo do que fomos na máquina de teste onde este artigo foi pesquisado. Como rede de segurança, vamos renomear e manter o seu antigo diretório /home até que esteja confortável para o apagar.
sudo mv /home /home.orig

E vamos criar um novo diretório inicial vazio.
sudo mkdir /home

Vamos usar este novo diretório inicial vazio como ponto de montagem para o nosso sistema de ficheiros no novo disco rígido. Temos de desmontá-lo de /mnt e remontá-lo em /home. Tenha em atenção que o comando `umount` não tem um “n” depois do “u”.
sudo umount /dev/sdb1
sudo mount /dev/sdb1 /home/

Teste do seu Novo Diretório Inicial
Vamos ver quais são os atributos da partição /dev/sdb1 agora:
df /dev/sdb1

É mostrado o nome do sistema de ficheiros, o tamanho da partição e o espaço usado e disponível nela e, o mais importante, onde está montado. Agora é o nosso diretório /home. Isto significa que devemos ser capazes de referenciá-lo como fazíamos com o antigo diretório /home.
Se mudarmos para qualquer ponto do sistema de ficheiros, devemos conseguir voltar para /home usando o atalho `~` til.
cd /
cd ~
pwd
ls

cd /home
ls
cd dave
ls
ls -a

Conseguimos movimentar-nos através do sistema de ficheiros para a frente e para trás para /home usando comandos explícitos e usando o atalho `~`. As pastas, ficheiros e dotfiles que esperamos estão todos presentes. Está tudo bem.
Se algo estivesse em falta, poderíamos copiá-lo do diretório /home.orig, ao qual ainda temos acesso na raiz do sistema de ficheiros. Mas está tudo bem.
Agora é necessário que /dev/sdb1 seja montado automaticamente sempre que o computador é iniciado.
Edição do fstab
O ficheiro “fstab” contém descrições dos sistemas de ficheiros que serão montados quando o sistema iniciar. Antes de fazer quaisquer alterações, vamos criar uma cópia de segurança para podermos reverter em caso de problemas.
sudo cp /etc/fstab /etc/fstab.orig

Agora podemos editar o ficheiro fstab.
sudo gedit /etc/fstab

Deve adicionar uma linha na parte inferior do ficheiro para montar o nosso novo diretório /home. Se os seus identificadores de unidade e partição forem diferentes dos usados neste exemplo, substitua-os por /dev/sdb1 mostrado aqui.
Digite o nome da partição no início da linha e pressione Tab.
Digite o ponto de montagem, /home e pressione Tab.
Digite a descrição do sistema de ficheiros ext4 e pressione Tab.
Digite os padrões para as opções de montagem e pressione Tab.
Digite o dígito 0 para a opção de despejo do sistema de ficheiros e pressione Tab.
Digite o dígito 0 para a opção de verificação do sistema de ficheiros.

Guarde o ficheiro fstab.
Reinicialização do Sistema
Precisamos de reiniciar para verificar se tudo correu conforme planeado e se tem uma ligação contínua ao seu novo diretório /home.
Caso contrário, ainda tem a rede de segurança do seu diretório /home original e o ficheiro fstab que podem ser restaurados, se necessário. Graças aos cuidados que tivemos – a cópia do diretório /home e dos ficheiros fstab – pode facilmente trazer o sistema para o estado em que estava antes de começar.
sudo reboot now

Verificações Finais
Quando o sistema reiniciar, vamos apenas confirmar se o diretório /home está realmente no novo disco rígido e se o sistema não voltou a usar o antigo diretório /home de alguma forma (milagrosamente).
df /dev/sdb1

Ótimo, está montado em /home. Missão cumprida.
Assim que tiver a certeza de que já não precisa da cópia de segurança do seu antigo diretório /home, pode apagá-lo:
cd /
sudo rm -rf home.orig/

E, claro, se perceber que algo não foi copiado do antigo /home para o novo /home, pode recuperá-lo da cópia de segurança que fez antes de começarmos.
Lar, Doce Lar
Agora que separou o diretório /home do resto da partição do sistema operativo, pode reinstalar o sistema operativo e os seus dados não serão alterados. Basta editar o ficheiro fstab para montar a sua segunda unidade em /home.
E como todos os seus dotfiles estão no seu diretório /home, quando iniciar as suas várias aplicações, elas encontrarão todas as suas configurações, preferências e dados.
Isto elimina o sofrimento das reinstalações e reduz o risco das atualizações.