{{tag>partitions système tutoriel vetuste}} ====== Déplacer son dossier utilisateur (« /home/$USER ») ====== FIXME Ce tutoriel est ancien et les méthodes qu'il propose sont complexes, fastidieuses et ne font pas consensus. La manière simple et généralement conseillée pour déplacer ses données personnelles et simplement de les déplacer - seul le contenu concerné, sans son répertoire parent ''/home/$USER'' - puis d'informer le système de leur nouvel emplacement en [[:variables_d_environnement#xdg-user-dirs|mettant à jour les variables xdg-user-dirs]]. ===== Préambule ===== **Déplacer le dossier /home/$USER 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 du 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 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. Pensez aussi que, le plus souvent, il suffit simplement de [[https://forum.ubuntu-fr.org/viewtopic.php?id=1506051|déplacer vos données ]] ===== 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. Le dossier /home contient : * tous vos fichiers personnels, * des répertoires cachés avec la configuration de vos logiciels et de votre interface. ==== Avantages d'un /home séparé ==== 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, 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 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 (/). **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é ==== * 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. * 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. 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 ==== 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 ===== ==== 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**. - Monter la partition newhome en cliquant dessus dans votre navigateur de fichier (de façon ponctuelle, juste pour pouvoir copier). - Saisir dans un terminal //- Attention il faut bien un espace entre le . et /media -// sudo cp -av /home/. /media/(nom d'utilisateur)/newhome/ ce qui copie le contenu de /home (mais pas le /home lui même) sur la nouvelle partition. - 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 (il servira de point de montage à la nouvelle partition). - Lancez l'application 'Disques'. Dans celui-ci, - 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. 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##''**\\ sudo blkid **''##Sauvegarde du fichier /etc/fstab##''**\\ sudo cp -a /etc/fstab /etc/fstab.save **''##Modifiez le fichier /etc/fstab##''**\\ gedit admin:///etc/fstab 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** :\\ #Entry for /dev/sdc1 : UUID=905ce836-7aa9-4413-853f-126a0eb2587c /home ext4 defaults 0 2 Fermez et enregistrez le fichier puis redémarrer votre ordinateur ==== Procédure quasiment en ligne de commande ==== * Lancer gparted pour fabriquer la partition ext4 ayant une étiquette **newhome**. gparted * Monter la partition nouvellement créée. udisksctl mount -b /dev/disk/by-label/newhome * Arrêter firefox et thunderbird avant la duplication est une bonne idée. * Dupliquer le contenu de la partition. sudo cp -avu /home/. /media/$USER/newhome/ * 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**) sudo ls -1 -Rals /home | wc -l ; sudo ls -1 -Rals /media/$USER/newhome | wc -l * Eventuellement relancer firefox et thunderbird. * Vérifier que le répertoire utilisateur est bien présent. ls -als /media/$USER/newhome/$USER * Récupérer le UUID de la nouvelle partition. UUID=$(sudo blkid | grep newhome| grep -oP ' UUID=\K.*(?=BLOCK)' | cut -d'"' -f2) * Vérifier que la commande a bien récupéré un UUID de la forme xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. echo $UUID * Mettre à jour le fichier /etc/fstab pour que cette nouvelle partition soit montée automatiquement. echo $UUID | cut -d'"' -f2) /home ext4 defaults 0 2 | sudo tee -a /etc/fstab * Neutraliser l'ancien home.sudo mv -v /home /oldhome * Rebooter. * Vérifier que le nouveau home est bien utilisé.df -htext4 * Supprimer le vieux home.sudo rm -Rv /oldhome * Vérifier que l'espace disque de la partition contenant le logiciel de base dispose maintenant de plus de place. df -htext4 ==== 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]] - Lancer [[:Gparted]] (dans [[:gnome]] : Système / Administration / Gparted). - Démonter la partition que vous voulez partitionner (clic droit dessus, puis « démonter »). Si c'est la partition Ubuntu sous laquelle vous travaillez au moment de l'opération, **vous ne pourrez la démonter**, car c'est impossible sur une partition active. Il faut donc se connecter avec un autre disque sous Ubuntu, ou avec un [[:live_cd]] ou avec un [[:live_usb]] pour partitionner. Vous pouvez installer [[:Gparted]] même à partir d'un [[:live_cd]] / [[:live_usb]]. - Une fois la partition principale démontée, créer une nouvelle partition avec [[:Gparted]] : * redimensionner (réduisez) la partition initiale (celle qui contient votre système), en faisant un clic droit sur la partition, puis « redimensionner ». Ajustez la taille comme vous l'entendez en faisant glisser à la souris les limites de la partition. * Puis créer une partition au format ext4 ou ext3 dans la zone libérée (« non alloué ») : clic dessus, puis « partition / nouveau ». Mettez une étiquette (un nom) à la nouvelle partition, par exemple **newhome**. C'est cette nouvelle partition qui recevra votre /home. * « Edition / appliquez les modifications » : votre nouvelle partition est maintenant créée. Fermez [[:Gparted]]. * __Attention__, il faut conserver assez de place libre dans la partition d'origine, qui comprend votre système. Cela pour permettre l'installation de nouveaux logiciels, ou simplement des mises à jour Ubuntu. Il faut aussi prévoir de la place libre sur la nouvelle partition, pour pouvoir y ajouter de nouveaux fichiers. - Ressortez de votre live CD, et revenez dans Ubuntu. - Montez temporairement la partition nouvellement créée avec (dans le menu [[:gnome]]) « raccourci / newhome ». Une icône marquée : « newhome » doit apparaître sur votre bureau. Vous pouvez fermer la fenêtre [[:Nautilus]] qui est apparue lors du montage, elle ne sert à rien. - Copier votre /home vers la nouvelle partition en lançant dans le terminal (« Applications / accessoires / terminal ») : **sudo cp -av /home/. /media/newhome/** Ne copiez pas votre /home avec [[:Nautilus]] : Nautilus refuse, même en mode administrateur. **Important** : n'oubliez pas le point « . » à la fin de **sudo cp -av /home/.** car c'est lui qui permet de copier le **CONTENU** du /home d'origine, **sans** le répertoire /home lui-même, qui ne doit PAS être copié. - Vérifier avec [[:Nautilus]] (par exemple en cliquant sur l'icône « newhome » affichée sur votre bureau) que le contenu votre /home a bien été copié vers /newhome/. Vous devez avoir dans la fenêtre Nautilus un dossier du nom de /toto (si toto est votre nom de compte), mais pas de dossier /home. - Lancer Nautilus **en mode administrateur** et neutraliser l'ancien /home. Pour cela : * appuyer en même temps sur ALT+F2, ce qui fait apparaître la fenêtre « lancer une application ». * Saisissez-y **gksudo nautilus**, et validez. Nautilus demande le mot de passe et se lance en mode administrateur (il peut maintenant toucher aux fichiers systèmes, alors soyez prudent). * Dans la partie droite de l'écran, allez sur « système de fichiers », puis clic droit sur /home, et « renommer » en /oldhome. Votre ancien /home est maintenant neutralisé (mais récupérable en cas de besoin). **Ne redémarrer pas maintenant Ubuntu** : il n'y a plus de /home, et le système ne se lancerait pas (ce problème peut-être contourné, voir plus bas). * Recréer immédiatement un /home vide par un clic droit sur le fonds de [[:Nautilus]], puis « créer un dossier ». C'est ce /home vide qui accueillera le point de montage (il sera reconnu par le système comme un pointage vers votre compte - « toto » dans l'exemple plus haut - copié sur votre nouvelle partition). Vous avez maintenant un répertoire /oldhome, ainsi qu'un répertoire /home totalement vide, tous deux sur la racine. - Lancer [[:Disk-Manager]] pour monter votre nouvelle partition dans le /home vide (Gestionnaire de fichiers dans administration) - cliquez sur la partition séparée /newhome qui a accueilli la copie de votre compte issu de /home (ce sera sans doute sda3, mais pas forcément). * 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 ». - Redémarrer Ubuntu. Normalement tout se passe bien. En cas de problème, vous pouvez revenir à l'ancienne installation ainsi : * redémarrer avec un live CD ou un live USB, * accéder à votre disque système Ubuntu (pas le /newhome) avec Nautilus en mode administrateur (ALT+F2 puis **gksudo Nautilus**). * Effacer le /home vide * Renommer /oldhome en /home * Effacer le point de montage créé par disk-manager en relançant celui-ci, et en remplaçant le montage /home par /media/newhome/. Vous pouvez aussi aller dans le fichier /etc/fstab avec Nautilus en mode admin, l'ouvrir avec [[:gedit]] (clic droit sur le fichier), et effacer les 2 lignes concernant le montage du /home sur sda3 (si votre disque /newhome/ est bien sda3), qui sont dans ce genre : #Entry for /dev/sda3 : UUID=acda7b4a-xxxxx /home ext4 defaults 0 0 * 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é. 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é. 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. ===== 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 ==== * Avoir déjà formaté une nouvelle partition, pour l'instant vide, et qui contiendra à la fin de ces opérations votre nouvel home. * Bien connaître l'identifiant de cette nouvelle partition. Dans cet exemple, nous utiliserons la partition "sda3". **Pensez bien à toujours remplacer sda3 par votre partition réelle !** Pour connaitre le nom de votre partition, lorsque vous aurez redémarré en recovery mode saisissez : fdisk -l N'utilisez pas une partition formatée en FAT ou en NTFS pour cela ! De l'ext3, par exemple, conviendra parfaitement. * Savoir comment démarrer 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'' ». Ce mode particulier vous donne les droits administrateurs et permet de travailler sans avoir besoin de /home. 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… ==== Étape 1 : Copie ==== 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 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 : mount -o rw,remount / 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 mount /dev/sda3 /nouveau-home/ Vérifiez que la partition soit bien montée, la commande suivante doit vous afficher « /dev/sda3 » sur « /nouveau-home » : df -h 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) : cp -a /home/. /nouveau-home/ À la fin de la copie, lancez de nouveau la commande : df -h L'espace disponible a dû diminuer. Vous pouvez également vérifier que tout a bien été copié, avec une commande du type : ls -al /nouveau-home/votre_login/ ==== Étape 2 : Mettre à jour les points de montage ==== Il faut maintenant indiquer à l'ordinateur qu'à chaque démarrage il faut monter sda3 sur le répertoire /home. Pour cela, nous allons devoir [[:tutoriel:comment_editer_un_fichier|éditer le fichier]] **/etc/fstab**. Mais avant nous allons devoir connaitre l'UUID de sda3. Pour cela si vous avez une version antérieure à Karmic Koala: vol_id /dev/sda3 ou à partir de Karmic Koala : blkid /dev/sda3 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 : blkid /dev/sda3 >> /etc/fstab Ensuite, éditez le fichier /etc/fstab : nano /etc/fstab Et ajoutez/modifier une/cette ligne comme ceci : UUID=a9504f40-83cd-4260-bbf4-646aa304e699 /home ext3 defaults 0 2 Remplacez bien sûr l'UUID donnée ici en exemple par le votre. De plus, modifiez ext3 par autre chose si votre nouvelle partition n'a pas été formatée en ext3... Ici, deux cas peuvent se présenter : * **Cas no 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 mkdir /home * **Cas no 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 : reboot ==== Étape 3 : Supprimer les anciens fichiers ==== 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 no 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 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é). * **Cas no 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 ===== **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. echo UUID=$(sudo blkid | grep /dev/XXXX | grep -o ' UUID.*BLOCK' | cut -d'"' -f2) /home ext4 defaults 0 2 | sudo tee -a /etc/fstab * Monter la partition. sudo mkdir -v /mnt/Home0 sudo mount -v /dev/XXXX /mnt/Home0 * __Pour chaque utilisateur:__ * Créer l'utilisateur si besoin. sudo mkdir -v /mnt/Home0/$USER sudo chown $USER:$USER /mnt/Home0/$USER * Transférer les données personnelles absentes. mv -nv $HOME/* /mnt/Home0/$USER * Transférer les données techniques absentes. mv -nv $HOME/.[0-9a-zA-Z]* /mnt/Home0/$USER * Mettre à jour la configuration en conservant les anciens contenus. mv -v -b --suffix=.OLD $HOME/.config/* /mnt/Home0/$USER/.config rmdir -v .config * Transférer les données personnelles en double dans un sous-répertoire. mkdir -v /mnt/Home0/$USER/Home1 mv -v $HOME/* /mnt/Home0/$USER/Home1 * Transférer les données techniques en double dans le même sous-répertoire. mv -v $HOME/.[0-9a-zA-Z]* /mnt/Home0/$USER/Home1 * Supprimer l'utilisateur ls -Rals cd / sudo rm -rv $HOME * 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. ===== Méthode 4 : Démarche avec le terminal ; réutilisation sans copie du /home d'une autre partition ===== === 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 version, par 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. === 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 /home: on 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. sudo -i ### Passer en mode administratif 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. ===== 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 ===== sudo -i # Devenir administrateur 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 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. ===== Voir aussi ===== * [[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é]]. ---- //Contributeurs principaux : [[utilisateurs:raph|Raphaël Doursenaud]],[[utilisateurs:daeavelwyn]], [[utilisateurs:Hoper]] ,[[utilisateurs:bruno_sanchiz|dindoun]].//