Como mover seu diretório inicial do Linux para outra unidade

Quer mover sua pasta pessoal do Linux para outra unidade? Esta é uma maneira direta e passo a passo de fazer isso, que deve funcionar em qualquer distribuição. Mover sua pasta pessoal significa que você pode reinstalar o Linux e não precisa se preocupar com seus arquivos pessoais.

Por que manter sua pasta pessoal separada?

Se você estiver configurando uma nova máquina ou adicionando um disco rígido a um existente, você pode querer ter seu diretório pessoal em uma unidade diferente do local padrão.

Uma configuração cada vez mais popular para computadores pessoais modernos é ter um Solid State Drive (SSD) de tamanho médio segurando seu sistema operacional e um Solid State Hybrid Drive (SSHD) maior ou disco rígido tradicional (HD) como seu armazenamento principal de dados. Ou você pode ter um único disco rígido tradicional em seu sistema e adicionou um novo HD para aumentar o armazenamento. Quaisquer que sejam os seus motivos, aqui está um procedimento simples e passo a passo de como mover seu diretório inicial.

A propósito, se você estiver instalando um sistema Linux do zero, provavelmente verá uma opção para criar um diretório inicial separado no instalador de sua distribuição Linux. Geralmente, você só precisa acessar as opções de particionamento, criar uma partição separada e montá-la em “/ home”. Mas, se você já instalou uma distribuição Linux, pode usar essas instruções para mover seu diretório inicial atual para um novo local sem perder nada ou reinstalar o sistema operacional.

Agora, antes de começarmos, faça um backup.

Identifique o Drive

Se você acabou de instalar uma unidade em um computador Linux ou instalou o Linux em uma das unidades em um novo computador com várias unidades e reiniciou, há poucas evidências de que a nova unidade esteja presente.

O comando fdisk irá liste as unidades e suas partições para nós.

sudo fdisk -l

Percorra a saída até identificar a nova unidade. A primeira unidade é nomeada / dev / sda, a segunda é / dev / sdb e assim por diante, com a última letra aumentando a cada vez. Portanto, / dev / sde seria o quinto disco rígido do sistema.

neste exemplo, a nova unidade é a segunda unidade a ser instalada no sistema. Portanto, precisamos procurar uma entrada para / dev / sdb.

/ dev / sdb é destacado acima. Você notará que não há uma linha descrevendo uma partição. É uma unidade totalmente nova, por isso ainda não terá uma. Precisamos criar a partição. Podemos fazer isso usando fdisk. Se o seu disco rígido não for / dev / sdb, certifique-se de substituir / dev / sdb pelo identificador de unidade real para o seu novo disco rígido no comando.

sudo fdisk /dev/sdb

Quando o fdisk solicitar um comando, pressione a letra p. Isso imprime a tabela de partição do disco rígido. Sabemos que não haverá, mas obtemos algumas informações úteis sobre a unidade. Isso nos dá uma boa chance de ter certeza de que a unidade para a qual vamos criar uma partição é a unidade com a qual pretendíamos trabalhar.

Ele nos diz que a unidade é de 1 TB, o que corresponde ao que esperamos nesta máquina de teste, então continuaremos.

Crie uma partição

Pressione a letra n para uma nova partição e, a seguir, pressione p para uma partição primária. Quando for solicitado 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 no disco rígido ainda. Até que você dê ao fdisk o comando para gravar as alterações na unidade, a unidade permanece intacta. Quando tiver certeza de que está satisfeito com nossas 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. Usaremos o fdisk mais uma vez em / dev / sdb.

sudo fdisk /dev/sdb

Pressione a letra p para imprimir a tabela de partição e você verá que agora há uma partição listada para a unidade. Por ser a primeira partição desta unidade, ela é chamada de / dev / sdb1. Uma segunda partição seria chamada de / dev / sdb2 e assim por diante.

Não queremos fazer nenhuma alteração na partição, então pressione a letra q para sair.

Crie um sistema de arquivos na partição

Precisamos criar um sistema de arquivos na partição. Isso é facilmente alcançado com o comando mkfs. Observe que você deve incluir o número da partição no comando. Tenha o cuidado de digitar / dev / sdb1 (a partição) e não / dev / sdb (a unidade).

sudo mkfs -t ext4 /dev/sdb1

O sistema de arquivos será criado para você e você retornará ao prompt de comando.

Montagem da nova unidade

Para usar a nova unidade, devemos montar a partição em um ponto de montagem no sistema de arquivos. Na verdade, para ser perfeitamente preciso, não estamos montando o drive nem a partição, estamos montando o sistema de arquivos na partição, enxertando-o na árvore do sistema de arquivos do seu sistema.

O ponto / mnt é um lugar tão bom quanto qualquer outro. É apenas um ponto de montagem temporário que nos permite copiar dados para a nova unidade. Vamos usar o comando mount para montar o sistema de arquivos na primeira partição em / dev / sdb, em / mnt.

sudo mount /dev/sdb1 /mnt

Se tudo correr bem, você retornará à linha de comando sem mensagens de erro. Vamos ver se podemos mudar o diretório para nosso sistema de arquivos recém-montado.

cd /mnt

Sim, nós podemos. vamos ver o que está aqui.

ls -ahl

Estamos em nosso novo sistema de arquivos. O diretório padrão “perdido + encontrado” não é necessário para que possamos removê-lo.

sudo rm -rf lost+found

Copiando sua pasta pessoal

Precisamos copiar tudo do antigo diretório inicial para o sistema de arquivos recém-montado. Usar as opções r (recursivo) e p (preservar) irá garantir que todos subdiretórios são copiados e que as propriedades, permissões e outros atributos dos arquivos sejam mantidos.

sudo cp -rp /home/* /mnt

Quando a cópia for concluída, use ls para dar uma olhada e verificar se seus dados estão onde você espera que estejam no novo sistema de arquivos. Em outras palavras, se / mnt era seu diretório pessoal, tudo está presente e correto?

ls
ls dave

Você provavelmente vai querer ser um pouco mais completo do que estávamos na máquina de teste em que este artigo foi pesquisado. Como uma rede de segurança, vamos renomear e manter seu diretório / home antigo até que você esteja satisfeito com a segurança de excluí-lo.

sudo mv /home /home.orig

E criaremos um novo diretório inicial vazio.

sudo mkdir /home

Usaremos esse novo diretório inicial vazio como ponto de montagem para nosso sistema de arquivos no novo disco rígido. Precisamos desmontá-lo de / mnt e remontá-lo em / home. Observe que o comando umount não tem um “n” após o “u.”

sudo umount /dev/sdb1
sudo mount /dev/sdb1 /home/

Testando 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 arquivos, o tamanho da partição e o espaço usado e disponível nela e, mais importante, onde está montado. Agora é nosso diretório / home. Isso significa que devemos ser capazes de referenciá-lo exatamente como faríamos com o diretório / home antigo.

Se movermos para algum ponto arbitrário no sistema de arquivos, devemos ser capazes de voltar para / home usando o atalho ~ til.

cd /
cd ~
pwd
ls

cd /home
ls
cd dave
ls
ls -a

Podemos mover através do sistema de arquivos para frente e para trás para / home usando comandos explícitos e usando o atalho ~. As pastas, arquivos e dotfiles que esperamos estão todos presentes. Está tudo bem.

Se algo estivesse faltando, poderíamos copiá-lo do diretório /home.orig, ao qual ainda temos acesso na raiz do sistema de arquivos. Mas tudo parece bem.

Agora precisamos ter / dev / sdb1 montado automaticamente toda vez que o computador for iniciado.

Editando fstab

O arquivo “fstab” contém descrições dos sistemas de arquivos que serão montados quando o sistema inicializar. Antes de fazer qualquer alteração nele, faremos uma cópia de backup para que possamos retornar em caso de problemas.

sudo cp /etc/fstab /etc/fstab.orig

Agora podemos editar o arquivo fstab.

sudo gedit /etc/fstab

Você deve adicionar uma linha na parte inferior do arquivo para montar nosso novo diretório / home. Se seus identificadores de unidade e partição forem diferentes daqueles 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 arquivos 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 arquivos e pressione Tab.
Digite o dígito 0 para a opção de verificação do sistema de arquivos.

Salve o arquivo fstab.

Reinicie o seu sistema

Precisamos reinicializar para verificar se tudo correu de acordo com o planejado e se você tem uma conexão contínua com seu novo diretório / home.

Se não, você ainda tem a rede de segurança de seu diretório / home original e arquivo fstab que pode ser restaurado se necessário. Por causa dos cuidados que tomamos – copiando o diretório / home e os arquivos fstab – você pode facilmente retornar seu sistema ao estado em que estava antes de iniciar.

sudo reboot now

Verificações finais

Quando o sistema reiniciar, vamos apenas verificar se o diretório / home está realmente no novo disco rígido e se o sistema não voltou a usar o diretório / home antigo de alguma forma (milagrosamente).

df /dev/sdb1

Ótimo, está montado em / home. Missão cumprida.

Assim que estiver perfeitamente certo de que não precisa mais da cópia de segurança de seu diretório / home antigo, você pode excluí-lo:

cd /
sudo rm -rf home.orig/

E, claro, se você perceber que algo não foi copiado do antigo / home para o novo / home, poderá recuperá-lo do backup que fez antes de começarmos.

Lar Doce Lar

Agora que separou o diretório / home do resto da partição do sistema operacional, você pode reinstalar o sistema operacional e seus dados não serão alterados. Tudo que você precisa fazer é editar o arquivo fstab para montar sua segunda unidade em / home.

E como todos os seus dotfiles estão em seu diretório / home, quando você iniciar seus vários aplicativos, eles encontrarão todas as suas configurações, preferências e dados.

Isso elimina o sofrimento das reinstalações e elimina o risco das atualizações.