ColocarHomeEmNovaParticao

Revision 16 as of 2006-08-28 12:38:28

Clear message

Colocar /home em nova partição

Introdução

Às vezes temos necessidade de mais espaço na partição onde o Linux foi instalado, normalmente em sistemas dual boot, em que a partição Linux acaba ficando com menos de 10 Gbytes.

Como os dados dos usuários acabam fazendo parte desta mesma partição, à medida que o uso do sistema cresce (downloads de músicas, pacotes etc.), aumentam as necessidades por espaço.

Qual a solução?

Bom, se você tem uma partição FAT, pode fazer links simbólicos para que os usuários acessem aquela partição e orienta-os a colocar lá os downloads, por exemplo.

Entretanto, esta não é uma solução eficiente quando se tem uma partição NTFS, pois o Linux não consegue gravar em uma partição NTFS.

A alternativa é criar uma nova partição, redimensionando a partição NTFS (ou mesmo FAT) do Windows e, com o novo espaço livre criado, formatar a partição como EXT3 e colocar lá o /home. Este tópico descreve como colocar um /home que já existe em uma nova partição sem nem mesmo necessitar reiniciar o sistema. Parte do pressuposto que se tem uma partição EXT3 disponível.

Nos exemplos aqui colocados, assume-se o seguinte (lógico, é baseado no meu caso, portanto, você terá que adequar a sua realidade):

  • /hda1 - partição NTFS com Windows
  • /hda2 - partição FAT com Recovery Mode do Windows
  • /hda3 - partição extendida
  • /hda5 - partição swap
  • /hda6 - partição EXT3 com Linux - é a partição raiz
  • /hda7 - partição EXT3 vazia - para onde queremos colocar o /home

Também assumimos que você tem uma conta de root habilitada e, cujo perfil esteja em /root.

Como Fazer

1. Antes de mais nada, saia do ambiente gráfico (Ctrl+Alt+BkSpc e Ctrl+Alt+F1)

2. Logar como root

3. Desconecte quaisquer pontos remotos montados em alguma pasta do /home

4. Copiar o conteúdo do /home para a nova partição (no meu caso montada em /mnt/hda7)

$ cp -Rpd /home /mnt/hda7  
  • onde R indica recursivo, p para manter as permissões e d para não seguir os links simbólicos

5. Mover todas as pastas dos usuários do home para o raiz da nova partição

  • Por quê? Porque ao montar a nova partição em /home vai ficar /home/home/usuário o que está errado

$ cd /mnt/hda7 $ mv home/* . $ rm -rf home

6. Remover o conteúdo do /home antigo para poupar espaço

$ rm -rf /home/*
  • seguramente porque em /mnt/hda7 estão todos os dados

7. Editar o fstab (use o seu editor de linha de comando favorito: emacas, vi etc.)

$ mcedit fstab
    /dev/hda7   /home    ext3   ...

8. Remontar as partições

$ umount -a $ mount  -a

9. Reiniciar o X (sempre bom né?): Ctrl+Alt+F7 e Ctrl+Alt+BkSpc

10. Logar e ver que você já estará usando a nova partição

É isso!

NOTA

Esse procedimento serve igualmente para quaisquer outras pastas, como /usr, /tmp, /var etc.
Pode-se encará-lo como um processo de migração de dados para outras partições.

Obrigado pela lembrança do Jansen Carlos Sena sobre a generalidade deste processo.

André Cavalcante