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

Terminal Linux em laptop estilizado
Fatmawati Achmad Zaenuri / Shutterstock

Quer mover sua pasta pessoal do Linux para outra unidade? Aqui está 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 estiver configurando uma nova máquina ou adicionando um disco rígido a um existente, você pode querer ter seu diretório home 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 principal armazenamento 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 para 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, você 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 de instalar o Linux em uma das unidades em um novo computador com várias unidades e reiniciá-la, há poucas evidências de que a nova unidade esteja presente.

O fdiskcomando listará as unidades e suas partições  para nós.

sudo fdisk -l

sudo fdisk -l em uma janela de terminal

Percorra a saída até ter identificado a nova unidade. A primeira unidade é nomeada /dev/sda, a segunda é /dev/sdbe assim por diante, com a última letra aumentando a cada vez. Então /dev/sdeseria 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.

Saída do fdisk em uma janela de terminal com / dev / sdb realçado

/dev/sdbé destacado acima. Você notará que ele não possui uma linha descrevendo uma partição nele. É 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 estiver /dev/sdb, certifique-se de substituí-lo /dev/sdbpelo identificador de unidade real para o seu novo disco rígido no comando.

sudo fdisk / dev / sdb

sudo fdisk / dev / sdb em uma janela de terminal

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

Recomendado:  Como remover cartões de embarque antigos da carteira da Apple

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 npara uma nova partição e, em seguida, pressione ppara 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.

criando uma partição com fdisk em uma janela de terminal

Embora  fdiskconfirme 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ê fdisko 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 wpara escrever as alterações na unidade.

escrever as alterações do fdisk na unidade em uma janela de terminal

A partição foi gravada /dev/sdb. Vamos verificar o que aconteceu. Usaremos fdiskmais uma vez /dev/sdb.

sudo fdisk / dev / sdb

sudo fdisk / dev / sdb em uma janela de terminal

Pressione a letra ppara imprimir essa tabela de partição e você verá que há uma partição listada para a unidade agora. Porque foi a primeira partição nesta unidade, ela é chamada /dev/sdb1. Uma segunda partição seria chamada  /dev/sdb2e assim por diante.

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

Crie um sistema de arquivos na partição

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

sudo mkfs -t ext4 / dev / sdb1

sudo mkfs -t ext4 / dev / sdb1 em uma janela de terminal

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

Saída do comando mkfs em uma janela de terminal

Montagem da nova unidade

Para usar a nova unidade, devemos montar a partição nela 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 .

Recomendado:  Como transmitir o Brooklyn Nine-Nine sem cabo

O /mntponto é 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 mountcomando para montar o sistema de arquivos na primeira partição /dev/sdb, em /mnt.

sudo mount / dev / sdb1 / mnt

sudo mount / dev / sdb1 / mnt em uma janela de terminal

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

cd / mnt em uma janela de terminal

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

ls -ahl

ls -ahl em uma janela de terminal

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 perdido + encontrado

sudo rm -rf perdido + encontrado em uma janela de terminal

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) garantirá que todos os subdiretórios sejam copiados e que as propriedades, permissões e outros atributos dos arquivos sejam mantidos.

sudo cp -rp / home / * / mnt

sudo cp -rp / home / * / mnt em uma janela de terminal

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

ls
ls dave

está em uma janela de terminal

Você provavelmente vai querer ser um pouco mais minucioso 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 /homediretório antigo até que você esteja satisfeito com a segurança de excluí-lo.

sudo mv / home /home.orig

sudo mv / home /home.orig em uma janela de terminal

E criaremos um novo diretório inicial vazio.

sudo mkdir / home

sudo mkdir / home em uma janela de terminal

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

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

sudo umount / dev / sdb1 em uma janela de terminal

Testando seu novo diretório inicial

Vamos ver quais são os atributos da /dev/sdb1partição agora:

df / dev / sdb1

df / dev / sdb1 em uma janela de terminal

É mostrado o nome do sistema de arquivos, o tamanho da partição e o espaço usado e disponível nela e, o mais importante, onde está montado. Agora é nosso /homediretório. Isso significa que devemos ser capazes de referenciá-lo exatamente como faríamos com o /homediretório antigo .

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

cd /
cd ~
pwd
ls

cd / e outros comandos em uma janela de terminal para testar o diretório inicial

cd / home
ls
cd dave
ls
ls -a

cd / home e outros comandos para testar o firectory / home em uma janela de terminal

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

Recomendado:  Ruídos altos silenciosos em seus filmes da Apple TV com este ajuste nas configurações

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

Agora precisamos ter /dev/sdb1montado automaticamente toda vez que seu 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, faremos uma cópia de backup para que possamos retornar em caso de problemas.

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

sudo cp / etc / fstab /etc/fstab.orig em uma janela de terminal

Agora podemos editar o arquivo fstab.

sudo gedit / etc / fstab

sudo gedit .etc.fstab em uma janela de terminal

Você deve adicionar uma linha na parte inferior do arquivo para montar nosso novo /homediretório. Se os identificadores de unidade e partição forem diferentes dos usados ​​neste exemplo, substitua-os pelos /dev/sdb1mostrados 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  ext4e pressione Tab.
  • Digite defaultspara as opções de montagem e pressione Tab.
  • Digite o dígito 0da opção de despejo do sistema de arquivos e pressione Tab.
  • Digite o dígito 0para a opção de verificação do sistema de arquivos.

Usando gedit para editar o arquivo fstab

Salve o arquivo fstab.

Reinicialize seu sistema

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

Do contrário, você ainda tem a rede de segurança de seu /homediretório original e arquivo fstab que pode ser restaurado se necessário. Por causa das precauções que tomamos – copiando o /homediretório e os arquivos fstab – você pode facilmente retornar seu sistema ao estado em que estava antes de iniciar.

sudo reinicie agora

sudo reinicie agora em uma janela de terminal

Verificações finais

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

df / dev / sdb1

df / dev / sdb1 em uma janela de terminal

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

Depois de ter certeza absoluta de que não precisa mais da cópia de segurança do /homediretório antigo , você pode excluí-lo:

cd /
sudo rm -rf home.orig /

sudo rm -rf home.orig / em uma janela de terminal

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

Lar Doce Lar

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

E como todos os seus dotfiles estão em seu /homediretório, 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.