Como posso mover o diretório inicial para uma partição separada?

22

Gostaria de instalar outra distribuição, mas manter meu diretório pessoal. Existe uma maneira de mover o diretório inicial para uma partição separada? Não tenho um disco rígido externo disponível para fazer backup dos meus dados. Eu gostaria de configurar minhas partições conforme sugerido aqui .

vanillaike
fonte
1
Você sempre pode reparticionar e depois restaurar / inicial do backup. Você tem backups, não é?
KeithB

Respostas:

13

Sua pergunta é neutra em relação à distribuição, portanto, se eu mencionar algo específico que você não possui, basta usar o equivalente ao seu lado.

Eu realmente recomendo que você compre um externo para backups, confie em mim, perder seus dados é o pior. Prossiga por seu próprio risco - Mas se você não conseguir um, aqui está o que você pode fazer.

O que você precisa

  • o tamanho do seu diretório / home
  • espaço livre, mais do que o tamanho do seu diretório / home
  • ferramenta de particionamento de disco, eu recomendo o gparted

O que fazer

  • Verifique o tamanho do seu diretório / home (o último resultado será o total da home):

    du -h /home

  • Verifique se você tem espaço livre suficiente para a nova partição:

    df -h

  • Instalar gparted

    sudo apt-get install gparted

Você precisa de mais espaço livre do que o tamanho do seu diretório / home. Se você não tiver espaço livre, não poderá criar essa nova partição e precisará mover seus dados para um externo de qualquer maneira.

Se você tiver espaço, use gparted para reduzir sua partição existente e crie uma nova partição com o espaço não alocado liberado. Quando sua nova partição estiver pronta, observe que é / dev / sdax (use sudo fdisk -lpara ver isso) e copie seus arquivos / home para ela.

Usando a partição em uma nova distribuição

Você mencionou a instalação de outra distribuição, se planeja substituir sua distribuição atual, durante a instalação, você deverá configurar as partições. Nesse ponto, você pode especificar esta partição como / home, optar por não formatá-la e tudo ficará bem, você pode pular esta próxima seção.

Se, no entanto, você deseja que sua distribuição atual funcione com a nova partição / home, siga esta seção:

Monte a partição em uma distribuição existente

Temos que dizer ao seu sistema operacional para usar a partição como seu novo / home, fazemos isso no fstab, mas primeiro vamos encontrar o UUID dessa nova partição:

ls -l /dev/disk/by-uuid

Faça uma referência cruzada da sua nova partição / sdax e copie o UUID dela, parece a minha 3d866059-4b4c-4c71-a69c-213f0e4fbf32.

Fstab de backup: sudo cp /etc/fstab /etc/fstab.bak edite o fstab:sudoedit /etc/fstab

A idéia é adicionar uma nova linha que monta a partição em / home. Use seu próprio UUID, não o que eu posto aqui;)

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
UUID=3d866059.. /home           auto    default         0       1

Salve e reinicie e teste se a nova partição é montada em / home. Executar df -hpara listar todas as partições montadas, / home agora deve estar nessa lista.


Notas

  • Pode ser uma boa idéia se familiarizar com o fstab, se você não o conhece bem. Não se apresse e pense em cada passo.
  • Se você instalar uma nova distribuição e usar o mesmo nome de login, seus arquivos antigos / domésticos serão automaticamente de sua propriedade.
  • Este não é um tópico trivial a ser abordado em um post, mas acho que consegui a maioria. :)
invertido
fonte
Estou tentando usar o gparted, mas não consigo redimensionar a partição /. Você tem alguma recomendação sobre como redimensionar a partição raiz? Eu posso usar o Parted Magic para fazer isso a partir de um CD ao vivo.
vanillaike
1
Sim, você precisaria fazê-lo a partir de um Live CD, porque o sistema de arquivos é montado pelo sistema operacional em execução. O Ubuntu Live CD, Knoppix ou Parted Magic funcionarão.
inverter
3

O título da postagem e sua pergunta me causaram alguma confusão. Deseja separar o arquivo homeem uma partição ou apenas reinstalar e manter o mesmo home?

Se tudo o que você deseja é reinstalar todo o sistema operacional enquanto mantém o seu home, você pode fazer o backup homeem um local que não seja afetado pela instalação, depois restaure-o, juntamente com uma correção de permissão (use chown -R username:groupnamepara garantir que a propriedade esteja correta )

Se você deseja seguir algumas práticas recomendadas e separar as suas, homeentão aqui está o guia que você precisa . Está escrito para o Ubuntu, mas acho que o mesmo vale para outras distros.

phunehehe
fonte
Desculpe pela confusão. Eu gostaria de separar a minha casa em uma partição
vanillaike
AVISO: Atualmente, o link em "correção de permissão" alterna entre dois sites diferentes, o último dos quais solicita a instalação do Adobe Flash em uma réplica da caixa de diálogo de instalação muito desonesta.
User66001
Desvinculei a "correção da permissão" e copiei o conselho do artigo original, que achei arquivado .
Mattdm
2

Supondo que você já tenha uma partição separada (e se não tiver, provavelmente desejará usar gparted ou algo semelhante para criar uma), basta fazer o seguinte (de preferência como usuário root):

 cp -R /home/whatever /path/to/destination
 mv /home/whatever /home/whatever.orig
 ln -s /path/to/destionation /home/whatever 

E então assumindo que tudo funciona da maneira que deveria (faça login como usuário e teste)

 rm -rf /home/whatever.orig 

Isso copia o diretório inteiro (e todo o conteúdo) para o ponto de montagem de destino, renomeia o diretório inicial original (caso algo esteja errado no processo, podemos recuperar), cria um link simbólico do novo local para o local original O diretório (para o qual tudo (como / etc / passwd) ainda está apontando), assumindo que funcionou, remove a cópia de backup que fizemos, deixando a cópia que colocamos no sistema de arquivos de destino.

Matt Simmons
fonte
Isso realmente não está sendo usado /homecomo ponto de montagem da nova partição. É apenas simbolizando isso.
Matthew Flaschen
É efetivamente a mesma coisa. Só porque / home / username é um link simbólico não significa que não funcionará. Se você quer colocar todas as contas de usuário em outra partição, basta alterar a linha 'cp -R' para fazer / casa em vez de / home / username
Matt Simmons