É possível separar a /home do sistema depois de ele já estar instalado?

Olá! Eu assisti o vídeo do Dio ensinando a instalar a pasta /home em outra partição, e gostaria de fazer isso, mas não queria ter que reinstalar o sistema. Eu pensei em criar a partição e copiar minha /home pra lá, mas não sei se existe alguma configuração nesse sentido dentro do sistema operacional para indicar que a home não está mais no /, mas sim nesta nova partição. É possível fazer algo assim, ou só reinstalando mesmo?

É possível, mas não é tão simples.
As configurações das partições e pontos de montagem são feitas no arquivo /etc/fstab. Lá que é definido quais partições serão montadas, automaticamente ou não, e em quais pontos, como o /home.

Na teoria os passos para isso são:

  1. Redimensionar as partições já existentes e criar uma nova partição
  2. Configurar o fstab para usar essa nova partição como ponto de montagem do /home
  3. Copiar tudo de um lugar para o outro

Para modificar as partições será necessário usar uma sessão Live (com um pendrive), pois não é possível modificar as partições que estão sendo usadas pelo sistema. Também é preciso ter cuidado no passo da cópia, para não corromper os arquivos e manter as permissões dos mesmos.

Sobre o fstab, a linha que precisará ser adiciona é basicamente (copiado de uma instalação do Mint com o /home separado):
UUID=1184f060-f245-454a-bd5f-250df6211e08 /home ext4 defaults 0 2

  • O UUID é um identificador dado a cada partição e que pode ser verificado usando o comando:
    $ sudo fdisk -l -o +UUID
  • /home é o ponto em que a partição será montada
  • ext4 é o tipo da partição
  • E o resto são as opções padrão (definem permissões, questões de segurança, … Então é melhor usar os padrões mesmo)

Finalmente, sobre a cópia é possível fazer de várias formas. Depende de quanto espaço você terá para “manobrar” os arquivos. De qualquer modo, recomendo usar o comando rsync, com as opções -avz (a para manter as permissões/posse, v para exibir o log na tela, e z para usar compressão durante a cópia. São as opções recomendadas pelo próprio manual do comando). Ai ou faria a cópia diretamente para a nova partição ou para um HD auxiliar antes. Ou você pode usar direto o mv, para simplesmente mover todo o seu diretório para a outra partição.
Como você vai estar lidando com os seus dados, é bom ter um Backup de tudo antes, e fazer tudo com bastante calma e verificar muito bem os comandos antes de executá-los.

7 curtidas

Achei algo que pode ajudar, tá bem explicado aqui, já que enfrentei esse problema faz um tempo - depois acabei formatando o HD inteiro, aí já fiz o particionamento ao instalar os sistemas em dual boot (C: e D: no W10, / e /home no Ubuntu). Mas estuda bem antes de fazer alguma coisa, e faça backup de tudo (a propósito, se vai fazer BK, não seria uma boa já reinstalar uma distro? brincadeirinha… rs)

1 curtida

É possível sim e o @brunonzanette explicou bem.

Se você já deixou espaço livre no disco, então fica ainda mais fácil pois nem precisa reiniciar para fazer a mudança! Vou deixar umas dicas voltadas ao usuário mais avançado:

  1. Crie e formate a partição que será a nova /home
  2. Usando um terminal virtual, encerre o serviço do gerenciador de login
  3. Monte a nova partição e copie todos os arquivos do /home para lá (rsync, cp -a)
  4. Renomeie a pasta /home para /home.old
  5. Crie uma nova pasta /home
  6. Adicione a entrada da nova partição no /etc/fstab
  7. Teste se está certo com mount -a que vai montar todas as entradas do fstab. Se tudo deu certo não vai aparecer nenhuma mensagem de erro. Se aparecer algum erro, corrija a entrada no fstab! Se quiser desistir, apenas renomeie a pasta /home.old para /home!
  8. Agora que o /home está montado como uma partição, reinicie o serviço do gerenciador de login e volte a usar seu computador normalmente. Se ficou satisfeito pode apagar a pasta /home.old

Essa dica é boa pois você confere o fstab antes de reiniciar. Se o fstab estiver errado errado na hora do boot vai cair no rescue mode e fica mais difícil para consertar.

3 curtidas

Enquanto eu fazia backup eu pensei nisso kkkkkkkkkkkkk Realmente talvez pelo esforço não compense fazer isso, mas como o sistema tava todo configurado do jeito que eu queria eu preferi tentar mantê-lo até realmente surgir a necessidade de o reinstalar. Estou separando a home pra agilizar as futuras formatações, porque eu tenho muitos gigas de arquivos e isso costuma tomar muito tempo pra fazer cópia.

1 curtida

Fiz como você disse e funcionou! Obrigado!!

3 curtidas

BLZ?
Mesmo problema do @Pedroh99. porém com acréscimo…
Minha esposa vai usar o note c (futuro )MINT20 no trabalho. O usuario@computador estao como tadeu@tadeuwaf . Consegui trocar o nome do computador ( tadeuwaf), e gostaria de trocar o nome de usuario (tadeu) e aumentar o tamanho do "/home"partição 4 no HD ( tb subjulguei, e agora preciso de mais 100gb que estao livres (partição 5 e espaço livre).)

resumindo, vou trocar o atualizar o MINT 19 p 20, minha pasta /home esta separada mas lotada, e preciso trocar o nome de usuario. So sei fazer essas coisas separadas, e todas c risco de perda! kkk
Alguem pode ajudar? acrescentando ao topico do @brunonzanette . ( a do @Deleterium, fiquei 2 passos sem saber o q fazer)
valeu!!
disco posit

Quais passos?

Vou descrevendo para leigos iguais ou mais q eu…
No meu caso como mostra a imagem… (na outra postagem)

fácil: uso o programa do MINT discos; formato a partição e mudo para /home( video do diolinux mostra como fazer)

Se for diferente da máquina virtual , como fazer?
Passo 3 e 4 faço pelo gerenciador de arquivos sem o comando…
PAsso 5: criar pasta home. (outra? no espaço vazio ja foi criado e nomeado, nao?)

isso tb nao sei fazer…

Durante o processo teria como trocar o nome do usuario? e nao seria talvez, mais fácil redimencionar a pasta ja q tenho espaço de sobra?
valeu

O terminal virtual é quando você aperta Ctrl+Shift+F1 até F7. É uma linha de comando sem a interface gráfica.

Então, pro meu tutorial dar certo não dá pra fazer pelo modo gráfico, pois se vc estiver com ele aberto, terá uma série de arquivos abertos e vc não vai conseguir desmontar o home antigo. Até o gerenciador de login pode atrapalhar a operação, por isso que eu pedi para parar o serviço (systemctl stop gdm|lightdm|sddm)

Editar o fstab é a parte chave do que vc vai tentar fazer. O único jeito de fazer a troca do home sem ser manualmente (que eu conheço, não que não exista) é reinstalando o sistema. Pra masterizar a arte de mexer no fstab vc vai precisar procurar tutoriais e aulas porque é um assunto grande para tratar em uma postagem. Na verdade é um assunto grande pra vc simplemente trocar uma linha no arquivo.

Esse é outro assunto. Parece fácil pelos tutoriais na internet (é apenas usar comando usermod). Como nunca fiz, prefiro não tentar ensinar!

Pesquisei e tentei com esse comando, mas nao aceitou.
MAs valeu!