Remplacer le dossier personnel par /home

Hello_2021 Messages postés 357 Date d'inscription mercredi 3 novembre 2021 Statut Membre Dernière intervention 9 décembre 2023 - 9 déc. 2023 à 10:24
mamiemando Messages postés 33088 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 30 avril 2024 - 20 déc. 2023 à 12:42

Bonjour,

Je viens d'installer KDE Neon, une distribution basée sur Ubuntu, après avoir rencontré moult problèmes sur Zorin OS.

Le fait est que mon disque contient une partition /home avec mes fichiers personnels, qui était directement associée avec mon dossier personnel d'utilisateur sur Zorin OS.

Là, je me retrouve avec un dossier personnel vide et une partition /home qu'il faut monter mais qui ne fait pas partie de mon installation.

Je voudrais remplacer mon dossier personnel par cette partition /home, comment faire ?

Merci par avance.

A voir également:

2 réponses

Bonjour,

"Là, je me retrouve avec un dossier personnel vide et une partition /home qu'il faut monter mais qui ne fait pas partie de mon installation."

Détrompe-toi, il y a des fichiers cachés dans ton dossier personnel. Tape la commande ls -a dans le terminal et tu verras qu'il y a du monde ! Essentiellement des fichiers de configuration.

Si tu remplaces le /home de KDE neon par celui de Zorin OS, tu auras des erreurs à l'exécution de ta session puisque certains fichiers de configuration seront remplacés par une version qui ne convient pas.

Le plus simple dans ton cas, tu montes ladite partition et tu recopies simplement par copier/coller depuis le navigateur de fichiers dans ton /home les dossiers que tu veux récupérer mais ne recopie aucun des dossiers ou fichiers qui commencent par un point (.config par exemple) Les seuls dossiers qui te seront utiles sont les dossiers Documents , Images, Vidéos (éventuellement Téléchargements). 

0
mamiemando Messages postés 33088 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 30 avril 2024 7 751
20 déc. 2023 à 12:42

Bonjour,

Je rejoins jns55 sur le fait que ton home contient également tous les profils utilisateurs que tes applications en enregistré. Par convention, ces fichiers sont préfixés par un "." et pas afficher dans ton explorateur (à moins de demander explicitement à les afficher) ou avec la commande ls (à moins de passer l'option -a).

Je suis également d'accord que potentiellement, les fichiers profils de Zorin et KDE Neon peuvent être incompabiles, mais ça reste peu problable, et en cas de dysfonctionnement, il sera toujours temps de les supprimer au cas par cas.

Donc, pour revenir à la question initiale, il faut référencer ta partition /home dans le fichier /etc/fstab. Pour cela, il faut trouver le nom du device qui correspond à cette partition. Je vais maintenant illustrer comment procéder sur ma propre machine, mais il faudra bien évidemment adapter ce que j'explique à ton cas.

1) Lister les partitions de ton / tes disques dur

Pour cela on va utiliser parted. Il devrait être installé de base sous Ubuntu, mais si ça n'est pas le cas :

sudo apt update
sudo apt install parted

Listons les partitions :

sudo parted -l

Exemple :

(mando@aldur) (~) $ sudo parted -l
[sudo] Mot de passe de mando : 
Model: WDC PC SN520 SDAPNUW-512G-1002 (nvme)
Disk /dev/nvme0n1: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system     Name                          Flags
 1      1049kB  274MB  273MB   fat32           EFI system partition          boot, esp
 2      274MB   290MB  16,8MB                  Microsoft reserved partition  msftres
 3      290MB   406GB  405GB   ntfs            Basic data partition          msftdata
 4      406GB   407GB  1041MB  ntfs                                          hidden, diag, no_automount
 5      407GB   411GB  3999MB  linux-swap(v1)                                swap
 6      411GB   441GB  30,0GB  ext4
 7      441GB   511GB  70,9GB  ext4

On voit ici que le disque s'appelle /dev/nvme0n1 et ses partitions sont notées et ses partitions sont notées /dev/nvme0n1p1, /dev/nvme0n1p2, etc comme le montre :

ls /dev/nvme0n1*

Si tu as un disque SATA il s'appellera sans doute /dev/sda (pour le premier disque, /dev/sdb pour le second disque, etc) et ses partitions sont notées /dev/sda1, /dev/sda2, etc, comme le montre :

​ls /dev/sda*

La partition /home étant généralement formatée en ext4, on voit dans mon exemple qu'il s'agit  soit la 6e soit la 7e partition. La taille suggère ici qu'il s'agit plutôt de la 7e.

On pourrait d'ores et déjà utiliser ce nom de device pour remplir /etc/fstab. Toutefois, le nommage des disques et des partitions est susceptibles d'évoluer (en particulier si tu installes un nouveau disque dur) et c'est pourquoi il est préférable d'utiliser plutôt l'UUID de la partition.

2) Retrouver l'UUID de la partition

Il y a deux méthodes.

  • Avec blkid : 
    sudo blkid
  • En examinant les liens symboliques construits dans /dev/disks/by-uuid
    ls -l /dev/disk/by-uuid/

Exemple :

(mando@aldur) (~) $ ls -l /dev/disk/by-uuid/ | grep nvme0n1p7
lrwxrwxrwx 1 root root 15 20 déc.  11:30 892fe57c-d4fa-4375-8dbc-9c11c3008208 -> ../../nvme0n1p7

On voit ici que l'UUID est 892fe57c-d4fa-4375-8dbc-9c11c3008208.

3) Corriger /etc/fstab

On modifie le fichier avec l'éditeur texte de son choix et avec des droits root. Plusieurs commandes équivalentes :

sudo nano /etc/fstab         # Avec nano, en mode texte
pkexec kwrite /etc/fstab &   # Avec kwrite, sous KDE

L'idée est à présent d'ajouter une ligne dans ce fichier pour référencer la partition /home. Veille à ne pas supprimer les lignes déjà existantes, et assure-toi qu'aucune ligne ne correspond déjà à /home. Dans mon cas le fichier /etc/fstab contient :

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p6 during installation
UUID=b9cbe1a9-3263-44d2-ada6-973c29aa0895 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=C093-C3AA  /boot/efi       vfat    umask=0077      0       1
# /home was on /dev/nvme0n1p7 during installation
UUID=892fe57c-d4fa-4375-8dbc-9c11c3008208 /home           ext4    defaults        0       2
# swap was on /dev/nvme0n1p5 during installation
UUID=daeedf2c-bf28-4cde-8721-48e2b6468f77 none            swap    sw              0       0
# Windows
UUID=ECE69594E6955F9E /media/windows ntfs-3g defaults 0 1

On voit donc que la ligne importante est :

UUID=892fe57c-d4fa-4375-8dbc-9c11c3008208 /home           ext4    defaults        0       2

Il faut dans ton cas bien évidemment corriger l'UUID. Si tu veux plus de détails sur le format de ce fichier, tu peux regarder ce que raconte man fstab.

À partir de là, on peut soit redémarrer, ou directement monter notre partition /home. Afin de bien comprendre ce qu'il se passe, on va prendre cette seconde option.

4) Monter la partition

Il faut s'assurer que le point de montage (le dossier dans lequel sera monté la partition existe).

sudo mkdir -p /home

Idéalement il doit être vide.

ls -a /home

S'il ne l'est pas, ce n'est pas un gros drame, mais il faut être conscient de ce qu'il va se passer. En effet, une fois la partition /home montée, les fichiers initialement présents dans le dossier /home seront masqués par ceux de la partition montée. On n'aura donc plus accès aux fichiers originellement dans /home tant que la partition est montée dans ce dossier.

À ce stade, je te recommande de fermer ta session graphique KDE et passer en mode texte (ctrl alt f1, ctrl alt f2), car bon nombre de fichiers dans ton /home sont en cours d'utilisation quand KDE est lancé. Tu pourras toujours quitter ta session en mode texte (ctrl d) et repasser en mode graphique (ctrl alt f7) a posteriori.

Comme notre partition /home est définie dans /etc/fstab, on peut omettre la plupart des paramètres normalement attendus par la commande mount :

sudo mount /home

On peut vérifier que la partition est bien montée, et que son contenu apparaît désormais dans /home :

mount
ls /home

Il ne reste plus qu'à quitter ta session en mode texte (ctrl d) et repasser en mode graphique (ctrl alt f7).

Bonne chance

0