Guides & Astuces

Linux – Comment déplacer le dossier /home dans une autre partition

Par Tutos-Info , le 2 mars 2022 , mis à jour le 25 avril 2022 , 4 commentaires — Linux - 6 minutes de lecture
logo linux
5/5 - (1 vote)

Vous utilisez Ubuntu et vous remarquez que votre espace de stockage est plein ? Il est possible de déplacer le dossier /home vers une autre partition afin d'alléger la partition système.

Le répertoire /home contient généralement toutes les données de l'utilisateur comme des documents, des images, de la musique et autres fichiers.

Pour les versions Serveur il est possible également de déplacer le dossier /home.

Le déplacement du dossier home est réalisé en ligne de commande , nous sommes connecté à la machine en SSH avec l'outil Putty.

Avant de procéder à ce tutoriel il est indispensable d’avoir une sauvegarde de vos données

A propos du dossier /home

Dans le cas d'une installation par défaut, le répertoire /home  se trouve dans la même partition que la racine /.

Si votre disque dur se remplit il faut trouver une solution pour que le répertoire /home soit sur une autre partition de votre disque.

L'avantage c'est que si votre partition "racine" rencontre un problème, vos documents eux ne seront pas impactés.

On peut comparer ce cas avec le dossier Utilisateur sur Windows qui se trouve sur le C:\ , il est possible de le déplacer vers une autre partition comme D:\

Les partitions

Dans certains cas , et notamment chez certains hébergeurs. Il est possible de créer différentes partition à l'installation.

Par exemple chez OVH vous pouvez créer différentes partitions logiques.

modification des partition sur un Kimsufi

La partition est donc formatée et initialisée.

Pour la suite du tutoriel nous partons du principe que la partition est opérationnelle.

N'hésitez pas à lire mon tutoriel pour créer et redimensionner une partition linux.

Etape 1 - Identifier les partitions

La première étape c'est d'identifier le nom des partitions.

Il faut saisir la commande suivante

sudo fdisk -l

Dans mon cas la partition qui m'intéresse c'est celle qui fait  245 GO elle est identifiée comme /dev/sdb1

linux identifier une partition avec Fdisk
Le disque est nommé /dev/sdb la partition /dev/sdb1

Pour identifier le point de montage nous allons utiliser la commande suivante :

df -h

Nous remarquons que la partition /dev/sdb1 est montée dans /tutos

linux lister taille dossier
Notre point de montage est le dossier tutos

Maintenant que tout est clair nous allons pouvoir préparer la migration du dossier /home.

Etape 2 - Préparation du dossier Home

Copier le dossier Home

Pour ne pas perde les données nous allons déplacer les données du dossier Home dans la nouvelle partition.

La commande suivante copie les fichiers dans le dossier /tutos qui se trouve dans notre nouvelle partition sdb1 .

sudo cp -rp /home/* /tutos

Nous pouvons vérifier que les données sont copiés grâce à la commande LS

copier dossier gome
Le dossier home et le contenu des utilisateurs a été copié sur notre nouvelle partition.

Renommer le dossier Home

Par mesure de sécurité nous allons renommer le dossier home en home.old (les fichiers et dossiers sont conservés)

sudo mv /home /home.old

Nous avons ainsi la version originale du dossier Home.

Créer un nouveau dossier Home

Nous allons créer un dossier /home vierge puisqu'il n'existe plus il a été renommé à l'étape précédente.

sudo mkdir /home

Le dossier est créé nous pouvons passer à l'étape suivante.

Etape 3 - Monter le /home dans la nouvelle partition

Pour monter notre dossier Home dans la nouvelle partition nous devons tout d'abord la démonter. En effet rappelez vous nous avions monté au début la partition dans le dossier tutos.

La commande suivante permet de démonter la partition, nous nous plaçons à la racine du serveur.

cd /
sudo umount /dev/sdb1

Puis nous allons monter notre partition dans le dossier /home créé précédemment.

sudo mount /dev/sdb1 /home/
linux monter partition
Nous montons notre partition dans le dossier /home

Nous pouvons vérifier que la partition est correctement montée :

df /dev/sdb1
linux vérifier montage partition
La partition est montée dans le dossier /home

Nous vérifions ainsi que nos dossiers sont présent dans le dossier /home

Vérifier le contenu du dossier /home
Nous retrouvons les dossiers de l'utilisateur Tutos

La prochaine étape consiste à monter la partition au démarrage de la machine pour éviter de refaire les manipulations.

Etape 4 - Identifier l'UUID de la partition

Pour éviter les erreur au démarrage du serveur nous devons identifier le UUID de la partition grâce à la commande suivante

ls -l /dev/disk/by-uuid/

Soit pour notre exemple

exemple UUID partition Linux
l'UUID permet de s'assurer que le montage s'effectue sur tous les démarrage du système.

Une fois l'UUID trouvée sélectionnez la valeur puis faîte un clic droit (ça correspond à un copier) puis collez la dans un fichier texte.

Etape 4 - Modification du fichier FSTAB

Cette quatrième étape consiste à modifier le fichier FSTAB. Il permet de monter les partitions au démarrage du serveur.

Par précaution il faut faire une copie du fichier.

sudo cp /etc/fstab /etc/fstab.old
copie dossier fstab
le fichier est copier en .old

Nous pouvons modifier le fichier FSTAB grâce à l'outil NANO ou VI

sudo nano /etc/fstab

Nous allons ajouter la ligne suivante :

UUID:VotreUUID /home ext4 default 0 2

Ce qui signifie que la partition /dev/sdb1 (identifiée par son UUID) au format ext4 est montée par défaut dans le dossier /home

nano fstab
l'outil nano est assez simple à utiliser

Une fois modifié il faut faire la touche CTRL + X puis faire Y et Entrée

fstab configuration UUID
l'exemple de notre UUID dans le fichier FSTAB

Enfin valider l'enregistrement avec la touche entrée.

Vous pouvez redémarrer votre serveur puis vérifier que tout est OK avec la commande suivante

df /dev/sdb1
Bravo vous avez déplacé votre dossier /home !

Tutos-Info

Fondateur de Tutos-Informatique, je suis Administrateur Systèmes et Réseaux. Je propose des tutoriels suite à mes interventions clients.

Commentaires

Le 3 avril 2022 à 18 h 17 min, Prophet_of_56 a dit :


Désolé mais ce tuto ne fonctionne pas pour moi. Les applications/scripts qui on besoin de créer des dossiers dans le /home ne le trouve pas !


Votre réponse sera révisée par les administrateurs si besoin.

Le 14 mars 2022 à 16 h 24 min, joleclodo a dit :


Un peu obsolète pour un tuto de 2022.

- il vaut mieux utiliser lsblk plutôt que fdisk -l

- le fichier fstab ne doit plus utiliser la notation /dev/sdX car ce nommage n'est pas persistant, il est alloué dynamiquement peut changer d'un démarrage à l'autre. Il faut désormais utiliser le nommage par label ou par UUID.
Pour cela on utilise les commandes: lsblk -f ou blkid
ou encore:
ls -l /dev/disk/by-label
ls -l /dev/disk/by-uuid/

Pour les disques en GPT
ls -l /dev/disk/by-partlabel/
ls -l /dev/disk/by-partuuid/

dans le fstab on remplace la notation /dev/sdX par la valeur trouvée avec les commandes précédentes, préfixée de:
LABEL=
ou
UUID=
et pour les disques en GPT
PARTLABEL=
ou
PARTUUID=

à noter aussi que la valeur de la dernière colonne dans le fstab pour le /home devrait être 2 et pas 0.


Votre réponse sera révisée par les administrateurs si besoin.

Le 4 avril 2022 à 0 h 10 min, prophet_of_56 a dit :


Merci beaucoup pour votre commentaire ! Cela m'a beaucoup aidé et m'a permis de réparé mon déplacement du /home. J'ai modifié le fichier fstab en utilisant UUID comment vous l'avez conseillé ! MERCI <3


Votre réponse sera révisée par les administrateurs si besoin.

Le 4 avril 2022 à 10 h 59 min, Tutos-Info a dit :


merci beaucoup pour votre retour, nous allons modifier le tutoriel.


Votre réponse sera révisée par les administrateurs si besoin.

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.