Qual é a maneira mais fácil de mesclar / e / casa?

16

Eu tenho separado /e /homepartições, das quais ambos usam ext4 como seu sistema de arquivos.
Como posso fundi-los e qual é a maneira mais fácil?

Apache
fonte
2
Eu só sei usar GParted e um CD ao vivo. Redimensione meu / casa e expanda /. Mova os /homearquivos para o diretório /e, finalmente, exclua /homee expanda /.
Apache
11
Eu diria cópia / backup de todo o seu /homepara uma unidade externa, reinstalação Ubuntu com uma única partição, em seguida, copiar a sua volta para casa em.
Marius
@ Marius, ao que parece, o que escrevi funciona perfeitamente. (O que foi htorquedito na resposta dele.) Então, eu aceito o dele. :)
Apache

Respostas:

13

Eu não acho que exista uma maneira mais fácil. Você precisa copiar os dados de uma partição para outra. Você precisa excluir a partição inicial antiga e redimensionar a partição raiz. Isso não pode ser feito em um sistema em execução; portanto, um CD ao vivo ou USB parece o melhor possível.

  • Inicialize o CD / USB ao vivo.
  • Monte a partição raiz em /mnt/root.
  • Monte a partição inicial em /mnt/oldhome.
  • Copie os dados usando rsync:

    sudo rsync -avz --hard-links --numeric-ids /mnt/oldhome/ /mnt/root/home
    
  • Abra /mnt/root/etc/fstabe exclua a entrada da sua partição pessoal.

  • Desmonte a partição raiz e inicial e reinicie o sistema. Se tudo funcionar como esperado, você poderá reiniciar novamente no sistema ativo e, em seguida:
  • Aberto Gparted.
  • Exclua a partição inicial antiga, redimensione a partição raiz.

Deve ser isso.

htorque
fonte
11
Existem algumas melhorias que podem ser feitas nesse comando rsync. Primeiro, você desejará uma barra no final do caminho de origem, ou você terminará com um antigo, dentro da pasta inicial. Você também pode adicionar --hard-links, caso tenha algum deles em / home. Estar no lado seguro --numer-ids também não será prejudicial, dependendo do que estiver em / etc / {passwd, group} no Live CD.
andol 29/03
Além disso, você realmente espera muito benefício da compactação ao executar um rsync local?
andol 29/03
Obrigado. Eu os adicionei à chamada rsync acima mencionada.
QBI
@andol: Obrigado, eu estava muito desleixado com a minha resposta. Quanto à compactação local: sim, eu vi um pouco de desempenho aumentar; portanto, desde que não haja impacto no desempenho, tento ativar a compactação.
htorque
Boa resposta, mas algumas notas: --hard-linkspode ser reduzida para apenas -H, -znão seria desejável / eficaz em sistemas de arquivos locais e --numeric-idsnão teria nenhum efeito em um sistema de arquivos local (o que está em / etc / passwd em outra outra unidade não teria nenhum efeito quando executado localmente).
thomasrutter
0

Eu não sei sobre a abordagem mais fácil ou a melhor, mas aqui está como eu faria isso. Gostaria apenas de criar uma pasta /e copiar todos os dados /homepara ela. Então eu vou reiniciar meu sistema usando cd ao vivo e apagar a partição para /homee mudar o nome da pasta que eu criei em /que homee, em seguida, a entrada de exclusão para /homeem fstab. E o último passo seria redimensionar minha partição raiz para consumir o espaço vazio criado pela exclusão da partição para / home.

binW
fonte