Migration

D'un système à un autre, d'un distribution à une autre, d'une publication (site) à un autre, encodage, disque dur.

alain Adelmar
aadelmar@numericable.fr beuuh c est quoi ca

La migration d'une distribution à une autre comme d'un site à un autre peut être peut être la cause de certains soucis voir la perte de données. J'ai eu les deux, donc si je peut aiguiller quelques débutants pour éviter cela et aussi en guise de pense bête pour moi même, voici quelques conseils en la matière, pour limiter la casse.
Bien sûr on le répète partout la sauvegarde est le chemin le plus sûr.  Mais il faut pouvoir le faire à temps, avoir la place et encore plus malin anticiper les problèmes.

Les pires ennemies dans ces situations sont : Le raz le bol,  l'emportement (le coup de sang), la facilité (l'illusion de simplicité).
Les meilleurs cartes: La doc, Le net, Le sang froid, (et de savoir que... bien sûr c'est possible).


  • Choses communes à faire, avant tout changements importants:

  • Migration d'une distribution à une autre:

  • Migration d'un système de fichiers à un autre:

  • Migration d'une publication (d'un site) à un autre ou update:

  • Migration d'encodage:



  • Choses communes à faire, avant tout changements importants

    Avant tout changements importants il y a toujours quelques petites choses à faire, ça prend moins de 5 minutes, et ça peut éviter bien des déboires. 
    D'abord il faut ce poser et ne rien faire dans l'urgence, qui est mauvaise conseillère.   Puis si vous avez une imprimante, un graveur, une clé USB, un compte (page-perso), les CD d'installation d'une distribution (Linux ou Windows ou un live CD) ça sera beaucoup plus facile. Mais si vous n'avez rien de tous ça , c'est pas grave,  munissez vous d'un carnet ou de quelques feuilles blanches et d'un stylo, ça fera l'affaire.  Je vais faire comme si vous aviez en guise de pré-requis une imprimante et un accès à internet.


    Prendre les informations de ce qui est avant changement

    La première des choses à faire, c'est de savoir ce que l'on a maintenant sur son(ses) système(s) et comment votre environnement le perçoit. (Il faut 5 min avec une imprimante).
    On croit toujours savoir, mais en être sûr c'est mieux (et puis si on a besoin d'aide... c'est pas quand tout est planté qu'on ce renseigne ...  bien que...) .
    Donc pour faire, vite fait le tour de sa bécane, on ce placera en root sur la console et l'on entrera les commandes:
    les périphériques et leurs caractéristiques:
    fdisk -l > mes_disques-4juin2009.log 
      # c'est un "petit L" comme dans liste, vous donnera la liste des partitions, leurs taille, leurs type et le placera dans un fichier nommé "mes_disques-date.log". Je vous affiche le mien à titre d'exemple.

    [root@localhost miroir]# fdisk -l

    Disque /dev/sda: 500.1 Go, 500107862016 octets
    255 heads, 63 sectors/track, 60801 cylinders
    Units = cylindres of 16065 * 512 = 8225280 bytes
    Disk identifier: 0x6e8bb5bd

    Périphérique Amorce    Début        Fin      Blocs    Id  Système
    /dev/sda1     *           1         255     2048256   82  Linux swap / Solaris
    /dev/sda2               256        1267     8128890   83  Linux
    /dev/sda3              1268        2159     7164990   83  Linux
    /dev/sda4              2160       60801   471041865    7  HPFS/NTFS

    Disque /dev/sdb: 15.3 Go, 15367790592 octets
    255 heads, 63 sectors/track, 1868 cylinders
    Units = cylindres of 16065 * 512 = 8225280 bytes
    Disk identifier: 0xa3c5a3c5

    Périphérique Amorce    Début         Fin      Blocs    Id  Système
    /dev/sdb1     *           1         1867    14996646    7  HPFS/NTFS

    Disque /dev/sdc: 12.9 Go, 12997361664 octets
    255 heads, 63 sectors/track, 1580 cylinders
    Units = cylindres of 16065 * 512 = 8225280 bytes
    Disk identifier: 0xa3e3a3e3

    Périphérique Amorce    Début        Fin      Blocs    Id  Système
    /dev/sdc1     *           1          25      200781   83  Linux
    /dev/sdc2                26        1580    12490537+  83  Linux


    Bon mais la on ne sais pas a quoi cela correspond donc pour parfaire on ajoutera le fichier /etc/fstab qui nous renseigne sur le nom de ces partitions:
    donc on ajoutera au fichier /etc/fstab en tapant:
    cat /etc/fstab >> mon_matos4juin2009.log


    #
    # /etc/fstab
    # Created by anaconda on Tue Mar 10 22:32:09 2009
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or vol_id(8) for more info
    #
    UUID=df4c144a-ccbb-423e-8d33-535baf398aa0    /                    ext3     defaults        1 1
    UUID=6b88d7b6-69e3-4bb2-a7d8-bc7e9246c27d    /home                ext3     defaults        1 2
    UUID=6C58D2E73ED40D63                        /media/Igor          ntfs-3g  defaults        0 0
    UUID=8C7C926F7C925434                        /media/MAX           ntfs-3g  defaults        0 0
    UUID=05fd16c1-7ad9-4cd2-9e2c-95ff40be277e    /home/common         ext3     defaults        1 2
    UUID=3be3318c-0e4e-49a1-9f07-b890e9c095b0    /boot                ext3     defaults        1 2
    UUID=C430-8275                               /mnt/cle_usb         vfat     defaults        0 0
    tmpfs                                        /dev/shm             tmpfs    defaults        0 0
    devpts                                       /dev/pts             devpts   gid=5,mode=620  0 0
    sysfs                                        /sys                 sysfs    defaults        0 0
    proc                                         /proc                proc     defaults        0 0
    UUID=92127689-f32c-4fbc-b852-603578d17925    swap                 swap     defaults        0 0

    Bon mauvais exemple, avant c'était plus pratique vu qu'il n'y avait pas d'identifiant partition on savait donc que (dans mon cas) /dev/sda3 était /home, donc on va ajouter toujours à notre fichier /etc/mtab qui reste encore lisible même avec les distributions de maintenant, donc :
    cat /etc/mtab >> mes_disques-4juin2009.log

    [root@localhost atelier]# cat /etc/mtab
    /dev/sda2        /                         ext3                  rw                                  0 0
    /proc            /proc                     proc                  rw                                  0 0
    sysfs            /sys                      sysfs                 rw                                  0 0
    devpts           /dev/pts                  devpts                rw,gid=5,mode=620                   0 0
    /dev/sda3        /home                     ext3                  rw                                  0 0
    /dev/sda4        /media/Igor               fuseblk               rw,allow_other,blksize=4096         0 0
    /dev/sdb1        /media/MAX                fuseblk               rw,allow_other,blksize=4096         0 0
    /dev/sdc2        /home/common              ext3                  rw                                  0 0
    /dev/sdc1        /boot                     ext3                  rw                                  0 0
    tmpfs            /dev/shm                  tmpfs                 rw                                  0 0
    none             /proc/sys/fs/binfmt_misc  binfmt_misc           rw                                  0 0
    sunrpc           /var/lib/nfs/rpc_pipefs   rpc_pipefs            rw                                  0 0
    gvfs-fuse-daemon /home/aadelmar/.gvfs      fuse.gvfs-fuse-daemon rw,nosuid,nodev,user=aadelmar       0 0
    /dev/sr0         /media/Expansion          iso9660               ro,nosuid,nodev,uhelper=hal,uid=503 0 0


    Bon voila maintenant on sait quelle partitions fait quoi, leur taille, leur type, comment elles se nome et même UUID que l'on peut avoir par
    Quand on cherche UUID d'une partition il faut taper :
    sudo /lib/udev/vol_id -u /dev/sda4
    6C58D2E73ED40D63


    Bon on peut imprimer le fichier mes_disques-date.log, pendant ce temps on peut prendre le détail de grub.conf (surtout si on a un multiboot au démarrage) qui peut être sur /boot/grub/grub.conf ou ailleurs suivant la distribution. Si on sait pas:
    find / -type f -name grub.conf -print mon_grub.log

    et donc toujours pareil pour avoir le fichier:
    cat /boot/grub/grub.conf >> mon_grub.log

    [root@localhost atelier]# cat /boot/grub/grub.conf >> mon_grub-4juin2009.log
    [root@localhost atelier]# cat mon_grub-4juin2009.log
    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE:  You have a /boot partition.  This means that
    #          all kernel and initrd paths are relative to /boot/, eg.
    #          root (hd1,0)
    #          kernel /vmlinuz-version ro root=/dev/sdc2
    #          initrd /initrd-version.img #boot=/dev/sda default=0 timeout=5 splashimage=(hd1,0)/grub/splash.xpm.gz hiddenmenu title Fedora (2.6.27.24-170.2.68.fc10.i686)     root (hd1,0)     kernel /vmlinuz-2.6.27.24-170.2.68.fc10.i686 ro root=UUID=df4c144a-ccbb-423e-8d33-535baf398aa0 rhgb quiet "linux nomodset"     initrd /initrd-2.6.27.24-170.2.68.fc10.i686.img title Fedora (2.6.27.21-170.2.56.fc10.i686)     root (hd1,0)     kernel /vmlinuz-2.6.27.21-170.2.56.fc10.i686 ro root=UUID=df4c144a-ccbb-423e-8d33-535baf398aa0 rhgb quiet "linux nomodset"     initrd /initrd-2.6.27.21-170.2.56.fc10.i686.img title Fedora (2.6.27.19-170.2.35.fc10.i686)     root (hd1,0)     kernel /vmlinuz-2.6.27.19-170.2.35.fc10.i686 ro root=UUID=df4c144a-ccbb-423e-8d33-535baf398aa0 rhgb quiet "linux nomodset"     initrd /initrd-2.6.27.19-170.2.35.fc10.i686.img title Other     rootnoverify (hd0,0)     chainloader +1

     Maintenant pour compléter mes renseignements on fait pareil pour l'affichage avec /etc/X11/xorg.conf donc
    cat /etc/X11/xorg.conf > mon_affichage.log
    et alors pour vraiment tout savoir sauvez les données de dmesg en tapant:
    dmesg > mon_tosma.log
     
    et la vous aurai vraiment une vue de l'ensemble de votre matos, comment sont vues les périphériques, la carte mère, la RAM, les entrées/sorties, leurs noms les contrôles qui les régisses, tout quoi. C'est bon d'avoir ça. Je donne pas le mien parce que ça prend trop de place quand même.
    Voilà une bonne chose de faite. On peut déjà mieux envisager les changements.
    Maintenant on sera ce qu'on peut faire et ce que l'on ne peut pas faire.

    retour


    Mesure préventives

    La prévention ou l'anticipation de ce que vous serez amené à faire vaut mieux que tout les remèdes.
    Qu'est ce qui ce passe lors d'une migration ou d'un crash ou d'un changement de distribution ou autre?
    Vos précieuses données risques d'être détruites ou perdues ou simplement éparpillés et dures à centraliser.
    Heureusement Linux est bien conçu (structurer) justement pour pallier à ce genre d'inconvénient.
    Chaque répertoire est partitionnable, il faut en profiter.
    /home reçoit les comptes utilisateurs, pourquoi ne pas faire une partition /home/commun si possible sur un
    disque dur à part, avec un nom de groupe commun à tout les utilisateurs, de manière à ce que tous stock
    leur travail dessus. Et que si il arrive quoi que ce soit, vous pouvez le mettre en lecture seule, le copier, etc...
    Il ne fera parti de votre système que parce qu'il ce trouve dans /home mais il pourra ce démonter au moindre
    coups de grisou.
    C'est très avantageux lors d'un changement de distribution ou de disque dur, ou dans l'hypothèse d'un bug.
    Je garde toujours mes vieux disques de 12-15G il font très bien l'affaire, un comme /home et un comme
    /home/commun et si il y a de l'eau dans le gaz vos deux disque contiennent toutes vos données et votre travail.
    Le reste ça peut ce ré-installer, c'est pas grave.
    Si on a Windows (pour jouer, sur un autre gros disque, c'est souvent le cas) on peut toujours envoyer,
    ou sauver ou archiver dessus.
    Donc si possible installez les partitions /home/commun et /home sur disques différents.
    Après mettre fait avoir plusieurs fois, maintenant j'apprécie cette tranquillité de savoir mon travail à l'abri.


    Migration d'une distribution à une autre




    Migration d'un système de fichiers à un autre




    Dans le cas du ajout ou changement de disque durs




    Dans le cas d'une migration temporaire sur un autre OS




    Migration d'une publication (d'un site) à un autre ou update




    Migration d'encodage