Déplacer le dossier de départ sur le deuxième lecteur


65

J'ai 2 disques durs dans mon ordinateur. Pour le moment, le deuxième lecteur est monté en tant que /media/storage.

Comment puis-je déplacer mes données d'utilisateur de /homeà /media/storage/home?

Puis-je simplement déplacer les données là-bas et ensuite simplement les renvoyer par lien symbolique?


La réponse qui utilise usermod est la plus simple: créez un utilisateur administrateur temporaire, basculez vers ce compte, usermod -m -d /path/to/non_existent_home_dir usernamerevenez sur votre compte (nom d'utilisateur), supprimez un utilisateur administrateur temporaire. Bien que ce soit toujours 5 étapes, beaucoup moins que les autres réponses, beaucoup moins risqué et beaucoup plus simple.
Oliver

Réponses:


31

Si vous souhaitez simplement déplacer votre répertoire personnel, par exemple / home / votre-nom d'utilisateur, copiez simplement votre répertoire personnel sur une autre partition, puis utilisez Système-> Administration-> Utilisateurs et groupes pour ouvrir la boîte de dialogue des paramètres utilisateur. Cliquez sur l'icône des clés pour vous authentifier

texte alternatif

Après cela, sélectionnez l’utilisateur que vous voulez changer et cliquez sur les propriétés, allez dans l'onglet avancé

texte alternatif

changez le répertoire de base en nouveau répertoire, c’est-à-dire le répertoire que vous avez copié sur une autre partition.


3
En effet. c'est un excellent moyen de changer facilement l'emplacement du répertoire de base d'un utilisateur spécifique. En lisant la question, je comprenais que cela aurait été pour le répertoire / home globalement. Dans ce cas, vous pouvez créer la partition sur l'autre périphérique, y déplacer manuellement tous les fichiers, puis changer le périphérique pour le point de montage dans le fichier / etc / fstab lui-même.
Jfmessier

3
@ jfmessier: vous devriez en faire une réponse plutôt qu'un commentaire!
Skizz

1
Si vous copiez votre répertoire personnel avec "cp" sur la ligne de commande, vous feriez mieux d'utiliser "cp -rPa *": r pour récursif, P pour ne pas suivre les liens, a pour préserver la propriété et les drapeaux d'autorisation.
Drevicko

1
Unity dans 13.04 n'a pas "Utilisateurs et groupes", juste un paramètre "Utilisateurs" qui n'inclut pas ces options. Pouvez-vous mentionner les termes correspondants pour Unity dans 13.04?
Torben Gundtofte-Bruun

Si vous utilisez Ubuntu 12.04 ou supérieure, l’option d’utilisation de la méthode graphique n’est peut-être pas disponible, du moins pour moi ce n’est pas le cas. Je devais utiliser cette méthode trouvée ici: help.ubuntu.com/community/Partitioning/Home/Moving
Kyle Coots

84

Déplacement de HOME depuis la ligne de commande

Pour éviter les effets secondaires tout en travaillant dans un environnement graphique, nous devons effectuer toutes les actions pour déplacer HOME depuis un terminal avec Ctrl+ Alt+ F1.

Montez temporairement la nouvelle partition:

sudo mkdir /mnt/tmp
sudo mount /dev/sdb1 /mnt/tmp

en supposant que / sdb1 est la nouvelle partition pour HOME

Copier HOME vers le nouvel emplacement:

sudo rsync -avx /home/ /mnt/tmp

Nous pouvons ensuite monter la nouvelle partition en tant que HOME avec

sudo mount /dev/sdb1 /home

pour vous assurer que toutes les données sont présentes. Le plus simple est de supprimer l'ancien /homeà ce stade (vous pouvez le faire plus tard, mais vous devrez alors démarrer un système en direct pour voir l'ancienne maison):

sudo umount /home  #unmount the new home first!
rm -rf /home/*  #deletes the old home

Rendre la maison permanente

Nous devons connaître l'UUID de la nouvelle partition pour l' fstabentrée vue de:

sudo blkid

Notez ou copiez / collez le bon UUID pour éditer votre fstabavec

sudo nano /etc/fstab   #or any other editor

et ajoutez la ligne suivante à la fin:

UUID=<noted number from above>    /home    ext4    defaults   0  2

Prenez soin de choisir le système de fichiers approprié ici, par exemple ext3si ext3 est formaté

Redémarrer

Après un redémarrage , vous /homerésidez sur le nouveau disque, qui dispose de beaucoup d’espace.


1
N'a pas travaillé pour moi.
Corev

2
Je vous recommande de vous déconnecter du profil que vous souhaitez déplacer. Vous pouvez également utiliser les outils de distribution comme usermodpour cette tâche.
LiveWireBT

Ça a marché! Merci. Puis-je enlever /mnt/tmpaprès le redémarrage?
9

@ e9t: c'est seulement un point de montage que nous avons créé pour pouvoir monter temporairement notre HOME. Il est possible de supprimer ce point de montage, mais il ne fera aucun mal (et pourrait être plus sûr) de le garder. Si, pour une raison quelconque, vous souhaitez toujours le supprimer, veillez à ne rien installer dessus (sinon, vous risquez de supprimer de manière irréversible toutes les données sur lesquelles vous êtes monté /mnt/tmp).
Takkat

1
J'ai suivi ces instructions pour mon serveur et je ne peux plus y accéder via SSH (autorisation refusée (publickey) :( :( :( :(
Khue

14

La procédure détaillée officielle est ici sur le wiki d'aide Ubuntu


Trouver l'UUID de la partition

sudo blkid

Mettre en place Fstab

sudo -H gedit /etc/fstab 

et ajouter ces lignes

UUID=????????   /media/home    ext4    defaults    0  2 

et remplacez-le ????????par le numéro UUID de la /homepartition prévue .

Enregistrez et fermez le fstabfichier, puis tapez la commande suivante:

sudo mkdir /media/home

Copier /homesur la nouvelle partition

sudo rsync -aXS --progress --exclude='/*/.gvfs' /home/. /media/home/.

Vérifier la copie a fonctionné

sudo diff -r /home /media/home -x ".gvfs/*"

Remarque: Vous pouvez également vous attendre à voir des erreurs concernant les fichiers non trouvés. Celles-ci sont dues à des liens symboliques qui pointent vers des endroits qui n'existent pas actuellement (ce qui sera le cas après le redémarrage). Vous pouvez les ignorer, mais jetez un œil à autre chose.

Préparation de fstab pour le commutateur

sudo -H gedit /etc/fstab

Et maintenant, éditez les lignes que vous avez ajoutées précédemment, en changeant la /media/homepartie en disant simplement /homequ'elle ressemble à ceci:

UUID=????????   /home   ext4    defaults     0  2 

S'installer /homedans/old_home

cd / && sudo mv /home /old_home && sudo mkdir /home

Redémarrer ou remonter tout

Redémarrez ou remontez le tout avec ceci:

sudo mount -a

10
Bienvenue sur Ask Ubuntu! Bien que cela puisse théoriquement répondre à la question, il serait préférable d’inclure ici les parties essentielles de la réponse et de fournir le lien à titre de référence.
Eliah Kagan

7

En effet. c'est un excellent moyen de changer facilement l'emplacement du répertoire de base d'un utilisateur spécifique. En lisant la question, je comprenais que cela aurait été pour le répertoire / home globalement. Dans ce cas, vous pouvez créer la partition sur l'autre périphérique, y déplacer manuellement tous les fichiers, puis modifier le périphérique pour le point de montage dans le fichier / etc / fstab lui-même.


2

ok, la seule façon dont j'ai trouvé que cela fonctionnerait est de créer un autre utilisateur, lui donner les droits d'administrateur, déconnecter l'identifiant principal, ouvrir une session avec le nouvel identifiant puis utiliser la commande usermod.


0

Tâche:

  • Vérifiez la disponibilité et formatez deux disques durs: "WD Purple" et "WD Gold".
  • Montez deux disques durs sur le système de fichiers Ubuntu.
  • Déplacez le dossier HOME sur le disque dur "WD Gold".

Liens connexes:

Formater les disques

Branchez tous les câbles SATA et d’alimentation nécessaires sur vos disques durs. Charger Ubuntu. Appuyez sur le clavier et tapez "Disques". L'utilitaire "Disks" sera ouvert: entrez la description de l'image ici

Dans cet utilitaire, vous pouvez formater vos disques durs dans le système de fichiers Ext4. Sinon, pour formater les disques, utilisez les commandes suivantes:

  1. fdisk (man fdisk);
  2. séparé (homme séparé);
  3. mkfs (man mkfs)

Par exemple, mais je ne suis pas sûr de connaître les paramètres car l'interface graphique utilisée "Disks":

sudo mkfs.ext4 -L purple /dev/sdb  # not sure with parameters
sudo mkfs.ext4 -L gold   /dev/sdc  # not sure with parameters

N'oubliez pas que le formatage supprime tout le contenu du disque dur cible . Vous pouvez ignorer cette étape si le disque dur contient des données et que vous souhaitez ne pas les perdre.

Le formatage lent devrait prendre beaucoup de temps: de 16 à 20 heures pour un disque de 4 To.

Monter les disques en permanence

# Press CTRL+ALT+T and open a console.
# Check your /dev/sdb and /dev/sdc discs are visible:
lsblk
# Create directories for the new HDD WD Purple and WD Gold
sudo mkdir /hdd_purple
sudo mkdir /hdd_gold  # temporary directory
# Temporary mount to the new mount point
sudo mount /dev/sdb1 /hdd_purple
sudo mount /dev/sdc1 /hdd_gold
# Unmount drives
sudo umount /dev/sdb1
sudo umount /dev/sdc1

# Configuration file /etc/fstab has list of all partitions that will be mounted at boot.
# 1. Show and copy UUID of the HDD with this command:
sudo blkid
# My data is:
#     /dev/sdb1: LABEL="purple" UUID="6ce9ec1f-3bf5-420f-8502-1b4f55f2fc60" TYPE="ext4" PARTUUID="a14c8357-a8ce-42e4-9772-64ccfad3e226"
#     /dev/sdc1: LABEL="gold" UUID="1d049c7c-4565-480b-a181-2459e8ff8c1b" TYPE="ext4" PARTUUID="4c691b21-b4e3-4dab-ab91-d7bf7272b2b5"
# Make a backup of that file to be able to revert changes.
sudo cp /etc/fstab /etc/fstab.2018.11.29.bak
# 2. Add a new partitions by editing /etc/fstab file as root:
sudo nano /etc/fstab
# 3. At the bottom of fstab file add 2 lines similar to this:
UUID=6ce9ec1f-3bf5-420f-8502-1b4f55f2fc60   /hdd_purple   ext4   defaults           0  2
UUID=1d049c7c-4565-480b-a181-2459e8ff8c1b   /hdd_gold     ext4   defaults           0  2
# Your UUID have to be different!
# Write the file with keys <Ctrl+O> then <Return>. Quit the editor with <Ctrl+X>.
# If you have Midnight Commander running, then save before quitting with <Ctrl+X>,
# because <Ctrl+O> will switch from nano editor to your MC.

# To see if the drive is mounted correctly we can simulate the mount process at boot with:
sudo mount -a

Déplacement de HOME depuis la ligne de commande

# To avoid side effects while working in a graphical, environment
# we should perform all actions to move HOME from a terminal with Ctrl+Alt+F3.

# Press <Ctrl+Alt+F3> and swidth to console mode.
# Login in the console mode.

# Copy HOME to the new location:
sudo rsync -avx /home/ /hdd_gold

# Delete everything in the HOME directory.
# Be careful with this command, make sure you have a backup.
rm -rf /home/*

# Make HOME permanent -- edit /etc/fstab configuration file
sudo nano /etc/fstab
# Change string
UUID=1d049c7c-4565-480b-a181-2459e8ff8c1b  /hdd_gold  ext4  defaults  0  2
# to string
UUID=1d049c7c-4565-480b-a181-2459e8ff8c1b  /home      ext4  defaults  0  2
# /hdd_golds change to /home directory

# After a reboot, your /home resides on the new drive having plenty of space.
sudo reboot
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.