Recherche de site Web

Comment déplacer le répertoire personnel vers une nouvelle partition ou un nouveau disque sous Linux


Sur n'importe quel système Linux, l'un des répertoires dont la taille augmentera sûrement doit être le répertoire /home. En effet, les répertoires des comptes système (utilisateurs) résideront dans /home, à l'exception du compte root – ici, les utilisateurs stockeront en permanence les documents et autres fichiers.

Un autre répertoire important avec le même comportement est /var, il contient des fichiers journaux dont la taille augmentera progressivement à mesure que le système continue de fonctionner, tels que des fichiers journaux, des fichiers Web, des fichiers de spool d'impression, etc.

Lorsque ces répertoires se remplissent, cela peut entraîner des problèmes critiques sur le système de fichiers racine, entraînant un échec de démarrage du système ou d'autres problèmes connexes. Cependant, parfois, vous ne pouvez le remarquer qu'après avoir installé votre système et configuré tous les répertoires sur le système de fichiers/la partition racine.

Lecture suggérée : Explication de la structure des répertoires Linux et des chemins d'accès aux fichiers importants

Dans ce guide, nous montrerons comment déplacer le répertoire personnel vers une partition dédiée éventuellement sur un nouveau disque de stockage sous Linux.

Installation et partitionnement d'un nouveau disque dur sous Linux

Avant d'aller plus loin, nous expliquerons brièvement comment ajouter un nouveau disque dur à un serveur Linux existant.

Remarque : Si vous disposez déjà d'une partition prête pour l'opération, passez à la section qui explique les étapes de déplacement du répertoire /home dans un partition qui lui est propre ci-dessous.

Nous supposerons que vous avez connecté le nouveau disque au système. Sur un disque dur, le nombre de partitions à créer ainsi que la table de partition sont normalement déterminés par le type d'étiquette du disque et les premiers octets d'espace définiront le MBR (Master Boot Record ) qui stocke la table de partition ainsi que le chargeur de démarrage (pour les disques bootables).

Bien qu'il existe de nombreux types d'étiquettes, Linux n'en accepte que deux : MSDOS MBR (taille de 516 octets) ou GPT (Table de partition GUID) MBR.

Supposons également que le nouveau disque dur (/dev/sdb de taille 270 Go utilisé pour les besoins de ce guide, vous avez probablement besoin d'une plus grande capacité sur un serveur pour grande base d'utilisateurs.

Vous devez d'abord définir le type d'étiquette de disque en utilisant fdisk ou parted ; nous avons utilisé le nom du libellé GPT dans cet exemple.

parted /dev/sdb mklabel gpt

Remarque : fdisk ne prend en charge que MSDOS MBR pour l'instant et parted prend en charge les deux étiquettes.

Créez maintenant la première partition (/dev/sdb1) d'une taille de 106 Go. Nous avons réservé 1 024 Mo d'espace pour le MBR.

parted -a cylinder /dev/sdb mkpart primary 1074MB 107GB

Explication de la commande ci-dessus :

  • a – option permettant de spécifier l'alignement de la partition.
  • mkpart – sous-commande pour créer la partition.
  • primaire – définit le type de partition comme principal sur le disque dur (les autres valeurs sont logiques ou étendues).
  • 1 074 Mo – début de la partition.
  • 107 Go – fin de la partition.

Vérifiez maintenant l'espace libre sur le disque comme suit.

parted /dev/sdb print free

Nous allons créer une autre partition (/dev/sdb2) d'une taille de 154 Go.

parted -a cylinder /dev/sdb mkpart primary 115GB 268GB

Ensuite, définissons le type de système de fichiers sur chaque partition.

mkfs.ext4 /dev/sdb1
mkfs.xfs /dev/sdb2

Pour afficher tous les périphériques de stockage connectés au système, tapez.

parted -l

Déplacer le répertoire personnel vers une partition dédiée

Nous avons maintenant ajouté le nouveau disque et créé la partition nécessaire ; il est maintenant temps de déplacer le dossier home vers l'une des partitions. Pour utiliser un système de fichiers, il doit être monté sur le système de fichiers racine à un point de montage : le répertoire cible tel que /home.

Répertoriez d’abord l’utilisation du système de fichiers à l’aide de la commande df sur le système.

df -l

Nous allons commencer par créer un nouveau répertoire /srv/home dans lequel nous pouvons monter /dev/sdb1 pour le moment.

mkdir -p /srv/home
mount /dev/sdb1 /srv/home 

Déplacez ensuite le contenu de /home dans /srv/home (afin qu'il soit pratiquement stocké dans /dev/sdb1) à l'aide de la commande rsync ou commande cp.

rsync -av /home/* /srv/home/
OR
cp -aR /home/* /srv/home/

Après cela, nous trouverons la différence entre les deux répertoires à l'aide de l'outil diff, si tout va bien, passez à l'étape suivante.

diff -r /home /srv/home

Ensuite, supprimez tout l'ancien contenu dans /home comme suit.

rm -rf /home/*

Démontez ensuite /srv/home.

umount /srv/home

Enfin, nous devons monter le système de fichiers /dev/sdb1 sur /home pour le moment.

mount /dev/sdb1 /home
ls -l /home

Les modifications ci-dessus ne dureront que pour le démarrage en cours, ajoutez la ligne ci-dessous dans le /etc/fstab pour rendre les modifications permanentes.

Utilisez la commande suivante pour obtenir la partition UUID.

blkid /dev/sdb1

/dev/sdb1: UUID="e087e709-20f9-42a4-a4dc-d74544c490a6" TYPE="ext4" PARTLABEL="primary" PARTUUID="52d77e5c-0b20-4a68-ada4-881851b2ca99"

Une fois que vous connaissez l'UUID de la partition, ouvrez le fichier /etc/fstab et ajoutez la ligne suivante.

UUID=e087e709-20f9-42a4-a4dc-d74544c490a6   /home   ext4   defaults   0   2

Expliquer le champ dans la ligne ci-dessus :

  • UUID – spécifie le périphérique de blocage, vous pouvez également utiliser le fichier de périphérique /dev/sdb1.
  • /home – c'est le point de montage.
  • etx4 – décrit le type de système de fichiers sur le périphérique/la partition.
  • valeurs par défaut – options de montage (ici, cette valeur signifie rw, suid, dev, exec, auto, nouser et async).
  • 0 – utilisé par l'outil de vidage, 0 signifiant ne pas vider si le système de fichiers n'est pas présent.
  • 2 – utilisée par l'outil fsck pour découvrir l'ordre de vérification du système de fichiers, cette valeur signifie vérifier ce périphérique après le système de fichiers racine.

Enregistrez le fichier et redémarrez le système.

Vous pouvez exécuter la commande suivante pour voir que le répertoire /home a été déplacé avec succès vers une partition dédiée.

df -hl

C'est tout pour le moment! Pour en savoir plus sur le système de fichiers Linux, lisez ces guides relatifs à la gestion du système de fichiers sous Linux.

  1. Comment supprimer des comptes d'utilisateurs avec le répertoire personnel sous Linux
  2. Qu'est-ce qu'Ext2, Ext3 et Ext4 et comment créer et convertir des systèmes de fichiers Linux
  3. 7 façons de déterminer le type de système de fichiers sous Linux (Ext2, Ext3 ou Ext4)
  4. Comment monter un système de fichiers ou un répertoire Linux distant à l'aide de SSHFS sur SSH

Dans ce guide, nous vous avons expliqué comment déplacer le répertoire /home vers une partition dédiée sous Linux. Vous pouvez partager vos réflexions concernant cet article via le formulaire de commentaires ci-dessous.