Re: partitions...

Top Page

Reply to this message
Author: Rafael Laboissiere
Date:  
To: guilde
Subject: Re: partitions...

>>>>> Le 26 Feb 1998 20:00, à propos de "partitions...",
>>>>> "OA" == Olivier Aussage écrivait :


    OA> Je cherche a deplacer ma partition /dev/hdb2 (partition /usr/) sur
    OA> /dev/hda1.
    OA> Comment puis-je faire pour obtenir une image conforme a la premiere
    OA> (surtout pour que les liens symboliques soient respectes) ? Quelle
    OA> commande utiliser ? dd, tar, ..?


Je fais cette manip il n'y a pas longtemps chez moi. Le déplacement des
données en soi est très simple à faire (find+cpio). La partie délicate est
la gestion des points de montage dans le fichier /etc/fstab. Cela doit
être fait avec précaution parce que le répertoire /usr peut contenir des
fichiers essentiels au système et une mauvaise manip peut rendre le système
inutilisable.

C'est peut-être exagéré au niveau des précautions, mais voilà les pas à
suivre (peut-être vous connaissez déjà tout cela, mais ça peut être utile à
d'autres personne de cette liste) :

0) Devenir root.

1) Créer un répertoire temporaire qui sera le point de montage :

$ mkdir /mnt/tmp

2) Y monter la nouvelle partition :

$ mount -t ext2 /dev/hda1 /mnt/tmp

3) Transférer les fichiers (avec liens symboliques et dates gardés) :

$ cd /usr ; find . | cpio -pmdv /mnt/tmp

(Regarder les pages man de `find' et de `cpio' pour bien comprendre
les commandes et les options ci-dessus.)

4) Rebooter en single user. Cela se fait en tapant `linux 1' au prompt
de LILO (ou n'importe quelle étiquette qui corresponde au boot de
linux). L'important est le chiffre 1 qui correspond au "runlevel"
single user. (Voir la page man de `init' pour plus de détails, ainsi
que la doc de LILO.)

5) Maintenant on peut, en toute sécurité, renommer l'ancien répertoire
/usr (parce qu'il n'est pas monté en mode single user) :

$ mv /usr /usr-old

(Attention ! : ne rien effacer à ce moment, attendre jusqu'à l'étape 9
pour le faire !)

6) Ensuite, il faut créer le nouveau répertoire /usr ...

$ mkdir /usr

7) ... et changer la ligne du fichier /etc/fstab pour quelque chose du
genre :

      /dev/hda1 /usr ext2 defaults 1 1


8) Rebooter la machine en mode multi-user.

9) Si tout a bien marché, la nouvelle partition (/dev/hda1) se trouve
correctement montée sur /usr. (Sinon, il faut redémarrer en mode single
user et réparer le problème.) À ce moment, il ne reste que l'effacement
de l'ancien répertoire /usr-old (en tant que root, bien sûr) :

$ rm -rf /usr-old



       ******************************************************
       *                     DISCLAIMER                     *
       ******************************************************
       *  L'opération décrite étant très délicate pour le   *
       *  système, j'enlève ma responsabilité sur tout      *
       *  problème que vous pouvez avoir en suivant les     *
       *  indications ci-dessus.  Prenez votre temps pour   *
       *  bien comprendre le pourquoi de chaque étape et,   *
       *  éventuellement, de découvrir les erreurs qui      *
       *  auront pu se glisser dans ma description.         *
       ******************************************************


Rafael LABOISSIERE
Institut de la Communication Parlee | Email: rafael@???
UPRESS A CNRS 5009 / INPG           | Voice: +33 4.76.57.48.49
46, av. Felix Viallet               |   Fax: +33 4.76.57.47.10
F-38031 Grenoble CEDEX 1 France     |   URL: http://www.icp.inpg.fr/~rafael