J'aborderai ici, les phases que j'ai utilisées pour atteindre cet objectif.
Ceci a été valable pour ma configuration et dans mon environnement.
Le déplacement du répertoire "home" dans une autre partition est une opération très sensible et je décline toute responsabilité si vous essayez de reproduire ces étapes dans votre environnement et que cela fait planter votre système. ;-)
Préambule
Un disque ne pouvant être découpé qu'en 4 partitions max, c'est la raison pour laquelle c'est la dernière partition, partition étendue, qui sera sous-découpée en partitions supplémentaires.
Lors de l'installation de base et par défaut, de Linux Mint 17 KDE, il est créé deux partitions. Une partition principale sur laquelle la racine (/) est montée, avec tous les répertoires nécessaires au système, et une partition étendue sur laquelle le swap est installé.
Sur mon disque de 320 Go il a été créé une partition principale sur 318 Go et une partition étendue contenant le swap sur 2 Go.
Le but que je m'étais fixé était le suivant :
- Réduire la partition principale à de 318 à 100 Go,
- Augmenter la partition étendue de la place libérée,
- Créer une nouvelle partition dans la partition étendue sur la place récupérée,
- déplacer "/home" dans cette nouvelle partition.
Réduire la partition principale
Les contraintes
Une partition ne peut être modifiée que si elle est libérée. Or, la partition racine ne pouvant être démontée (libérée) si le système qui y est installé fonctionne, elle ne peut donc pas être modifiée.
Dans la copie écran suivante on remarque qu'il n'est pas possible de modifier la partition tant qu'elle n'est pas libérée.
De même, il n'est pas possible de libérer une partition si elle est utilisée et la partition racine "/", utilisée par le système, ne peut être libérée.
Pour modifier cette partition il va falloir lancer un autre système autonome sur la machine permettant de la modifier sans qu'elle ne soit utilisée.
De même, ayant téléchargé l'ISO de la distribution KDE de Linux Mint 17, et installé cette version, ce sont les outils KDE de cette version que j'utiliserai par défaut...
Linux Mint depuis une Clé USB
La création d'un système autonome pouvant tourner sur la machine, sans utiliser le disque, peut être réalisée par l'installation d'un système sur une Clé USB.
Donc la première étape, pour lancer linux mint depuis une clé usb, c'est de créer une clé USB bootable contenant Linux Mint.
Ceci se fera à partir de l'image ISO de la distribution (Cf l'Article Tester Linux dans une machine virtuelle).
Pour installer Linux Mint sur une clé USB il suffit d'utiliser le créateur de clé USB proposé sur LM17 (KDE). Recherchez "mintstick" dans le gestionnaire de logiciel.
Mintstick
Une fois lancé on va chercher l'ISO de la distribution et choisir la clé USB que l'on va utiliser.
On lance alors la création de la clé par cet outil graphique
Cet outil graphique fait, en fait, un dd de l'image LM17 (KDE) ISO hybride vers la clé avec les bonnes options.
La clé est maintenant prête à être utilisée.
Réduction de la partition principale
Il faut maintenant arrêter la machine, brancher la clé USB, relancer la machine, aller dans le bios et paramétrer la séquence de boot pour commencer le boot par la clé USB et valider.
La machine boot alors sur la clé et n'utilisera que le swap (sur la partition étendue) du disque.
On lance alors le gestionnaire de partitions de KDE présent sur la clé.
Une fois le disque principal choisi, la participation principale sélectionnée (sda1), on choisira redimensionner et, avec le curseur (bande noire de part et d'autre de la partition), on déplacera, dans cette partie graphique, la partie supérieure (à droite) pour en réduire la taille comme montré ci-dessous :
Après un écran de Warning reprenant les actions qui vont être réalisées on va pourvoir lancer l'opération.
L'opération va prendre un peu de temps :
Voir beaucoup de temps !
Bref plus d'une heure dans mon cas sur une machine qui n'est plus un foudre de guerre.
Augmenter la partition étendue de la place libérée.
L'étape précédente réalisée, on arrêtera la machine, enlèvera la clé, rallumera la machine, on modifie le BIOS pour un boot par le disque dur en premier et on lance le système.
Une fois le système lancé, on retrouve un clavier sain et on peut continuer nos opérations.
On relance le gestionnaire de partition KDE et, avant d'essayer de le faire réellement, on lit la suite car ça ne marche pas ! :p
Pour modifier la partition étendue il faut la libérer. Pour la libérer on désactivera le Swap.
On choisi la partition étendue pour la redimentionner.
On déplace le curseur vers la gauche pour attribuer la partie libre à la partition étendue qui se verra sous la forme de partie non allouée.
Une fois la configuration cible réalisée on appliquera les modifications par le bouton ad hoc .
Encore l'écran de warning...
Et le beau message d'erreur ne permettant pas de réaliser l'opération voulue !!!
La solution qui marche :
Après moult tests, essaies et autres galères, il s'avère que ce que je n'ai pas pu réaliser avec le gestionnaire de partition KDE s'est fait sans problème avec gparted. Gparted est le gestionnaire de partition gnome qui tourne tout aussi bien sous KDE. Donc direction le dépôt logiciel pour télécharger et installer gparted.
On reproduit donc les options essayées sous KDE : Choix de la partition étendue, faire glisser la poignée pour récupérer la place libre ...
Vérifier si cela correspond au résultat attendu :
Valider par la coche les choix opérés et voir que tout se passe en trois coups de cuillère à pot !
On peut maintenant réactiver le swap présent sur la partition étendue car les prochaines opération n'impactent pas le conteneur de partition étendue à proprement dit.
Créer une nouvelle partition dans la partition étendue de la place récupérée
On va créer une nouvelle partition dans la partition étendue.
Une fois la partition étendue choisie, on sélectionne créer une nouvelle partition (logique), on le fait sur toute la place disponible, au format ext4 et, si nécessaire, on pourra lui donner une étiquette.
Après avoir renseigné tous les choix précédents on les valident avec la coche pour appliquer les changements.
La partition est créée en ext4 sur /dev/sda6
Un petit coup de formatage pour nettoyer, ça ne sert, ici après une création, à rien d'autre qu'à montrer la possibilité de le faire ! :p
Déplacer "home" dans une nouvelle partition
Pour ce faire on utilisera l'outil "disques" ("gnome-disk-utility") que l'on ira chercher avec le gestionnaire de logiciel et on l'installera.
Maintenant, avant de continuer plus loin en utilisant cet outil, je vais développer un peu la notion de montage et point de montage.
Vulgarisation sur la notion de point de montage
ou quand Star Trek n’est pas de la science-fiction !
Le disque dur est vu, pour un utilisateur, comme un
immense couloir avec la possibilité de créer autant de porte que
nécessaire vers des espaces de stockage (dans la limite de la taille du
stockage disponible).
Dans chaque espace de stockage peut être créé des sous espaces de stockage accessible derrière de nouvelles portes.
Derrière la porte « home » vous avez le stockage
« home », … Dans cet espace de stockage vous pouvez avoir des sous
espace comme un « user » accessible par la porte « user » après la porte
« home » => « /home/user »
Cependant pour rentrer dans ces espaces il n’y a qu’une seule porte initiale, la racine, appelée « / » (slash).
Créer une partition sur un disque c’est le couper pour créer une autre Zone séparée d’espaces de stockage.
Cependant il n’y a toujours qu’une seule porte d'entrée sur
le système de stockage qui est « / » et qui appartient à la partition
principale.
Pour accéder aux autres partitions, ou zones
d’espaces de stockage, pouvant aussi être un périphérique (une clé USB,
un cd-rom, …), on va faire un peu de « Star Trek » à la « Montgomery
Scott » aussi connu sous le surnom de « Scotty ».
On va donc créer des points de montage (Téléportation M. Scott). On peut visualiser un point de montage comme étant un téléporteur que l’on place juste au niveau d’une porte et qui vous transporte automatiquement vers la nouvelle Zone d’espaces de stockage.
Pour plus de détail voir la commande Linux (unix) "mount".
Le masquage du mount : si vous montez ce téléporteur sur la porte d’un espace de stockage que vous utilisez, cet espace de stockage vous est masqué le temps que le montage est actif. Tant que le téléporteur est sur votre porte, quand vous la traversez, vous vous retrouvez téléporté vers l’espace qui y est monté et non dans votre espace de stockage initial de la partition principale.
Donc si vous avez un fichier toto derrière la porte
« home » dans l’espace de stockage principal, puis si vous montez une
partition sur cette porte, vous allez vous retrouver sur la nouvelle
Zone d’espaces de stockage quand vous la traverserez
et, si vous ne l’y avez pas copié, vous n'y trouverez pas de fichier
toto.
Heureusement, si vous démontez cette porte de téléportation, vous retrouverez votre fichier toto après l’avoir de nouveau franchie.
Ces points de montage peuvent être gérés
automatiquement par le système pour certains, insérer un CDROM et un
point de montage cdrom se créé automatiquement dans l’espace de stockage
media qui vous permet d’accéder au contenu du CDROM :
« /media/cdrom ».
Ils peuvent aussi être gérés par l’utilisateur.
Si l’on veut déplacer le contenu de l’espace de
stockage « home » dans une nouvelle partition on va être amené à monter
cette nouvelle partition sur /home, téléportation derrière la porte home
vers la nouvelle partition.
Ceci est fait pour que le système continu de voir
un espace « home » même s’il est automatiquement téléporté vers la
nouvelle partition. Merci Monsieur Scott.
Démontage d'une porte de téléportation : tant que vous avez un client qui a ouvert une porte de téléportation (un shell
par exemple où vous vous seriez déplacé dans au travers de cette porte), vous ne pourrez
pas démonter ce téléporteur tant que le client est dans la zone.
Pour plus de détail voir la commande Linux (unix) "umount".
Les actions à réaliser
Pour ce qui me concerne, je vais utiliser ce principe de masquage du répertoire "home" initial, pour sécuriser la manipulation de déplacement du « /home ».
Je vais :
- Créer un point de montage /homeNew pour ma nouvelle partition.
- Copier le contenu de /home dans /homeNew (sudo cp –av /home/* /homeNew/)
- Changer le point de montage de /homeNew en /home
Certes j’occuperai deux fois la taille de /home.
Une première fois dans l’espace principal derrière la porte /home (sans le téléporteur) et une deuxième fois sur l’espace dans lequel on est
téléporté quand le montage du nouvel espace ce fait
sur cette porte (quand le téléporteur est en place).
Cela me permet de continuer à avoir un espace /home
cohérent en cas de problème de montage de la nouvelle partition, ou une
erreur d’attributs lors de la recopie des fichiers du home original.
En cas de problème il suffira de désactiver ou de rendre impossible le montage pour retrouver le /home d’origine sur la partition principale.
Créer un point de montage pour la nouvelle partition
Avec l'outil "disques" on va pouvoir travailler sur les partions existantes.
En premier on aura choisi le disque, dans la colonne de gauche, puis, dans le schéma central de la partie droite on clic sur la partition sur laquelle on veut travailler. Pou moi la partition sda6 sous la partition étendue.
On va maintenant pouvoir utiliser l’icône engrenages pour modifier les options de montage
On arrive sur un écran avec les options par défaut et il faudra actionner l’interrupteur (1/0), en haut de cet écran, pour accéder aux options
On choisira, dans la liste nommée "s'identifier comme", la ligne présentant "UUID=.....".
On modifie les autres paramètres tel que :
- options de montage on remplace par le mot "defaults"
- point de montage on choisira un répertoire encore inexistant sous la racine comme un "/homeNew"
- dans le type de système de fichier on choisira celui pris pour cette nouvelle partition, pour moi "ext4"
Un fois le bouton "Valider" cliqué on vérifie encore que le point de montage n'a pas changé (a tendance à changer lorsque l'on joue avec "s'identifier comme") et que tous les paramètres sont OK.
On va saisir le mot de passe root car il va y avoir la création/modification d'une entrée dans un fichier système. Pour les inconditionnel du mode texte dans "/etc/fstab"
On va maintenant pouvoir démonter la partition
Et la remonter, ce qui va se faire par la lecture du fichier /etc/fstab
Et avoir pour conséquence un montage sur /homeNew tel que paramétré
Copier le contenu de /home dans /homeNew
On peut voir ici les deux répertoires :
- Le /home avec le dossier des utilisateurs de ce système (il n'y en a qu'un pour le moment)
- Le /homeNew qui contient déjà un dossier "lost+found" ce qui est normal, et on ne le touchera pas, car c'est la racine de la partition.
Le répertoire /home est critique dans le sens où les dossiers utilisateurs contiennent tous les éléments nécessaires à celui-ci pour, entre autre, configurer son environnement à son login.
Un dossier utilisateur défectueux et il ne peut plus se loguer.
Les droits des fichiers des répertoires utilisateurs sont tout aussi important à préserver.
On copiera donc le contenu de /home vers /homeNew par une commande cp, dans un shell, commande exécutée en root (sudo) avec les paramètre "a" pour préserver les droits, prendre aussi les fichier cachés et le faire de manière récursive (inclure les sous répertoires) et "v" pour verbeux si certains veulent vérifier que tout c'est bien passé pour chacun des fichiers.
- sudo cp –av /home/* /homeNew/
On a bien notre répertoire utilisateur de copié dans la nouvelle partition. On peut aussi vérifier les droits des fichiers et du répertoire ainsi déplacé.
Changer le point de montage de /homeNew en /home
Maintenant la dernière opération consiste à masquer la porte home par un téléporteur vers la nouvelle partition. Cela se fait en modifiant le point de montage de notre nouvelle partition pour ne plus être sur "homeNew" mais sur "home" par l'interface vue précédemment.
Une fois fait on peut alors rebooter le système qui utilisera le montage du /home sur la partition créée.
Faire un peu de ménage dans l'ancien "/home"
Une fois le transfert validé et les données vérifiées il n'est pas trivial de revenir en arrière pour nettoyer l'ancien home.
Cependant le principe est le suivant :
- démonter /home (enlever la téléportation),
- faire le ménage de /home (l’espace de stockage initial de nouveau accessible derrière la porte home),
- remonter /home pour retrouver la téléportation vers la partition créée.
Fichier /etc/fstab => Action d'administration => Ouvrir comme texte
Devant la ligne de notre montage de partition sur /home on va jouer en ajoutant ou supprimant un "#" en début de ligne pour respectivement la commenter ou l'activer. Dans la copie écran suivante on voit l'action sur la dernière ligne, celle de /home, où le caractère "#" en début de la ligne permet de la commenter.
Dans un premier temps on met un "#" (sans les ") en début de la ligne pour la commenter, on sauvegarde le fichier, on ferme l'éditeur et on reboot la machine.
La ligne étant commentée, la machine reboot sans le montage de la partition et donc sur le "home" de la partition principale.
On peut le vérifier en tapant la commande "mount" dans une fenêtre console.
Elle ne doit pas remonter de montage sur /home.
Maintenant que l'on est sur l'ancien home on va pouvoir faire le ménage avec parcimonie !!!
On va se connecter avec notre compte d'administration (le compte déclaré à l'installation), on va pouvoir supprimer, sous /home, tous les comptes des utilisateurs standard. On prendra soin de garder notre compte d'administration même si on peut y supprimer les documents tels que les images, le documents openOffice et autres documents non sensibles.
En réalisant ainsi, on se garde la possibilité de se connecter administrateur, que le montage de home ait réussi ou non. Par la suite on se rendra vite compte dans quel home on aura lancé la session par l'aspect vide de celle sur le home de la participation principale.
On va alors faire la démarche inverse en éditant de nouveau le fichier /etc/fstab en tant que super-user, enlever le "#" pour réactiver le montage de la partition sur /home, on sauvegarde et on reboot la machine.
On vérifie alors, toujours dans une fenêtre console, que le montage s'est effectué.
Exemple avec la commande suivante :
sudo mount | grep home
qui, après la saisie du mot de passe root, retourne s'il y a un montage contenant le mot home et, pour mon cas, j'ai bien la ligne :
/dev/sda6 on /home type ext4 (rw)
En savoir plus
Pour aller plus loin dans les avantages/inconvénients de ce type de positionnement du "home", sur la méthode utilisée, ..., vous pouvez lire l'article suivant :
http://doc.ubuntu-fr.org/tutoriel/deplacer_home
Bonne journée !
http://doc.ubuntu-fr.org/tutoriel/deplacer_home
Bonne journée !
Aucun commentaire:
Enregistrer un commentaire