Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
tutoriel:deplacer_home [Le 27/12/2014, 16:35] 82.253.143.37 [Étape 2 : Mettre à jour les points de montage] |
tutoriel:deplacer_home [Le 16/05/2024, 18:39] (Version actuelle) 91.161.152.215 [Préambule] |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
---- | ---- | ||
- | ====== Déplacer son dossier utilisateur (« /home ») ====== | + | ====== Déplacer son dossier utilisateur (« /home/$USER ») ====== |
===== Préambule ===== | ===== Préambule ===== | ||
- | **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 du "\", indiquer la partition que vous souhaitez utiliser pour le HOME en lui donnant l'étiquette "\HOME"...** | + | **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: | + | 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. |
- | 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. | + | |
+ | <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 : Démarche 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. | ||
- | |||
- | <note important>Installer le logiciel [[:disk-manager|Disk-Manager]] avant de commencer ! Et lancez le avant de neutraliser le /home en le renommant /oldhome !</note> | ||
==== Procédure avec peu de commentaires ==== | ==== 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**, ou **gksudo nemo** pour linux Mint >=14) 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. |
- | - Créer immédiatement via votre [[:gestionnaire de fichiers]] (en [[:sudo|mode administrateur]]) un nouveau répertoire **/home** vide, puis dans celui-ci créez un dossier du nom de votre login. | + | - Lancer votre [[:gestionnaire de fichiers]] en [[:sudo|mode administrateur]] et neutraliser l'ancien **/home** en le renommant en **/oldhome**. |
- | - Installer puis lancer [[:Disk-Manager]]. Dans celui-ci, 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 ». | + | - 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). |
- | - Redémarrer le système. Votre /home pointe maintenant sur une partition séparée. | + | - 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. | ||
- | <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 [[:comment_modifier_un_fichier#en_ligne_de_commande|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** \\ | + | <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>gksudo gedit /etc/fstab</code> | + | Vous aurez besoin de connaître l'[[:uuid_et_label|UUID]] de la partition du nouveau /home \\ |
- | 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** : | + | **''##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 : | <file>#Entry for /dev/sdc1 : | ||
UUID=905ce836-7aa9-4413-853f-126a0eb2587c /home ext4 defaults 0 2</file> | UUID=905ce836-7aa9-4413-853f-126a0eb2587c /home ext4 defaults 0 2</file> | ||
Fermez et enregistrez le fichier puis redémarrer votre ordinateur </note> | 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 ==== | ==== 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 [[:Apper]] (si vous êtes dans [[:kubuntu]]). | + | - 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 97: | 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> | ||
Ligne 109: | Ligne 141: | ||
Cette méthode est rapide et simple à exécuter. Elle repose sur l'utilisation de **Disk-Manager**. | Cette méthode est rapide et simple à exécuter. Elle repose sur l'utilisation de **Disk-Manager**. | ||
- | ==== Préalable ==== | ||
- | * Créez avec [[:Gparted]] la partition destinée au futur /home. On supposera ici que cette partition est **sda6**. | + | ===== Méthode 2 : Démarche avec le terminal ===== |
- | <note>Cette opération peut nécessiter de démarrer en LiveCD, dans un premier temps, si une ou des partitions concernées sont actuellement en service</note> | + | |
- | * Installez [[:Disk-Manager]] si l'application n'est pas déjà installée. | + | |
- | * Lancez Disk-Manager qui mettra à jour le fichier **/etc/fstab** et créera les points de montage. On choisira à cette étape **/new.home**, comme point de montage pour la partition **sda6**. | + | |
- | * Montez les partitions. | + | |
- | + | ||
- | ==== Déplacement du /home ==== | + | |
- | + | ||
- | * Copiez le contenu du /home actuel dans le nouveau : <code>sudo rsync -av /home/ /new.home</code> | + | |
- | * Vérifiez par sécurité le contenu du futur /home : <code>ls -la /new.home</code> | + | |
- | * Changez ensuite le nom de l'ancien /home en **/old.home** : <code>sudo mv /home /old.home</code> | + | |
- | * Relancez Disk-Manager pour attribuer le nouveau point de montage **/home** à la partition **sda6** | + | |
- | * Redémarrez l'ordinateur. Le nouveau /home est monté et en service. | + | |
- | + | ||
- | <note>Par prudence, attendez quelques jours pour vérifier que tout va bien, supprimez alors de la racine le dossier /old.home et redimensionnez les différentes partitions pour utiliser l'espace libéré. | + | |
- | </note> | + | |
- | + | ||
- | + | ||
- | ===== Méthode 3 : Démarche avec le terminal ===== | + | |
==== Pré-requis ==== | ==== Pré-requis ==== | ||
Ligne 146: | Ligne 159: | ||
<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> | <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> | ||
- | <note important> | ||
- | Sur ubuntu 12.10, 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> | ||
- | Si on évite cette manipulation, il est impossible de modifier le fichier /etc/fstab | ||
- | </note> | ||
==== Étape 1 : Copie ==== | ==== Étape 1 : Copie ==== | ||
Ligne 157: | Ligne 165: | ||
**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.** | **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 : | |
- | 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 : | + | <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/ | ||
Ligne 233: | Ligne 241: | ||
* **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]]. | * **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 ===== | ||
- | ===== Méthode 4 : Démarche avec le terminal ; réutilisation d'un ancien home d'une partition sans 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. | ||
+ | <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. | ||
- | == 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 12.04.3 - et que celui est à jour pour augmenter la compatibilité mais selon les cas c'est ou pas nécessaire. | + | |
+ | |||
+ | ===== 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. | ||
+ | <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> | ||
- | == 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 systeme propre; en particulier cette partition il contient / 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 ext3 defaults 0 2 | ||
- | mount -a ; ls /home/ devrait alors vous montrer le contenu de la partition home0 | ||
===== Voir aussi ===== | ===== Voir aussi ===== | ||
- | * [[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 principaux : [[utilisateurs:raph|Raphaël Doursenaud]],[[utilisateurs:daeavelwyn]], [[utilisateurs:Hoper]] ,[[utilisateurs:bruno_sanchiz|dindoun]].// | //Contributeurs principaux : [[utilisateurs:raph|Raphaël Doursenaud]],[[utilisateurs:daeavelwyn]], [[utilisateurs:Hoper]] ,[[utilisateurs:bruno_sanchiz|dindoun]].// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ |