Les modifications présentées ici ne sont pas triviales. Elles nécessitent un minimum de soin. Afin d'éviter tout problème, 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.
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 :
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. (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 (
exemple), d'être bloqué pour ajouter des logiciels supplémentaires, voire de faire bugguer Ubuntu si votre partition / est quasi-pleine (
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 (/).
La séparation du /home est généralement superflue, voire gênante si vous débutez avec Ubuntu.
Si le /home séparé vous semble bien adapté à vos besoins (en cas de doute, posez votre question sur ce forum), les 2 démarches ci-dessous vous permettent d'effectuer cette opération, soit avec le terminal, soit en mode (presque) graphique.
Testé sur Ubuntu 9.10 et Gnome, mais devrait fonctionner sous d'autres versions d'Ubuntu, et doit être assez facile à adapter pour KDE.
-
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.
-
-
Installer puis lancer
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 ».
Redémarrer le système. Votre /home pointe maintenant sur une partition séparé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).
-
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 :
#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
reinstallation_ubuntu.
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. Si il ne se lance toujours pas, passez à l'étape 4.3.
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
« 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…
Démarrez en « 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 perderez donc votre connexion SSH, necessitant un reboot materiel, ou le changement d'utilisateur.
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 est 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) :
sudo 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/
Il faut maintenant indiquer à l'ordinateur qu'à chaque démarrage il faut monter sda3 sur le répertoire /home. Pour cela, nous allons devoir é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 :
sudo blkid /dev/sda3
Il peut arriver que ni
vol_id ni
blkid ne retournent de résultat satisfaisant (blkid ne retourne rien chez moi par exemple).
Dans ce cas, la commande ls /dev/disk/by-uuid permet de connaitre les UUID de toutes les partitions, montées ou non.
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.
Prenez un papier et un crayon, et notez soigneusement l'uuid que vous renvoie cette commande. Ensuite, éditez le fichier /etc/fstab :
nano /etc/fstab
Et ajoutez une 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 :
mv /home /home.bak
mkdir /home
Vous pouvez maintenant faire un essai en redémarrant l'ordinateur :
reboot
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 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é).
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 é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 :
/dev/sda3 /home ext3 defaults 0 2
Redémarrez et, normalement, cela devrait être bon !
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.