Comment déplacer le répertoire personnel vers une partition distincte?


22

Je voudrais installer une autre distribution mais garder mon répertoire personnel. Existe-t-il un moyen de déplacer le répertoire personnel vers une partition distincte? Je n'ai pas de disque dur externe disponible pour sauvegarder mes données. Je souhaite configurer mes partitions comme suggéré ici .


1
Vous pouvez toujours repartitionner, puis restaurer / home à partir de la sauvegarde. Vous avez des sauvegardes, non?
KeithB

Réponses:


13

Votre question est distro-neutre, donc si je mentionne quelque chose de spécifique que vous n'avez pas, utilisez simplement l'équivalent de votre côté.

Je vous recommande vraiment d'acheter un externe pour les sauvegardes, croyez-moi, perdre vos données est le pire. Procédez à vos risques et périls et - Mais si vous ne pouvez pas en obtenir un, voici ce que vous pouvez faire.

De quoi as-tu besoin

  • la taille de votre répertoire / home
  • espace libre, plus que la taille de votre répertoire / home
  • outil de partitionnement de disque, je recommande gparted

Que faire

  • Vérifiez la taille de votre répertoire / home (le dernier résultat sera le total home):

    du -h /home

  • Vérifiez si vous disposez de suffisamment d'espace libre pour la nouvelle partition:

    df -h

  • Installer gparted

    sudo apt-get install gparted

Vous avez besoin de plus d'espace libre que la taille de votre répertoire / home. Si vous ne disposez pas de l'espace libre, vous ne pourrez pas créer cette nouvelle partition et devrez de toute façon déplacer vos données sur un disque externe.

Si vous disposez de l'espace, utilisez gparted pour réduire votre partition existante, puis créez une nouvelle partition avec l'espace non alloué libéré. Une fois que votre nouvelle partition est prête, notez que c'est / dev / sdax (utilisezsudo fdisk -l pour voir ceci), et copiez-y vos fichiers / home.

Utiliser la partition dans une nouvelle distribution

Vous avez mentionné l'installation d'une autre distribution, si vous envisagez de remplacer votre distribution actuelle, alors pendant l'installation, vous devriez être invité à configurer des partitions. À ce stade, vous pouvez spécifier cette partition comme / home, choisissez de ne pas pas la formater, et tout ira bien, vous pouvez ignorer cette section suivante.

Si toutefois vous souhaitez que votre distribution actuelle fonctionne avec la nouvelle partition / home, suivez cette section:

Montez la partition dans une distribution existante

Nous devons dire à votre système d'exploitation d'utiliser la partition comme votre nouveau / home, nous le faisons dans fstab, mais laissez-nous d'abord trouver l'UUID de cette nouvelle partition:

ls -l /dev/disk/by-uuid

Faites une référence croisée / sdax de votre nouvelle partition et copiez son UUID, le mien ressemble 3d866059-4b4c-4c71-a69c-213f0e4fbf32 .

Sauvegarde fstab: sudo cp /etc/fstab /etc/fstab.bak Modifier fstab:sudoedit /etc/fstab

L'idée est d'ajouter une nouvelle ligne qui monte la partition dans / home. Utilisez votre propre UUID, pas celui que je poste ici;)

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

Enregistrez et redémarrez et testez si la nouvelle partition se monte sur / home. Exécutez df -hpour lister toutes les partitions montées, / home devrait maintenant être dans cette liste.


Remarques

  • Ce pourrait être une bonne idée de vous familiariser avec fstab si vous ne le connaissez pas bien. Prenez votre temps et pensez à chaque étape.
  • Si vous installez une nouvelle distribution et utilisez le même nom de connexion, vos anciens fichiers / home appartiendront automatiquement à vous.
  • Ce n'est pas un sujet trivial à couvrir dans un seul article, mais je pense que j'ai eu l'essentiel. :)

J'essaie d'utiliser gparted, mais je ne peux pas redimensionner la partition /. Avez-vous des recommandations sur la façon de redimensionner la partition racine? Je pourrais utiliser Parted Magic pour le faire à partir d'un CD live.
vanillaike

1
Oui, vous devrez le faire à partir d'un Live CD car le système de fichiers est monté par le système d'exploitation en cours d'exécution. Ubuntu Live CD, Knoppix ou Parted Magic fonctionneront tous.
inverser

3

Le titre du message et votre question m'ont causé une certaine confusion. Voulez-vous séparer votre homepartition en une partition, ou voulez-vous simplement réinstaller et conserver la même chose home?

Si tout ce que vous voulez est de réinstaller l'intégralité du système d'exploitation tout en conservant votre, homevous pouvez sauvegarder votre homedans un endroit qui ne sera pas affecté par l'installation, puis le restaurer après cela, avec un correctif d'autorisation (à utiliser chown -R username:groupnamepour vous assurer que la propriété est correcte ).

Si vous souhaitez suivre certaines des meilleures pratiques et les séparer, homevoici le guide dont vous avez besoin . C'est écrit pour Ubuntu, mais je pense que la même chose vaut pour les autres distributions.


Désolé pour la confusion. Je voudrais séparer ma maison en une partition
vanillaike

AVERTISSEMENT: le lien dans «permission fix» renvoie actuellement un à deux sites Web différents, le dernier d'entre eux invite à installer Adobe Flash dans une réplique de boîte de dialogue d'installation très douteuse.
user66001

J'ai dissocié le "correctif d'autorisation" et copié les conseils de l'article original, que j'ai trouvé archivés .
mattdm

2

En supposant que vous avez déjà une partition séparée (et si vous ne l'avez pas, vous voulez probablement utiliser gparted ou quelque chose de similaire, pour en créer une), vous faites simplement ce qui suit (de préférence en tant qu'utilisateur root):

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

Et puis en supposant que tout fonctionne comme il se doit (connectez-vous en tant qu'utilisateur et testez)

 rm -rf /home/whatever.orig 

Cela copie l'intégralité du répertoire (et tout le contenu) vers le point de montage de destination, renomme le répertoire d'origine (au cas où quelque chose est vissé dans le processus, alors nous pouvons récupérer), crée un lien symbolique du nouvel emplacement vers la maison d'origine (où tout (comme / etc / passwd) pointe toujours), en supposant que cela fonctionne, supprime la copie de sauvegarde que nous avons faite, laissant la copie que nous avons mise dans le système de fichiers de destination.


Cela n'utilise pas vraiment /homecomme point de montage pour la nouvelle partition. C'est juste un lien symbolique.
Matthew Flaschen

C'est effectivement la même chose. Ce n'est pas parce que / home / username est un lien symbolique que cela ne fonctionnera pas. Si vous voulez mettre tous les comptes d'utilisateurs sur l'autre partition, changez simplement la ligne 'cp -R' en do / home au lieu de / home / username
Matt Simmons
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.