Accueil > Linux > Clonez votre Linux !!!

Clonez votre Linux !!!


Quand on a passé plusieurs heures (jours) à paramétrer un système, on est plutôt retissant à le modifier, l’uprader…
Surtout quand le système en question est un home media center en service dans le foyer est que l’humeur de la famille dépends de sa disponibilité. Aussi, j’ai toujours pris l’habitude de partitionner afin de pouvoir dumper le root file system dans une partition vide et d’expérimenter des modifs.
Voila le schéma de partitionnement choisi pour ma station freevo:
Name Flags Part Type FS Type [Label] Size (MB)
————————————————————————–
sda1   Boot   Primary   Linux   ext3 [rootfs]   5996,23
sda2   Primary   Linux   ext3   5996,23
sda3   Primary   Linux swap / Solaris   1003,49
sda5   Logical    Linux XFS      20003,89
sda6  Logical     Linux  XFS     967202,45
Le rootfs actuel est sur sda1 comme le label de la partition l’indique. On commence par créer un répertoire de montage /mnt/sda2 pour accueillir le nouveau systeme de fichier
# mkdir /mnt/sda2.
On formate en ext3:
#mke2fs -j /dev/sda2
Puis, on le monte
#mount /dev/sda2 /mnt/sda2.
On va ensuite copier le contenu de sda1 vers sda2 en excluant les reps suivants :
/mnt
/proc
/tmp

/mnt est exclu pour éviter tout problème de redondance circulaire (rappelez vous, dev/sda2 est monté sur /mnt/sda2). De plus, /mnt contient chez moi les points de montages des données multimédia soit (900 G0 environ ) vaut mieux éviter de tout copier…
/proc quand à lui est un pseudo système de fichier. Il sera peuplé par le kernel lorsque le système sera fonctionnel sur sda2.
Enfin, les données écrites dans /tmp sont volatiles au reboot donc inutile de copier.
On consigne ces trois répertoires dans un fichier exclude_file:
#cat >>exclude_file
/tmp
/mnt
/proc
^D

puis on utilise rsync pour copier la racine vers sda2.
Pourquoi utiliser rsync plutôt que tar ? en effet on pourrait faire un
#(cd / ;tar -cf – * –exclude-from exclude_file) | (cd /mnt/sda2 ;tar -xpf -)
Rsync lui présentera l’intérêt de refaire des mises à jour sans tout avoir à recopier si d’ aventure on réitère l’opération de clonage dans le futur.
Bon c’est parti:
Si rsync est pas installé, on l’installe:
#apt-get isntall rsync
puis on copie:
#rsync -av –exclude-from exclude_file /. /mnt/sda2
Bon pour 5G0 c’est rapide.
A l’issue, /mnt/sda2 contient donc une copie de / à condition de recréer /tmp ,/mnt et /proc avec les bons droits:
#mkdir /mnt/sda2/tmp  /mnt/sda2/mnt  /mnt/sda2/proc && chmod 777 /mnt/sda2/tmp && chmod 555 /mnt/sda2/proc
Bon il faut à présent modifier /mnt/sda2/etc/fstab afin de le faire pointer sur le bon rootfs.
On identifie l’UUID de /dev/sda2 en scrutant /dev/disk/by-uuid
#ls -l /dev/disk/by-uuid/ | grep sda2
lrwxrwxrwx 1 root root 10 sept. 13 18:31
e951a0ae-d043-42b5-8b56-f99f7753e50f -> ../../sda2
Puis, dans /mnt/sda2/etc/fstab on remplace la ligne

UUID=c6395dd7-9478-4f4c-8157-4dae7a595cd6 / ext3 errors=remount-ro 0 1

par
UUID=e951a0ae-d043-42b5-8b56-f99f7753e50f / ext3 errors=remount-ro 0 1
Enfin, il faut modifier grub pour booter sur sda2. Squeeze utilse grub2. normalement faudrait faire propre en ajoutant un script à /etc/grub.d/40_custom mais bon, là je le fais rapide car grub2 j’ai pas encore trop bossé dessus (TODO s’intéresser à GRUB2) puis aussi j’aime bien faire des trucs à la gruik.
On donne les droits en écriture pour le fichier /boot/grub/grub.cfg
#chmod +w /boot/grub/grub.cfg
et on ajoute à la fin de celui-ci
menuentry « Debian test on sda2 » –class debian –class gnu-linux –class gnu –class
os {
insmod ext2
set root='(hd0,2)’
search –no-floppy –fs-uuid –set
e951a0ae-d043-42b5-8b56-f99f7753e50f
echo Loading Linux 2.6.32-3-686 …
linux /boot/vmlinuz-2.6.32-3-686 root=UUID=e951a0ae-d043-42b5-8b56-f99f7753e50f
ro
echo Loading initial ramdisk …
initrd /boot/initrd.img-2.6.32-3-686
}

### END /etc/grub.d/10_linux ###
On reboote en choisissant l’entrée précédente proposée par le menu de grub. Voila vous êtes sous sda2. A vous les bidouilles inavouables bande de gros porcs que vous êtes  :)

Catégories :Linux Étiquettes : ,
  1. Aucun commentaire pour l’instant.
  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :