g4u ou le clonage facile
Par JJL, jeudi 24 novembre 2005 à 23:49 :: kubuntu :: #38 :: rss
Dans l'école de ma dulcinée, il y a un tas de PC identiques qui leur ont été donnés sans OS. Du coup ils restent inutilisés. Hum, voici un bon moyen de faire entrer un manchot à l'école !
Une fois le premier installé (debian sarge car Xubuntu n'existait pas encore quand j'ai fait mon choix), le mieux est d'en faire une copie et de la dupliquer sur les autres. (on appelle ca un master, ou une procedure de clonage)
Après quelques recherches, mon choix est fait, ce sera à l'aide de g4u, comprenez Ghost For Unix. Ses avantages sont :
Il ne vous reste plus qu'à booter sur la première et à inserer la deuxième quand on vous le demande.
Vous avez alors un superbe écran d'aide qui vous donne toutes les commandes utiles !
Si comme moi vous n'avez pas de serveur DHCP, configurez l'adresse ip :
Enfin lancez votre sauvegarde du disque complet :
Il nous reste quelques tâches à executer. En effet maintenant vous avez deux machines parfaitement identiques, il faut les differentier un petit peu. Premièrement, le hostname. Pour cela éditez les fichiers /etc/hostname et /etc/hosts. Vous pouvez aussi le changer en live avec la commande :
Vous pouvez aussi tenter la méthode CowBoy :
Dans le cas d'une ip statique (ie: sans serveur DHCP) vous devez éditer le fichier /etc/network/interface et remplacer l'adresse ip dans la ligne address. Pour prendre la modification en compte tapez :
Et voila, il ne reste plus qu'a répéter la dernière étape pour chaque PC
Après quelques recherches, mon choix est fait, ce sera à l'aide de g4u, comprenez Ghost For Unix. Ses avantages sont :
- Loge sur deux disquettes (bah oui y'a pas de lecteur CD sur ces vieux coucous)
- Copie "brute" du disque
- Nécessite seulement un serveur ftp accessible
- Fonctionne pour tous les systèmes de fichiers
- Une documentation très claire et complète
- Et bien sur, open source
(NetBSD powered)
Etape 1 : installer un serveur ftp
La aussi, j'en veux un simple et léger que je ne lancerai qu'à la demande, allons y pour le simple ftpd (sur un serveur dans le reseau) :apt-get install ftpd
Pour la config, c'est aussi très simple :
- créer un utilisateur install
- l'ajouter dans /etc/ftpchroot
sudo /usr/sbin/in.ftpd -l -l -D
-l 2 fois pour logguer les commandes (mode: je veux tout savoir) et -D pour en faire un démon.Etape 2 : préparer le disque
Pour limiter la taille de l'image créée, il est bon de "nettoyer" l'espace libre. En effet g4u fait une image complète du disque sans se soucier de la présence de données. Donc pour faciliter la compression, nous allons remplir l'espace libre de "vide" :[en tant que root sur la source]
dd if=/dev/zero of=/0bits bs=20971520
rm /0bits
Pour plus d'infos, allez voir la FAQ
Vérifiez aussi que vous avez assez de place dans /home/install sur le serveurEtape 3 : booter g4u et sauvegarder
Premièrement il faut télécharger les deux images de g4u (notez qu'il existe aussi un cd) puis les copier sur deux disquettes.sudo cat g4u-2.1-1.fs > /dev/fd0
sudo cat g4u-2.1-2.fs > /dev/fd0
Note: je suis demandeur d'une commande permettant de verifier la copie autrement qu'en bootant dessus 
Si comme moi vous n'avez pas de serveur DHCP, configurez l'adresse ip :
ifconfig -a
[regardez le nom de votre interface]
ifconfig ex0 192.168.0.2 netmask 255.255.255.0
ex0 votre interface réseau, 192.168.0.2 l'adresse ip de la source.
Attention le clavier est en qwerty.
Toujours se référer à la documentation pour plus de détails
Enfin lancez votre sauvegarde du disque complet :
uploaddisk 192.168.0.10 debian-ecole.gz
avec 192.168.0.10 l'ip de votre serveur ftp et debian-ecole.gz le nom de l'image qui sera créé.
Vous entrez alors le mot de passe de l'utilisateur install et c'est parti pour un moment !
A titre d'info, dans mon cas j'ai obtenu ces données :
Source : PII 350MHz, 32Mo de RAM, 770Mo de données sur un disque de 4Go
Le transfert à duré ~1h et l'image résultante fait 323MoEtape 4 : Restaurer et configurer
Pour restaurer l'image, c'est tout aussi simple. Commencez par booter et configurer le reseau comme précédement. Puis la commande magique est :slurpdisk 192.168.0.10 debian-ecole.gz
Cette étape est plus rapide, avec la même configuration que ci-dessus, cela m'a pris ~20 minutes.
Une fois ceci fait, vous pouvez retirer la disquette et rebooter votre belle machine clonée.
Il nous reste quelques tâches à executer. En effet maintenant vous avez deux machines parfaitement identiques, il faut les differentier un petit peu. Premièrement, le hostname. Pour cela éditez les fichiers /etc/hostname et /etc/hosts. Vous pouvez aussi le changer en live avec la commande :
[en tant que root]
hostname nouveauNom
Malheureusement, cela ne suffit généralement pas, le nom peux aussi être stocké dans la configuration de différentes applications. Pour en trouver toutes les occurences, tapez :
rgrep -i ancienNom /etc
et remplacez les toutes par le nouveau (attention à la syntaxe).Vous pouvez aussi tenter la méthode CowBoy :
sed -i 's/ancienNom/nouveauNom/g' `rgrep -l ancienNom /etc|xargs`
qui devrait tout remplacer sans faire de backup...à vos risques et périls 
Dans le cas d'une ip statique (ie: sans serveur DHCP) vous devez éditer le fichier /etc/network/interface et remplacer l'adresse ip dans la ligne address. Pour prendre la modification en compte tapez :
/etc/init.d/networking restart
(Attention, si vous êtes connecté via le réseau, vous allez bien entendu vous faire déconnecter)
Et voila, il ne reste plus qu'a répéter la dernière étape pour chaque PC

Commentaires
1. Le vendredi 25 novembre 2005 à 19:05, par reda_ea
2. Le vendredi 25 novembre 2005 à 23:16, par JJL
3. Le jeudi 11 mai 2006 à 17:30, par JMarc
4. Le lundi 8 septembre 2008 à 14:36, par hiramash
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.