Quelle est la façon la plus simple de fusionner / et / home?

15

J'ai séparé /et /homepartitions, dont les deux utilisent ext4 comme système de fichiers.
Comment puis-je les fusionner et quelle est la manière la plus simple?

Apache
la source
2
Je ne connais que l'utilisation de GParted et d'un CD live. Redimensionnez mon / home, puis développez /. Déplacez les /homefichiers dans le /, et enfin supprimez le /homeet développez /.
Apache
1
Je dirais copier / sauvegarder l'intégralité de votre /homedisque sur un disque externe, réinstaller Ubuntu avec une seule partition, puis copier votre maison.
Marius
@Marius, il s'avère que ce que j'ai écrit fonctionne parfaitement. (C'est ce qui a été htorquedit dans sa réponse.) Je vais donc accepter la sienne. :)
Apache

Réponses:

13

Je ne pense pas qu'il existe un moyen plus simple. Vous devez copier les données d'une partition à l'autre. Vous devez supprimer l'ancienne partition d'accueil et redimensionner la partition racine. Cela ne peut pas être fait sur un système en cours d'exécution, donc un CD en direct ou un USB semble aussi bon que possible.

  • Démarrez le CD / USB en direct.
  • Montez la partition racine sur /mnt/root.
  • Montez la partition domestique sur /mnt/oldhome.
  • Copiez les données en utilisant rsync:

    sudo rsync -avz --hard-links --numeric-ids /mnt/oldhome/ /mnt/root/home
    
  • Ouvrez /mnt/root/etc/fstabet supprimez l'entrée de votre partition domestique.

  • Démontez la partition racine et home et redémarrez le système. Si tout fonctionne comme prévu, vous pouvez redémarrer à nouveau dans le système en direct, puis:
  • Ouvrez Gparted.
  • Supprimez l'ancienne partition d'accueil, redimensionnez la partition racine.

Ça devrait être ça.

htorque
la source
1
Il y a quelques améliorations qui peuvent être apportées à cette commande rsync. Tout d'abord, vous voudrez une barre oblique à la fin du chemin de départ, ou vous vous retrouverez avec un vieil home, dans le dossier personnel. Vous pouvez également ajouter --hard-links, au cas où vous en auriez sous / home. Pour être prudent - les identifiants-numéros ne feront pas de mal non plus, selon ce qui se trouve dans / etc / {passwd, group} sur le Live CD.
andol
En outre, vous attendez-vous vraiment à beaucoup de bénéfices de la compression lors d'une rsync locale?
andol
Merci. J'ai ajouté ceux-ci à l'appel rsync mentionné ci-dessus.
qbi
@andol: Merci, j'étais trop bâclé avec ma réponse. En ce qui concerne la compression locale: oui, j'ai vu une légère augmentation des performances, donc tant qu'il n'y a pas de perte de performances, j'ai tendance à activer la compression.
htorque
Bonne réponse, mais quelques notes: --hard-linkspeut être raccourci en juste -H, -zne serait pas souhaitable / efficace sur les systèmes de fichiers locaux, et --numeric-idsn'aurait aucun effet sur un système de fichiers local (ce qui se trouve dans / etc / passwd sur un autre autre lecteur n'aurait aucun effet lorsqu'il est exécuté localement).
thomasrutter
0

Je ne connais pas l'approche la plus simple ou la meilleure, mais voici comment je procéderais. Je voudrais simplement créer un dossier /et ensuite copier toutes les données de /homecelui-ci. Ensuite , je vais redémarrer mon système en utilisant live cd et supprimer la partition pour /homeet renommer le dossier que j'ai créé dans /à homepuis l' entrée de suppression pour /homedans fstab. Et la dernière étape serait de redimensionner ma partition racine pour consommer l'espace vide créé en supprimant la partition pour / home.

binW
la source