Comment déplacer votre répertoire personnel Linux vers un autre lecteur

Publié: 2022-01-29
Terminal Linux sur ordinateur portable stylisé
Fatmawati Achmad Zaenuri/Shutterstock

Vous souhaitez déplacer votre dossier de départ Linux vers un autre lecteur ? Voici une méthode simple et étape par étape qui devrait fonctionner sur n'importe quelle distribution. Déplacer votre dossier personnel signifie que vous pouvez réinstaller Linux sans avoir à vous soucier de vos fichiers personnels.

Pourquoi garder votre dossier personnel séparé ?

Si vous configurez une nouvelle machine ou ajoutez un disque dur à une machine existante, vous souhaiterez peut-être que votre répertoire personnel se trouve sur un lecteur différent de l'emplacement par défaut.

Une configuration de plus en plus populaire pour les ordinateurs personnels modernes consiste à disposer d'un disque SSD (Solid State Drive) de taille moyenne contenant votre système d'exploitation et d'un disque SSD hybride (SSHD) ou d'un disque dur traditionnel (HD) plus grand comme stockage principal des données. Ou vous pouvez avoir un seul disque dur traditionnel dans votre système, et vous avez ajouté un nouveau disque dur pour un stockage accru. Quelles que soient vos raisons, voici une présentation simple et détaillée du déplacement de votre répertoire personnel.

Soit dit en passant, si vous installez un système Linux à partir de zéro, vous verrez probablement une option pour créer un répertoire personnel séparé dans le programme d'installation de votre distribution Linux. Généralement, vous aurez juste besoin d'aller dans les options de partitionnement, de créer une partition séparée et de la monter sur "/home". Mais, si vous avez déjà installé une distribution Linux, vous pouvez utiliser ces instructions pour déplacer votre répertoire personnel actuel vers un nouvel emplacement sans rien perdre ni réinstaller votre système d'exploitation.

Maintenant, avant de commencer, allez faire une sauvegarde.

CONNEXION: Comment sauvegarder votre système Linux avec rsync

Identifier le lecteur

Si vous venez d'installer un lecteur sur un ordinateur Linux ou d'installer Linux sur l'un des lecteurs d'un nouvel ordinateur à plusieurs lecteurs et que vous avez redémarré, il y a peu de preuves que le nouveau lecteur est même présent.

Publicité

La commande fdisk les lecteurs et leurs partitions pour nous.

 sudo fdisk -l 

Faites défiler la sortie jusqu'à ce que vous ayez identifié le nouveau lecteur. Le premier lecteur est nommé /dev/sda , le second est /dev/sdb et ainsi de suite, la dernière lettre augmentant à chaque fois. Ainsi, /dev/sde serait le cinquième disque dur du système.

dans cet exemple, le nouveau disque est le deuxième disque à être installé sur le système. Nous devons donc rechercher une entrée pour /dev/sdb .

/dev/sdb est surligné ci-dessus. Vous remarquerez qu'il n'y a pas de ligne décrivant une partition dessus. C'est un tout nouveau disque donc il n'en aura pas encore. Nous devons créer la partition. Nous pouvons le faire en utilisant fdisk . Si votre disque dur n'est pas /dev/sdb , assurez-vous de remplacer /dev/sdb par l'identificateur de lecteur réel de votre nouveau disque dur dans la commande.

 sudo fdisk /dev/sdb 

Lorsque fdisk vous demande une commande, appuyez sur la lettre p . Cela imprime la table de partition du disque dur. Nous savons qu'il n'en aura pas, mais nous obtenons des informations utiles sur le lecteur. Cela nous donne une bonne chance de nous assurer que le lecteur pour lequel nous allons créer une partition est le lecteur avec lequel nous avions l'intention de travailler.

Il nous indique que le lecteur est un lecteur de 1 To, ce qui correspond à ce que nous attendons de cette machine de test, nous allons donc continuer.

Créer une partition

Appuyez sur la lettre n pour une nouvelle partition, puis appuyez sur p pour une partition principale. Lorsqu'on vous demande le numéro de partition, appuyez sur le chiffre 1 .

Publicité

Nous allons créer une seule partition pour l'ensemble du disque, donc lorsque vous êtes invité pour le premier secteur, nous pouvons appuyer sur Entrée pour accepter la valeur par défaut. Vous serez alors invité à entrer le dernier secteur et Enter acceptera la valeur par défaut.

Bien que fdisk confirme qu'il a créé une partition Linux de 1 To, qui est la partition numéro 1, rien n'a encore changé sur le disque dur. Jusqu'à ce que vous donniez à fdisk la commande d'écrire les modifications sur le lecteur, le lecteur reste intact. Une fois que vous êtes certain que vous êtes satisfait de nos choix, appuyez sur la lettre w pour écrire les modifications sur le lecteur.

La partition a été écrite dans /dev/sdb . Vérifions ce qui vient de se passer. Nous utiliserons fdisk une fois de plus sur /dev/sdb .

 sudo fdisk /dev/sdb 

Appuyez sur la lettre p pour imprimer cette table de partition, et vous verrez qu'il y a maintenant une partition répertoriée pour le lecteur. Comme il s'agissait de la première partition de ce lecteur, elle s'appelle /dev/sdb1 . Une deuxième partition s'appellerait /dev/sdb2 , et ainsi de suite.

Nous ne voulons apporter aucune modification à la partition, alors appuyez sur la lettre q pour quitter.

Créer un système de fichiers sur la partition

Nous devons créer un système de fichiers sur la partition. Ceci est facilement réalisé avec la commande mkfs . Notez que vous devez inclure le numéro de partition dans la commande. Attention à bien taper /dev/sdb1 (la partition) et non /dev/sdb (le lecteur).

 sudo mkfs -t ext4 /dev/sdb1 

Publicité

Le système de fichiers sera créé pour vous et vous serez renvoyé à l'invite de commande.

Montage du nouveau disque

Pour utiliser le nouveau lecteur, nous devons monter la partition sur un point de montage dans le système de fichiers. En fait, pour être parfaitement précis, nous ne montons ni le lecteur ni la partition, nous montons le système de fichiers sur la partition, en le greffant sur l'arborescence du système de fichiers de votre système.

Le point /mnt est un endroit aussi bon que n'importe quel autre. Ce n'est qu'un point de montage temporaire pour nous permettre de copier des données sur le nouveau disque. Nous allons utiliser la commande mount pour monter le système de fichiers sur la première partition sur /dev/sdb , à /mnt .

 sudo mount /dev/sdb1 /mnt 

Si tout se passe bien, vous serez renvoyé à la ligne de commande sans message d'erreur. Voyons si nous pouvons changer de répertoire pour notre système de fichiers nouvellement monté.

 cd / mnt 

Oui nous pouvons. voyons ce qu'il y a ici.

 ls-ahl 

Nous sommes dans notre nouveau système de fichiers. Le répertoire par défaut "perdu + trouvé" n'est pas requis, nous pouvons donc le supprimer.

 sudo rm -rf perdu+trouvé 

Copier votre dossier personnel

Nous devons tout copier de l'ancien répertoire personnel vers le système de fichiers nouvellement monté. L'utilisation des options r (récursif) et p (conserver) garantira que tous les sous-répertoires sont copiés et que les propriétaires de fichiers, les autorisations et les autres attributs sont conservés.

 sudo cp -rp /home/* /mnt 

Publicité

Une fois la copie terminée, utilisez ls pour jeter un coup d'œil et vérifier que vos données se trouvent là où vous vous attendez à ce qu'elles se trouvent dans le nouveau système de fichiers. En d'autres termes, si /mnt était votre répertoire personnel, tout est-il présent et correct ?

 ls
 c'est dave 

Vous voudrez probablement être un peu plus approfondi que nous ne l'étions sur la machine de test sur laquelle cet article a été recherché. En tant que filet de sécurité, nous allons renommer et conserver votre ancien répertoire /home jusqu'à ce que vous soyez convaincu qu'il est sûr de le supprimer.

 sudo mv /home /home.orig 

Et nous allons créer un nouveau répertoire personnel vide.

 sudo mkdir /accueil 

Nous utiliserons ce nouveau répertoire personnel vide comme point de montage pour notre système de fichiers sur le nouveau disque dur. Nous devons le démonter de /mnt et le remonter sur /home . Notez que la commande umount n'a pas de "n" après le "u".

Mais d'abord, nous allons changer dans le répertoire racine (avec cd / ) pour nous assurer que nous ne sommes pas dans un répertoire qui va être inclus dans les emplacements de montage ou de démontage.

 CD /
 sudo umount /dev/sdb1
 sudo mount /dev/sdb1 /home/ 

CONNEXION: La structure du répertoire Linux, expliquée

Test de votre nouveau répertoire personnel

Voyons maintenant quels sont les attributs de la partition /dev/sdb1 :

 df /dev/sdb1 

Publicité

On nous montre le nom du système de fichiers, la taille de la partition et l'espace utilisé et disponible dessus, et surtout, où il est monté. C'est maintenant notre répertoire /home . Cela signifie que nous devrions pouvoir le référencer exactement comme nous le pouvions avec l'ancien répertoire /home .

Si nous nous déplaçons vers un point arbitraire du système de fichiers, nous devrions pouvoir revenir à /home en utilisant le raccourci ~ tilde.

 CD /
 cd ~
 pwd
 ls 

 cd /maison
 ls
 dave
 ls
 ls -a 

Nous pouvons parcourir le système de fichiers dans les deux sens vers /home en utilisant des commandes explicites et en utilisant le raccourci ~ . Les dossiers, fichiers et fichiers dot que nous attendons sont tous présents. Tout s'annonce bien.

S'il manquait quelque chose, nous pouvions le copier depuis le répertoire /home.orig , auquel nous avons toujours accès à la racine du système de fichiers. Mais tout semble bien.

Maintenant, nous avons besoin que /dev/sdb1 monté automatiquement à chaque démarrage de votre ordinateur.

Modification de fstab

Le fichier "fstab" contient les descriptions des systèmes de fichiers qui seront montés au démarrage du système. Avant d'y apporter des modifications, nous en ferons une copie de sauvegarde sur laquelle nous pourrons revenir en cas de problème.

 sudo cp /etc/fstab /etc/fstab.orig 

Publicité

Nous pouvons maintenant éditer le fichier fstab. Utilisez votre éditeur préféré, nous utilisons gedit . N'importe quel éditeur de texte fera l'affaire.

 sudo gedit /etc/fstab 

Vous devez ajouter une ligne en bas du fichier pour monter notre nouveau répertoire /home . Si vos identifiants de lecteur et de partition sont différents de ceux utilisés dans cet exemple, remplacez-les par /dev/sdb1 indiqué ici.

  • Tapez le nom de la partition au début de la ligne, puis appuyez sur Tab.
  • Tapez le point de montage, /home , et appuyez sur Tab.
  • Tapez la description du système de fichiers ext4 et appuyez sur Tab.
  • Tapez les valeurs par defaults pour les options de montage et appuyez sur Tab.
  • Tapez le chiffre 0 pour l'option de vidage du système de fichiers et appuyez sur Tab.
  • Tapez le chiffre 0 pour l'option de vérification du système de fichiers.

Utilisation de gedit pour modifier le fichier fstab

Enregistrez le fichier fstab.

Redémarrez votre système

Nous devons redémarrer pour vérifier que tout s'est déroulé comme prévu et que vous disposez d'une connexion transparente à votre nouveau répertoire /home .

Si ce n'est pas le cas, vous disposez toujours du filet de sécurité de votre répertoire /home d'origine et du fichier fstab qui peut être restauré si nécessaire. Grâce aux précautions que nous avons prises (en copiant le répertoire /home et les fichiers fstab), vous pouvez facilement remettre votre système dans l'état dans lequel il se trouvait avant de commencer.

 sudo redémarre maintenant 

CONNEXION: Comment redémarrer ou arrêter Linux à l'aide de la ligne de commande

Vérifications finales

Lorsque votre système redémarre, vérifions simplement que votre répertoire /home se trouve bien sur votre nouveau disque dur et que votre système n'est pas (miraculeusement) revenu à l'ancien répertoire /home .

 df /dev/sdb1 

Super, il est monté sur /home . Mission accomplie.

Une fois que vous êtes parfaitement sûr que vous n'avez plus besoin de la copie de sécurité de votre ancien répertoire /home , vous pouvez la supprimer :

 CD /
 sudo rm -rf home.orig/ 

Publicité

Et bien sûr, si vous réalisez que quelque chose n'a pas été copié de l'ancien /home vers votre nouveau /home , vous pourrez le récupérer à partir de la sauvegarde que vous avez faite avant de commencer.

Home Sweet Home

Maintenant que vous avez séparé votre répertoire /home du reste de la partition du système d'exploitation, vous pouvez réinstaller votre système d'exploitation et vos données seront intactes. Tout ce que vous avez à faire est de modifier le fichier fstab pour monter votre deuxième lecteur sur /home .

Et comme tous vos fichiers de points se trouvent dans votre répertoire /home , lorsque vous lancez vos diverses applications, ils trouveront tous vos paramètres, préférences et données.

Il élimine la douleur des réinstallations et élimine le risque des mises à niveau.

CONNEXION: Meilleurs ordinateurs portables Linux pour les développeurs et les passionnés