Como mover seu diretório inicial do Linux para outra unidade
Publicados: 2022-01-29Deseja mover sua pasta inicial 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 você estiver configurando uma nova máquina ou adicionando um disco rígido a um existente, talvez queira 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 uma unidade de estado sólido (SSD) de tamanho médio segurando seu sistema operacional e uma unidade híbrida de estado sólido (SSHD) maior ou disco rígido tradicional (HD) como seu armazenamento principal para 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 suas razões, aqui está um passo a passo simples e passo a passo para mover seu diretório pessoal.
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 da sua distribuição Linux. Geralmente, você só precisa entrar nas 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 estas instruções para mover seu diretório pessoal atual para um novo local sem perder nada ou reinstalar seu sistema operacional.
Agora, antes de começarmos, vá e faça um backup.
RELACIONADO: Como fazer backup do seu sistema Linux com rsync
Identifique a unidade
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 reinicializou, há poucas evidências de que a nova unidade esteja presente.
O comando fdisk
listará as unidades e suas partições para nós.
sudo fdisk -l
Role pela saída até identificar a nova unidade. A primeira unidade é chamada /dev/sda
, a segunda é /dev/sdb
e assim por diante, com a última letra aumentando a cada vez. Então /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
está destacado acima. Você notará que ele não tem uma linha descrevendo uma partição nele. É uma unidade totalmente nova, então 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 do 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 terá um, 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 criaremos uma partição é a unidade com a qual pretendemos trabalhar.
Ele nos diz que a unidade é uma unidade de 1 TB, que corresponde ao que esperamos nesta máquina de teste, então prosseguiremos.
Criar uma partição
Pressione a letra n
para uma nova partição e, em seguida, 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, então, quando solicitado pelo primeiro setor, podemos pressionar Enter para aceitar o valor padrão. Você será solicitado a informar 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 intocada. Quando tiver certeza de que está satisfeito com nossas escolhas, pressione a letra w
para escrever as alterações na unidade.
A partição foi gravada em /dev/sdb
. Vamos verificar o que acabou de acontecer. Usaremos fdisk
mais uma vez em /dev/sdb
.
sudo fdisk /dev/sdb
Pressione a letra p
para imprimir essa tabela de partições e você verá que há uma partição listada para a unidade agora. Como foi a primeira partição nesta unidade, ela é chamada /dev/sdb1
. Uma segunda partição seria chamada /dev/sdb2
e assim por diante.
Não queremos fazer nenhuma alteração na partição, então pressione a letra q
para sair.
Criar 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 cuidado para 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.
Montando a 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 a unidade 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 para nos permitir 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 “lost+found” não é necessário para que possamos removê-lo.
sudo rm -rf perdido+encontrado
Copiando sua pasta pessoal
Precisamos copiar tudo do antigo diretório inicial para o sistema de arquivos recém-montado. O uso das opções r
(recursiva) 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
Quando a cópia estiver 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
eu sou dave
Você provavelmente desejará 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 antigo diretório /home
até que você tenha certeza de que é seguro excluí-lo.
sudo mv /home /home.orig
E vamos criar um novo diretório home vazio.
sudo mkdir /home
Usaremos esse novo diretório home 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”.
Mas primeiro, vamos mudar para o diretório raiz (com cd /
) para ter certeza de que não estamos em um diretório que será incluído nos locais de montagem ou desmontagem.
CD /
sudo umount /dev/sdb1
sudo mount /dev/sdb1 /home/
RELACIONADO: A estrutura de diretórios do Linux, explicada
Testando seu novo diretório inicial
Vamos ver quais são os atributos da partição /dev/sdb1
agora:
df /dev/sdb1
Mostramos o nome do sistema de arquivos, o tamanho da partição e o espaço usado e disponível nela e, mais importante, onde ela está montada. Agora é nosso diretório /home
. Isso significa que devemos poder referenciá-lo exatamente como poderíamos fazer com o antigo diretório /home
.
Se nos movermos para algum ponto arbitrário no sistema de arquivos, poderemos voltar para /home
usando o atalho ~
til.
CD /
CD ~
pwd
ls
cd/casa
ls
cd dave
ls
ls -a
Podemos mover o sistema de arquivos para trás e 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 estiver faltando, podemos copiá-lo para fora 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 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 fazermos qualquer alteração, 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. Use seu editor favorito, estamos usando o gedit
. Qualquer editor de texto serve.
sudo gedit /etc/fstab
Você deve adicionar uma linha na parte inferior do arquivo para montar nosso novo diretório /home
. Se os identificadores de unidade e partição forem diferentes dos usados neste exemplo, substitua-os pelo /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
defaults
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.
Reinicialize seu sistema
Precisamos reiniciar para verificar se tudo correu conforme o planejado e se você tem uma conexão perfeita com seu novo diretório /home
.
Se isso não acontecer, você ainda tem a rede de segurança do seu diretório /home
original e o arquivo fstab que pode ser restaurado se necessário. Devido às precauções 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 reiniciar agora
RELACIONADO: Como reiniciar ou desligar o Linux usando a linha de comando
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 de alguma forma (milagrosamente) para usar o diretório /home
antigo.
df /dev/sdb1
Ótimo, está montado em /home
. Missão cumprida.
Quando tiver certeza de que não precisa mais da cópia de segurança do 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 feito antes de começarmos.
Lar Doce Lar
Agora que você separou seu diretório /home
do resto da partição do sistema operacional, você pode reinstalar seu sistema operacional e seus dados permanecerão intocados. Tudo o 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ê inicia seus vários aplicativos, eles encontrarão todas as suas configurações, preferências e dados.
Ele elimina a dor das reinstalações e elimina o risco das atualizações.
Comandos Linux | ||
arquivos | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · tipo · renomear · zip · descompactar · montar · umount · instalar · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · converter · rclone · triturar · srm | |
Processos | alias · tela · topo · legal · renice · progresso · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · tempo limite · parede · sim · matar · dormir · sudo · su · tempo · groupadd · usermod · grupos · lshw · desligar · reiniciar · parar · desligar · passwd · lscpu · crontab · data · bg · fg | |
Rede | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw |
RELACIONADO: Melhores laptops Linux para desenvolvedores e entusiastas