Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:deplacer_home [Le 19/12/2012, 21:21]
2.11.237.180 [Procédure avec peu de commentaires :]
tutoriel:deplacer_home [Le 29/02/2024, 12:53] (Version actuelle)
geole [Procédure avec peu de commentaires] quasiment en lignes de commandes
Ligne 7: Ligne 7:
 ===== Préambule ===== ===== Préambule =====
  
-Les modifications présentées ici ne sont **pas** triviales. Elles nécessitent un minimum de soin. Afin d'​éviter tout problème, **[[:​tutoriel:​sauvegarder_home|faites une sauvegarde de votre répertoire /home]]** (préférablement sur un support externe, comme un disque dur USB, une clé USB ou un DVD-R par exemple) avant toute manipulation ​En cas d'​erreur,​ il est possible que vous perdiez l'​intégralité de vos fichiers importants et de votre configuration actuelle ​; il est donc important d'en conserver une copie accessible à tout moment.+**Déplacer le dossier HOME est fastidieux et dangereux. Si votre situation le permet, vous devriez d'​abord envisager de choisir sa localisation au moment de l'​installation. Cette manipulation est simplissime :  Installer ubuntu manuellement (choisir "faire autre chose" lors de l'​installation). Puis, en plus de choisir la taille et l'​emplacement du "​SWAP"​ et de la racine "/", ​ indiquer la partition que vous souhaitez utiliser pour le HOME en lui donnant l'​étiquette "/​HOME"​...** 
 + 
 +Si votre situation nécessite un déplacement du HOME sans réinstaller ubuntu, les modifications présentées ici ne sont **pas** triviales. Elles nécessitent un minimum de soin. Afin d'​éviter tout problème, **[[:​tutoriel:​sauvegarder_home|faites une sauvegarde de votre répertoire /home]]** (préférablement sur un support externe, comme une partition **linux**((Comme les systèmes de fichiers de Windows (fat32, exfat, ntfs) n'​enregistrent pas les droits des fichiers linux, une sauvegarde sur un de ces systèmes corromprait la sauvegarde.)) d'un disque dur externe ou d'une clé USB ou un DVD-R par exemple) avant toute manipulationEn cas d'​erreur,​ il est possible que vous perdiez l'​intégralité de vos fichiers importants et de votre configuration actuelle ​. Il est donc important d'en conserver une copie accessible à tout moment. 
 + 
 +<note help>​Pensez aussi que, le plus souvent, il suffit simplement de [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=1506051|déplacer vos données ​ ]] 
 +</​note>​
  
 ===== Public ===== ===== Public =====
  
-Si vous avez effectué une installation par défaut, votre répertoire /home se trouve sur la même partition que la racine /. Mais cette situation, qui a des avantages et des inconvénients,​ peut-être modifiée.+Si vous avez effectué une installation par défaut, votre répertoire /home se trouve sur la même partition que la racine /. Mais cette situation, qui a des avantages et des inconvénients,​ peut être modifiée.
  
 Le dossier /home contient : Le dossier /home contient :
-  * tous vos fichiers personnels,  +  * tous vos fichiers personnels,​ 
-  * des répertoires cachés avec la configuration de vos logiciels et de votre interface. ​+  * des répertoires cachés avec la configuration de vos logiciels et de votre interface. 
 + 
 +==== Avantages d'un /home séparé ====
  
-__Avantages d'un /home séparé __ : 
 Les avantages d'un /home séparé sont : Les avantages d'un /home séparé sont :
-  * la possibilité de partager ce /home entre plusieurs distributions GNU/Linux utilisant les mêmes versions de logiciels ​(par exemple Ubuntu 10.04 et Kubuntu 10.04), ou bien n'​importe quelles versions si vous utilisez des noms d'​utilisateurs différents((attention,​ les configurations de logiciels peuvent ne pas être rétro-compatibles,​ [[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=3886346#​p3886346|exemples]].)).  +  * la possibilité de partager ce /home entre plusieurs distributions GNU/Linux utilisant les mêmes versions de logiciels, ou bien n'​importe quelles versions si vous utilisez des noms d'​utilisateurs différents((attention,​ les configurations de logiciels peuvent ne pas être rétro-compatibles,​ [[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=3886346#​p3886346|exemples]].)). 
-  * Possibilité ​de crypter ​vos données avec [[:​cryptsetup]]+  * la possibilité ​de chiffrer ​vos données avec [[:​cryptsetup]]
   * il est plus facile de récupérer un /home séparé en cas de mauvaise manipulation sur la partition racine (/).   * il est plus facile de récupérer un /home séparé en cas de mauvaise manipulation sur la partition racine (/).
  
-**Note :** depuis Ubuntu 8.04 LTS, il n'​est ​plus indispensable d'​avoir un /home séparé pour réinstaller Ubuntu sans perdre son /home. ([[:​reinstallation_ubuntu|plus d'​informations]]). ​+**Note :** Il n'​est ​pas indispensable d'​avoir un /home séparé pour réinstaller Ubuntu sans perdre son /home. ([[:​reinstallation_ubuntu|plus d'​informations]]). ​ 
 + 
 +==== Inconvénients d'un /home séparé ====
  
-__Inconvénients d'un /home séparé__ : 
   * Complexité relative de la démarche   * Complexité relative de la démarche
-  * Il faut réserver de la place libre sur la partition (/) qui contient Ubuntu (pour les mises à jour ou les ajouts de logiciels), et de la place libre sur la partition /home séparée (pour des ajouts de fichiers). La méthode du /home séparé prend donc plus de place disque. ​+  * Il faut réserver de la place libre sur la partition (/) qui contient Ubuntu (pour les mises à jour ou les ajouts de logiciels), et de la place libre sur la partition /home séparée (pour des ajouts de fichiers). La méthode du /home séparé prend donc plus de place disque.
   * Si vous attribuez trop peu d'​espace à votre partition racine (/), vous risquez de recevoir des notifications gênantes ([[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=4078454#​p4078454|exemple]]),​ d'​être bloqué pour ajouter des logiciels supplémentaires,​ voire de faire bugguer Ubuntu si votre partition / est quasi-pleine ([[https://​bugs.launchpad.net/​bugs/​610358|exemple]]). Un /home séparé n'est donc pas recommandé si vous possédez un petit disque dur (<20Gio par exemple) et ne savez pas anticiper vos besoins en espace sur la partition racine (/).   * Si vous attribuez trop peu d'​espace à votre partition racine (/), vous risquez de recevoir des notifications gênantes ([[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=4078454#​p4078454|exemple]]),​ d'​être bloqué pour ajouter des logiciels supplémentaires,​ voire de faire bugguer Ubuntu si votre partition / est quasi-pleine ([[https://​bugs.launchpad.net/​bugs/​610358|exemple]]). Un /home séparé n'est donc pas recommandé si vous possédez un petit disque dur (<20Gio par exemple) et ne savez pas anticiper vos besoins en espace sur la partition racine (/).
 +  * Si l'​ordinateur se [[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22517024#​p22517024|plante]],​ le redémarrage ne se fait pas facilement.
 +  * Si le répertoire home est mis dans un disque dur alors qu'il existe un SSD ou un NVME pour accueillir tout le logiciel qu'il héberge, le fonctionnement des applications sera ralenti.
  
  
-<note important>​La séparation du /home est généralement superflue, voire gênante si vous débutez avec Ubuntu.</​note>​ +Si le /home séparé vous semble bien adapté à vos besoins (en cas de doute, posez votre question sur [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=397167|ce forum]]), les **2 démarches** ci-dessous vous permettent d'​effectuer cette opération, soit avec le terminal, soit en mode (presque) graphique. 
- +==== La bonne solution ==== 
-Si le /home séparé vous semble bien adapté à vos besoins (en cas de doute, posez votre question sur [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=397167|ce forum]]), les **2 démarches** ci-dessous vous permettent d'​effectuer cette opération, soit avec le terminal, soit en mode (presque) graphique. +Pas de partition contenant des données personnelles et du logiciel accessibles par le point de montage **/home** mais une partition contenant seulement les données personnelles accessibles par le point de montage **/​media/​Data** [[https://​doc.ubuntu-fr.org/​organiser_data_utilisateurs#​home_ou_le_repertoire_personnelhomeuser|consulter le principe. ]]
  
  
 +===== Méthode 1 : Démarche en mode (presque) graphique =====
  
-===== Méthode 1 : DEMARCHE EN MODE (presque) GRAPHIQUE===== 
  
-Testé sur Ubuntu 9.10, Ubuntu 12.04 LTS et Gnome, mais devrait fonctionner sous d'​autres versions d'​Ubuntu,​ et doit être assez facile à adapter pour KDE. +==== Procédure avec peu de commentaires ====
-<note important>​Installer le logiciel [[:​disk-manager|Disk-Manager]] avant de commencer !</​note>​ +
-====Procédure avec peu de commentaires ​:====+
  
 +  - Vérifier que vous avez un éditeur de partition et un utilitaire de disque : points 1 et 2 de "3.2 Procédure très commentée"​.
   - Créer avec votre [[:​partitions#​comment_creer_et_supprimer_des_partitions_et_des_systemes_de_fichiers|éditeur de partitions]] ([[:​Gparted]] par exemple) une partition séparée et l'​appeler (étiquette) **newhome**.   - Créer avec votre [[:​partitions#​comment_creer_et_supprimer_des_partitions_et_des_systemes_de_fichiers|éditeur de partitions]] ([[:​Gparted]] par exemple) une partition séparée et l'​appeler (étiquette) **newhome**.
   - Monter la partition newhome en cliquant dessus dans votre navigateur de fichier (de façon ponctuelle, juste pour pouvoir copier).   - Monter la partition newhome en cliquant dessus dans votre navigateur de fichier (de façon ponctuelle, juste pour pouvoir copier).
-  - Saisir dans un terminal ​**sudo cp -av /home/. /​media/​newhome/​** ce qui copie le contenu de /home (mais pas le /home lui même) sur la nouvelle partition. +  - Saisir dans un terminal ​//- Attention il faut bien un espace entre le . et /media -//  
-  - Lancer votre [[:​gestionnaire de fichiers]] en [[:​sudo|mode administrateur]] ​(par exemple : ALT+F2 puis **gksudo nautilus**) ​et neutraliser l'​ancien **/home** en le renommant en **/​oldhome**. +<​code>​sudo cp -av /home/. /media/(nom d'​utilisateur)/newhome/</​code> ​ce qui copie le contenu de /home (mais pas le /home lui même) sur la nouvelle partition. 
-  - Installer puis lancer [[:​Disk-Manager]].(Garder juste ouvert) +  - Lancer votre [[:​gestionnaire de fichiers]] en [[:​sudo|mode administrateur]] et neutraliser l'​ancien **/home** en le renommant en **/​oldhome**. 
-  - Créer immédiatement via votre [[:​gestionnaire de fichiers]] (en [[:​sudo|mode administrateur]]) un nouveau répertoire **/home** vide. +  - Créer immédiatement via votre [[:​gestionnaire de fichiers]] (en [[:​sudo|mode administrateur]]) un nouveau répertoire **/home** vide (il servira de point de montage à la nouvelle partition)
-  - Retourner sur [[:​Disk-Manager]]Cliquer ​sur la partition séparée /​newhome, ​cocher ​la colonne « active » (ce qui permettra à votre nouveau /home de se monter au démarrage), puis cliquez ​sur le bouton « modifier ». Dans « point de montage ​», saisissez **/home**. Dans  « options », laissez « defaults ». +  - Lancez l'​application '​Disques'​Dans celui-ci,  
-  - Redémarrer le système. Votre /home pointe maintenant sur une partition séparée.+       - cliquer ​sur la partition séparée /​newhome, ​ 
 +       - puis sur la roue dentée '​Autres actions'​ 
 +       ​- ​puis sur '​Modifier les options de montages  
 +       - Décocher '​Options de montage automatique'​ 
 +       - Changez ​point de montage ​pour /home 
 +  - Redémarrer le système. Votre partition séparée monte dorénavant dans le dossier ​/home de votre système.
  
 +<note tip>Si vous déplacez un ''/​home''​ déjà sur une partition séparée, Suivez les points 1 à 3. Ensuite il vous suffit de [[:​tutoriel:​comment_modifier_un_fichier|modifier]] le fichier **/​etc/​fstab** (faites une [[:​comment_sauver_et_restaurer_un_fichier#​en_ligne_de_commande|copie]] de ce fichier avant modification) avec les droits administrateurs afin **de pointer vers le nouveau /home** \\
 +Vous aurez besoin de connaître l'​[[:​uuid_et_label|UUID]] de la partition du nouveau /home \\
 +**''##​liste les partitions et leur UUID##''​**\\
 +<​code>​sudo blkid</​code>​
 +**''##​Sauvegarde du fichier /​etc/​fstab##''​**\\
 +<​code>​sudo cp -a /etc/fstab /​etc/​fstab.save</​code>​
 +**''##​Modifiez le fichier /​etc/​fstab##''​**\\
 +<​code>​gedit admin:///​etc/​fstab</​code>​
 +Cherchez la ligne pointant vers l'​ancien home et remplacez l'​[[:​uuid_et_label|UUID]] par celui de la partition du **nouveau /home**. Profitez-en pour changer dans les commentaires le /dev/sdXy par le nouveau (vous pouvez le trouver avec l'​[[:​gnome-disk-utility|utilitaire de disque]] en cliquant sur la partition voulue) comme dans **l'​exemple ci-dessous** :\\
 +<​file>#​Entry for /dev/sdc1 :
 +UUID=905ce836-7aa9-4413-853f-126a0eb2587c /​home ext4 defaults 0 2</​file>​
 +Fermez et enregistrez le fichier puis redémarrer votre ordinateur </​note>​
 +==== Procédure quasiment en ligne de commande ====
 +  * Lancer gparted pour fabriquer la partition ext4 ayant une  étiquette **newhome**. <code bash> gparted</​code>​
 +  * Monter la partition nouvellement créée. <code bash> udisksctl mount -b /​dev/​disk/​by-label/​newhome</​code>​
 +  * Arrêter firefox et thunderbird avant la duplication est une bonne idée.
 +  * Dupliquer le contenu de la partition. <code bash> sudo cp -avu /home/. /​media/​$USER/​newhome/</​code>​
 +  * Eventuellement,​ vérifier que la quantité de fichiers dupliqués ​ est proche de celle existante actuellement. ( firefox est connu pour fabriquer et supprimer régulièrement des fichiers dans le répertoire **.cache**) <code bash>​sudo ls -1 -Rals /home    | wc -l ; sudo ls -1 -Rals /​media/​$USER/​newhome ​  | wc -l</​code>​
 +  * Eventuellement relancer firefox et thunderbird.
 +  * Vérifier que le répertoire utilisateur est bien présent. <code bash>ls -als /​media/​$USER/​newhome/​$USER</​code>​
 +  * Récupérer le UUID de la nouvelle partition. <code bash>​UUID=$(sudo blkid  | grep newhome| ​ grep -oP ' UUID=\K.*(?​=BLOCK)'​ | cut -d'"'​ -f2)</​code>​
 +  * Vérifier que la commande a bien récupéré un UUID de la forme xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. <code bash> echo $UUID</​code>​
 +  * Mettre à jour le fichier /etc/fstab pour que cette nouvelle partition soit montée automatiquement.<​code bash> echo $UUID | cut -d'"'​ -f2) /home ext4 defaults 0 2 | sudo tee -a /​etc/​fstab</​code>​
 +  * Neutraliser l'​ancien home.<​code bash>​sudo mv -v /home  /oldhome </​code>​
 +  * Rebooter.
 +  * Vérifier que le nouveau home est bien utilisé.<​code bash>df -htext4</​code>​
 +  * Supprimer le vieux home.<​code bash>​sudo rm -Rv /​oldhome</​code>​
 +  * Vérifier que l'​espace disque de la partition contenant le logiciel de base dispose maintenant de plus de place. <code bash>df -htext4</​code>​
  
-====Procédure très commentée ​:==== + 
-  - Installer [[:​Gparted]] par la logithèque Ubuntu, ou [[:software-center]] (Application / logitèque Ubuntu / Outils système / Outil de partitionnement Gnome), ou par [[:​Synaptic]] (Système / Administration / Gestionnaire de paquet), ou par [[:KPackageKit]] (si vous êtes dans [[:​kubuntu]]).+ 
 + 
 +==== Procédure très commentée ==== 
 + 
 +  - Installer [[:​Gparted]] par la logithèque Ubuntu, ou [[:gnome-software]] (Application / logitèque Ubuntu / Outils système / Outil de partitionnement Gnome), ou par [[:​Synaptic]] (Système / Administration / Gestionnaire de paquet), ou par [[:Muon]] (si vous êtes dans [[:​kubuntu]]).
   - Installer [[:​Disk-Manager]]   - Installer [[:​Disk-Manager]]
   - Lancer [[:​Gparted]] (dans [[:gnome]] : Système / Administration / Gparted).   - Lancer [[:​Gparted]] (dans [[:gnome]] : Système / Administration / Gparted).
Ligne 85: Ligne 129:
 <​file>#​Entry for /dev/sda3 : <​file>#​Entry for /dev/sda3 :
 UUID=acda7b4a-xxxxx /​home ext4 defaults 0 0</​file>​ UUID=acda7b4a-xxxxx /​home ext4 defaults 0 0</​file>​
-    * Si par contre tout a bien marché, lors d'une prochaine installation d'​Ubuntu,​ vous n'​aurez qu'à réinstaller Ubuntu sur la partition système, sans toucher à la partition /newhome/. Pour ce faire, voir [[:​reinstallation_ubuntu]].+    * Si par contre tout a bien marché, lors d'une prochaine installation d'​Ubuntu,​ vous n'​aurez qu'à réinstaller Ubuntu sur la partition système, sans toucher à la partition /newhome/. Pour ce faire, voir cette [[:​reinstallation_ubuntu|page]].
  
-Et votre système redémarrera avec l'​ancienne configuration et les anciens fichiers se trouvant sur le /home séparé. ​+Et votre système redémarrera avec l'​ancienne configuration et les anciens fichiers se trouvant sur le /home séparé.
 D'​éventuels thèmes ou logiciels précédemment installés devront par contre l'​être à nouveau, mais une fois ceci fait, ils démarreront avec la configuration qu'ils avaient antérieurement,​ car ils la retrouveront sur le /home séparé. D'​éventuels thèmes ou logiciels précédemment installés devront par contre l'​être à nouveau, mais une fois ceci fait, ils démarreront avec la configuration qu'ils avaient antérieurement,​ car ils la retrouveront sur le /home séparé.
  
-<note important>​Si le disk manager refuse de se lancer (précisément à cause du renommage de votre /home), utilisez la commande "mount /dev/sda3 /​home"​. Après ça, il devrait se lancer sans problème (ensuite, cliquez sur la partition séparée /home (et non /newhome) et cochez la colonne « active » et passez à l'​étape 3.2.13). ​ +<note important>​Si le disk manager refuse de se lancer (précisément à cause du renommage de votre /home), utilisez la commande "mount /dev/sda3 /​home"​. Après ça, il devrait se lancer sans problème (ensuite, cliquez sur la partition séparée /home (et non /newhome) et cochez la colonne « active » et passez à l'​étape 3.2.13).
 Si il ne se lance toujours pas, passez à l'​étape 4.3.</​note>​ Si il ne se lance toujours pas, passez à l'​étape 4.3.</​note>​
  
-===== Méthode 2 : DÉMARCHE AVEC LE TERMINAL=====+===== Méthode 2 : disk-manager ===== 
 + 
 +Cette méthode est rapide et simple à exécuter. Elle repose sur l'​utilisation de **Disk-Manager**. 
 + 
 + 
 +===== Méthode 2 : Démarche avec le terminal ​=====
  
 ==== Pré-requis ==== ==== Pré-requis ====
Ligne 108: Ligne 157:
 Ce mode particulier vous donne les droits administrateurs et permet de travailler sans avoir besoin de /home. Ce mode particulier vous donne les droits administrateurs et permet de travailler sans avoir besoin de /home.
  
-<note tip>Une fois démarré en mode recovery, vous n'​aurez plus ni accès au mode graphique, ni accès à Internet. Il est donc nécessaire d'​imprimer cette page, ou alors d'​avoir deux ordinateurs pour pouvoir suivre les étapes à réaliser sur une autre machine…</​note>​==== Étape 1 : Copie ====+<note tip>Une fois démarré en mode recovery, vous n'​aurez plus ni accès au mode graphique, ni accès à Internet. Il est donc nécessaire d'​imprimer cette page, ou alors d'​avoir deux ordinateurs pour pouvoir suivre les étapes à réaliser sur une autre machine…</​note>​
  
-Démarrez en [[:​recovery_mode|« mode recovery »]]. Une solution alternative simple : fermez toutes vos fenêtres, puis dans un terminal, exécutez la commande « ''​sudo telinit 1''​ ». 
  
-**telinit ​fait passer le systeme en runlevel 1, sur un serveur distant vous perderez donc votre connexion SSH, necessitant un reboot materiel, ou le changement d'​utilisateur.**+==== Étape ​: Copie ====
  
-Le but est de copier tout ce que vous avez dans /home, dans la nouvelle partition. Pour celail faut d'​abord "​monter" ​la partition en question :+Démarrez en [[:​recovery_mode|« mode recovery »]]. Une solution alternative simple : fermez toutes vos fenêtrespuis dans un terminalexécutez ​la commande « ''​sudo telinit 1''​ ».
  
 +**telinit 1 fait passer le systeme en runlevel 1, sur un serveur distant vous perdrez donc votre connexion SSH, necessitant un reboot materiel, ou le changement d'​utilisateur.**
 +En recovery mode, la partition "/"​ est monté en read-only. Pour la monter en read-write, il faut utiliser :​
 +<​code>​mount -o rw,remount /</​code>​
 +Le but est de copier tout ce que vous avez dans /home, dans la nouvelle partition. Pour cela, il faut d'​abord "​monter"​ la partition en question :​
   mkdir /​nouveau-home   mkdir /​nouveau-home
   mount /dev/sda3 /​nouveau-home/​   mount /dev/sda3 /​nouveau-home/​
  
-Vérifiez que la partition ​est bien montée, la commande suivante doit vous afficher « /dev/sda3 » sur « /​nouveau-home » :+Vérifiez que la partition ​soit bien montée, la commande suivante doit vous afficher « /dev/sda3 » sur « /​nouveau-home » :
  
   df -h   df -h
Ligne 125: Ligne 177:
 Il ne reste plus qu'à lancer la copie du __contenu__ du /home (mais pas du /home lui-même - attention à la syntaxe, c'est le point "​."​ qui copie le contenu) : Il ne reste plus qu'à lancer la copie du __contenu__ du /home (mais pas du /home lui-même - attention à la syntaxe, c'est le point "​."​ qui copie le contenu) :
  
-  ​sudo cp -a /home/. /​nouveau-home/​+  cp -a /home/. /​nouveau-home/​
  
 À la fin de la copie, lancez de nouveau la commande : À la fin de la copie, lancez de nouveau la commande :
Ligne 134: Ligne 186:
  
   ls -al /​nouveau-home/​votre_login/​   ls -al /​nouveau-home/​votre_login/​
-  
  
  
Ligne 145: Ligne 196:
 ou à partir de Karmic Koala : ou à partir de Karmic Koala :
  
-  ​sudo blkid /dev/sda3 +  blkid /dev/sda3 
-   + 
-<note important>​Il peut arriver ​que ni **vol_id** ni **blkid** ne retournent ​de résultat satisfaisant (blkid ne retourne rien chez moi par exemple). ​+Prenez un papier et un crayon, et notez soigneusement l'​uuid ​que vous renvoie cette commande ou ajoutez automatiquement l'uuid à la fin de /etc/fstab :
  
-Dans ce cas, la commande **ls /dev/disk/​by-uuid** permet de connaitre les UUID de toutes les partitions, montées ou non.</​note> +  blkid /dev/sda3 >> /etc/fstab
-<note important>La raison d'un retour vide est très certainement causé par une commande qui n'est pas lancée en tant que root. Etant dans le même cas, j'ai ajouté "​sudo"​ devant la commande et ça fonctionne.<​/note>  ​+
  
-Prenez un papier et un crayon, et notez soigneusement l'uuid que vous renvoie cette commande. ​Ensuite, éditez le fichier /etc/fstab :+Ensuite, éditez le fichier /etc/fstab :
  
   nano /etc/fstab   nano /etc/fstab
  
-Et ajoutez une ligne comme ceci :+Et ajoutez/​modifier ​une/​cette ​ligne comme ceci :
  
 <​file>​ <​file>​
Ligne 166: Ligne 216:
 Ici, deux cas peuvent se présenter : Ici, deux cas peuvent se présenter :
  
-  * **Cas N°1 :** Votre ancien /home n'​était pas sur une partition séparée. Dans ce cas, enregistrez et quittez le fichier fstab, puis exécutez les deux commandes suivantes :+  * **Cas n<​sup>​o</​sup>​ 1 :** Votre ancien /home n'​était pas sur une partition séparée. Dans ce cas, enregistrez et quittez le fichier fstab, puis exécutez les deux commandes suivantes :
  
   mv /home /home.bak   mv /home /home.bak
Ligne 172: Ligne 222:
  
  
-  * **Cas N°2 :** Votre ancien « /home » était sur une partition séparée. Le fichier fstab contient donc une autre ligne avec le paramètre « /home ». Commentez l'​ancienne ligne en ajoutant un dièse (''#''​) au début de la ligne, puis enregistrez et quittez.+  * **Cas n<​sup>​o</​sup>​ 2 :** Votre ancien « /home » était sur une partition séparée. Le fichier fstab contient donc une autre ligne avec le paramètre « /home ». Commentez l'​ancienne ligne en ajoutant un dièse (''#''​) au début de la ligne, puis enregistrez et quittez.
  
 Vous pouvez maintenant faire un essai en redémarrant l'​ordinateur : Vous pouvez maintenant faire un essai en redémarrant l'​ordinateur :
Ligne 183: Ligne 233:
 Tout s'est bien passé, reste à faire un peu de ménage en supprimant les fichiers contenus dans l'​ancien /home, puisqu'​ils ont tous été copiés sur sda3. Tout s'est bien passé, reste à faire un peu de ménage en supprimant les fichiers contenus dans l'​ancien /home, puisqu'​ils ont tous été copiés sur sda3.
  
-  * **Cas N°1 :** Votre ancien « /home » n'​était pas sur une partition séparée, vous avez donc créé « /home.bak », que vous pouvez maintenant supprimer en toute sécurité, dans un [[:​terminal|terminal]] saisissez la commande :+  * **Cas n<​sup>​o</​sup>​ 1 :** Votre ancien « /home » n'​était pas sur une partition séparée, vous avez donc créé « /home.bak », que vous pouvez maintenant supprimer en toute sécurité, dans un [[:​terminal|terminal]] saisissez la commande :
  
   sudo rm -rf /home.bak   sudo rm -rf /home.bak
Ligne 189: Ligne 239:
 <note important>​Attention : Ne vous trompez pas dans la syntaxe de cette commande ! Tout ce qui se trouvait dans /home va être effacé (ce qui n'est pas un problème puisque tout a été copié dans sda3 si tout s'est correctement déroulé).</​note>​ <note important>​Attention : Ne vous trompez pas dans la syntaxe de cette commande ! Tout ce qui se trouvait dans /home va être effacé (ce qui n'est pas un problème puisque tout a été copié dans sda3 si tout s'est correctement déroulé).</​note>​
  
-  * **Cas N°2 :** Votre home était déjà sur une partition séparée : vous pouvez simplement [[:​partitions#​que_signifie_formater_une_partition|reformater votre partition]].+  * **Cas n<​sup>​o</​sup>​ 2 :** Votre home était déjà sur une partition séparée : vous pouvez simplement [[:​partitions#​que_signifie_formater_une_partition|reformater votre partition]].
  
 +===== Méthode 3 : Démarche avec le terminal ; réutilisation d'une autre partition ext4 avec copie =====
  
-==== En cas de problèmes ====+**Avant propos**\\ 
 +On va transférer le /home qui fonctionne, installé dans la même partition que le logiciel, dans une autre partition EXT4.\\ 
 +**Prérequis**\\ 
 +Une partition formatée en EXT4 probablement stockée dans un autre disque contenant éventuellement déjà des données voir un ancien logiciel qui deviendra le futur /home. On l'​appelle Home0. On aura besoin ​de connaître son nom.\\ 
 +Une installation fonctionnant avec la racine / contenant /home.\\ 
 +**But**\\ 
 +Le but est alors de virer home et d'​utiliser Home0 à la place.\\ 
 +**Méthode**\\ 
 +Définir la partition Home0 comme point de montage du futur home dans le fichier fstab.\\ 
 +Monter la partition\\ 
 +Pour chaque utilisateur,​ transférer les données de home dans Home0 lorsqu'​elles sont absentes sinon dans $USER/Home1 afin que le choix puisse se faire  en conscience. Souvent, il n'y a qu'un utilisateur de défini.\\ 
 +Rebooter.\\ 
 +**Réalisation**\\ 
 +  * Trouver le nom de la partition.\\ 
 +Cette recherche peut se faire en lançant l'une de ces commandes "​lsblk"​ ou  "sudo fdisk -l". La partition doit être au format ext4. Elle est de grande taille. Normalement ​ elle n'est pas stockée dans le même disque que le logiciel. Son nom est semblable à SDB1 ou NVME0P1. ​  Cette valeur est destinée à remplacer **XXXX** dans les deux commandes suivantes. 
 +  * Mettre à jour le fichier /​etc/​fstab. 
 +<code bash>​echo UUID=$(sudo blkid  | grep /dev/XXXX |  grep -o ' UUID.*BLOCK'​ | cut -d'"'​ -f2) /home ext4 defaults 0 2 | sudo tee -a /​etc/​fstab</​code>​ 
 +  * Monter la partition. 
 +<code bash>​sudo mkdir -v  /​mnt/​Home0 
 +sudo mount -v /​dev/​XXXX ​  /​mnt/​Home0</​code>​ 
 +  * __Pour chaque utilisateur:​__ 
 +  *  Créer l'​utilisateur si besoin. 
 +<code bash>​sudo mkdir -v /​mnt/​Home0/​$USER 
 +sudo chown $USER:$USER /​mnt/​Home0/​$USER</​code>​ 
 +  *  Transférer les données personnelles absentes. 
 +<code bash>mv -nv $HOME/* /​mnt/​Home0/​$USER</​code>​ 
 +  *  Transférer les données techniques absentes. 
 +<code bash>mv -nv $HOME/​.[0-9a-zA-Z]* /​mnt/​Home0/​$USER</​code>​ 
 +  *  Mettre à jour la configuration en conservant les anciens contenus. 
 +<code bash>​mv ​ -v -b --suffix=.OLD $HOME/​.config/​* /​mnt/​Home0/​$USER/​.config 
 +rmdir  -v .config </​code>​ 
 +  *  Transférer les données personnelles en double dans un sous-répertoire. 
 +<code bash>​mkdir -v /​mnt/​Home0/​$USER/​Home1 
 +mv -v $HOME/* /​mnt/​Home0/​$USER/​Home1</​code>​ 
 +  *  Transférer les données techniques en double dans le même sous-répertoire. 
 +<code bash>mv -v $HOME/​.[0-9a-zA-Z]* /​mnt/​Home0/​$USER/​Home1</​code>​ 
 +  *  Supprimer l'​utilisateur 
 +<code bash>ls -Rals 
 +cd / 
 +sudo rm  -rv $HOME</​code>​ 
 +  * Lorsque tous les utilisateurs sont traités, relancer le système. 
 +Cela libérera physiquement l'​espace disque encore utilisé par les applications en cours et permettra d'​utiliser la nouvelle partition.
  
-Si vous avez des messages d'​erreurs une fois l'​ordinateur redémarré en mode graphique, essayez de vous connecter en ligne de commande (Ctrl+Alt+F1) et vérifiez avec la commande suivante que « /dev/sda3 » est bien montée.+  ​
  
-  df -h 
  
-Si ce n'est pas le cas, quelque chose s'est mal passé à l'​étape 3. Redémarrez en mode recovery et [[:​tutoriel:​comment_editer_un_fichier|éditez]] à nouveau le fichier « /etc/fstab ». Si vraiment vous n'​arrivez pas à montez la partition de cette façon, laissez tomber l'UUID et mettez à la place une ligne du genre : 
  
-<​file>​ +===== Méthode 4 : Démarche avec le terminal ; réutilisation sans copie du /home d'une autre partition =====
-/​dev/​sda3 ​    /home           ext3        defaults ​       0       2 +
-</​file>​+
  
-Redémarrez etnormalementcela devrait être bon !+=== Avant propos === 
 +On va réutiliser un /home qui fonctionne avec une nouvelle installation du système d'​exploitation.\\ 
 +On supposera que l'on reste sur le même système d'​exploitation - y compris la versionpar exemple 16.04.2 - et que celui-ci est à jour pour augmenter la compatibilitémais selon les cas c'est ou ce n'est pas nécessaire.
  
-Pour votre prochaine réinstallation ​d'Ubuntu, vous devrez prendre ​en compte la partition ​séparée, en suivant une des méthodes décrites dans ce tutoriel ​[[:​reinstallation_ubuntu]].+=== Prérequis === 
 +Une partition UUID=452584560-4521-12ae-b1d7-32fd221fd2125c contient un /home qui deviendra le futur /home: on l'​appelle home0;\\ 
 +Une installation a été faite d'un système propre; ​en particulier cette partition ​contient la racine / qui contient /homeon l'​appelle home1.
  
 +=== But ===
 +Le but est alors de virer home1 qui ne contient rien d'​intéressant et d'​utiliser home0 à la place.
 +
 +=== Méthode ===
 +Démarrer en root.\\
 +Détruire /home ( éventuellement le renommer avec **mv /home /home1** ).\\
 +Rajouter une ligne dans  /etc/fstab du type:\\
 +UUID=452584560-4521-12ae-b1d7-32fd221fd2125c /home ext4 defaults 0 2\\
 +Faire prendre en compte par le système cette nouvelle configuration avec **mount -a**.\\
 +**ls /home/** devrait alors vous montrer le contenu de la partition home0.
 + ===== Méthode 5 : Démarche par duplication =====
 +  - Booter avec une live USB afin de pouvoir utiliser des partitions non actives.
 +  - Lancer le logiciel GPARTED.
 +  - Rétrécir éventuellement la partition qui contient /home surtout si elle contient aussi   /
 +  - Copier la partition contenant le répertoire /home (Elle peut aussi contenir d'​autres répertoires).
 +  - Coller la partition dans la nouvelle partition ou dans un espace inoccupé d'une taille au moins équivalente.
 +  - Modifier le UUID de la partition réception de la copie  afin qu'il n'y ait pas de doublon.
 +  - Lancer la commande **sudo blkid** afin de récupérer le UUID qui a été alloué à cette nouvelle partition.
 +  - Mettre à jour la ligne du fichier **/​etc/​fstab** décrivant le point de montage de la partition /home  avec cette valeur de UUID.
 +  - Booter.
 + ===== Méthode 6 : Rapatrier le logiciel de la partition contenant le home en laissant les données sur place =====
 +Le logiciel est  composé de tous les répertoires commençant par un point ainsi que le répertoire snap.
 +La procédure ci-dessous va dupliquer ces fichiers, créer les liens symboliques,​ démonter le home, y mettre ​ ces fichiers et rebooter. Il restera à supprimer ces fichiers ​ ultérieurement.
 +<code bash>​sudo -i ### Passer en mode administratif</​code><​code bash>
 +for Me in $(ls -1 /home) ; do
 +    ###On va dire que l'O.S. de base n'a pas à  modifier le référentiel même lorsque la partition Data est en incident!.
 +    cp -nv /​etc/​xdg/​user-dirs.conf /​home/​$Me/​.config && sed -i '​s/​True/​False/'​ /​home/​$Me/​.config/​user-dirs.conf ​
 +    mkdir -pv /​Newhome/​$Me ## Créer un home futur.
 +    echo  le transfert de $Me  ​
 +    rsync -ax  --stats ​ /​home/​$Me/​{.[^.]*,​snap} ​ /​Newhome/​$Me
 +    ln -s /​media/​Data/​$Me/​Bureau ​            /​Newhome/​$Me/​Bureau
 +    ln -s /​media/​Data/​$Me/​Documents ​         /​Newhome/​$Me/​Documents
 +    ln -s /​media/​Data/​$Me/​Images ​            /​Newhome/​$Me/​Images ​
 +    ln -s /​media/​Data/​$Me/​Musique ​           /​Newhome/​$Me/​Musique
 +    ln -s /​media/​Data/​$Me/​Téléchargements ​   /​Newhome/​$Me/​Téléchargements
 +    ln -s /​media/​Data/​$Me/​Vidéos ​            /​Newhome/​$Me/​Vidéos  ​
 +    chown -R $Me:$Me /​Newhome/​$Me;​ done ### Déplacer le logiciel ​
 +sed -i '​s/​\/​home/​\/​media\/​Data/'​ /​etc/​fstab ​   ### Mettre à jour le fichier /etc/fstab.
 +mkdir -v /media/Data # et créer son point de montage.
 +umount -l /home ## démonter la partition /home en cours d'​utilisation.
 +mv -v /Newhome/* /home   ## Mettre en place le nouveau home.
 +reboot ## Rebooter.</​code>​
 +===== Méthode 7 : Rapatrier le logiciel et les données utilisateur de la partition contenant le home dans la partition contenant le logiciel de base =====
 +<code bash>​sudo -i   # Devenir administrateur </​code>​
 +<code bash>for Me in $(ls -1 /home) ; do
 +    mkdir -pv /​Newhome/​$Me ## Créer un home futur.
 +    echo  le transfert de $Me  ; sleep 5 ### Afin d'​avoir le temps de lire.
 +    cp -Rauv    /​home/​$Me/​* ​ /​Newhome/​$Me ​  #### Copier les fichiers utilisateur.
 +    cp -Rauv    /​home/​$Me/​.[0-9a-zA-Z]* /​Newhome/​$Me ### Copier les fichiers techniques.
 +    chown -R $Me:$Me /​Newhome/​$Me ### L'​utilisateur redevient propriétaire de ses données.
 +done </​code>​
 +<code bash>sed -i '/​\home/​ s/^/# /' /​etc/​fstab ​   ### commenter la ligne montant le home dans le fichier /etc/fstab
 +umount -l /home ## Démonter la partition /home en cours d'​utilisation.
 +mv -v /Newhome/* /home   ## Mettre en place le nouveau home par substitution de répertoire. ​
 +reboot #Rebooter pour prise en charge de la modification.</​code>​
  
  
Ligne 214: Ligne 361:
 ===== Voir aussi ===== ===== Voir aussi =====
  
-  * **(fr)** [[http://​www.cepcasa.info/​blog/?​p=12|Comment déplacer son /home (site du CEP)]] + 
-  * [[http://www.courtois.cc/monblog/index.php/​2008/​09/02/536-changer-son-linux-d-un-disque-a-un-autre-ubuntu-804|Recopier ​ses données ​et son système lors d'un changement de disque dur]] (à réserver aux connaisseurs). +  * [[https://olivopiment.wordpress.com/2018/12/27/deplacer-le-repertoire-home-sous-linux-ubuntu-18-04-bionic-beaver/|comment déplacer son /home sur un disque différent en conservant ​ses données ​suite à des difficultés ​d'installation]], 
-  * [[:​reinstallation_ubuntu]] : comment réinstaller Ubuntu sur un /home séparé.+  * [[:​reinstallation_ubuntu|comment réinstaller Ubuntu sur un /home séparé]].
  
 ---- ----
  
-//​Contributeurs : [[utilisateurs:​raph|Raphaël Doursenaud]],​[[utilisateurs:​daeavelwyn]],​ [[utilisateurs:​Hoper]].//​+//​Contributeurs ​principaux ​: [[utilisateurs:​raph|Raphaël Doursenaud]],​[[utilisateurs:​daeavelwyn]],​ [[utilisateurs:​Hoper]]  ,​[[utilisateurs:​bruno_sanchiz|dindoun]].// 
 + 
 + 
 + 
 + 
 +                       
  • tutoriel/deplacer_home.1355948477.txt.gz
  • Dernière modification: Le 19/12/2012, 21:21
  • par 2.11.237.180