[gull] Re : Clone

Daniel Cordey dc at mjt.ch
Fri Apr 25 18:16:37 CEST 2008


On Monday 07 April 2008, Erik Rossen wrote:

> In that case, start with "man debconf-copydb" and "dpkg
> --get-selections" and "dpkg --set-selections".
>
> Note that in the old days cloning the debconf database would not have
> been sufficient since a lot of packages did not use debconf to do their
> preconfiguration.  But I believe that debconf is compulsary nowadays.
>
> And please post a HOWTO when you find your answers. :-)

Voilaaa :-)

Je precise l'objectif que j'ai poursuivi. Soit : Que tous les packages 
installes sur une machine, puissent etre dupliques sur une autre. L'objectif 
n'etant pas d'assure de disposer des memes versions sur les deux machine ! De 
plus, j'aimerais bien que la "configuration" des packages se fasse de maniere 
propre et standard. Le transfert des utilisateurs et autres peut se faire de 
maniere separee et tres simplement avec un tar (preservations des attributs 
des fichiers !!!).

Donc, voici ce que j'ai effectue :

J'ai suivi la recommandation d'Erik et j'ai utilise debconf-copydb. Apres 
avoir lu le manuel et ce lien :

http://www.mjc-athena.org/mediawiki/index.php/Synchronisation_Machines

J'ai execute la sequence de commandes suivante :

sudo debconf-copydb configdb pipe --config=Name:pipe \
                --config=Driver:Pipe --config=InFd:none | \
        ssh remotehost sudo debconf-copydb pipe configdb \
                --config=Name:pipe --config=Driver:Pipe

Ensuite, je transfert la liste des packages (avec leur etat) :

Sur la machine source :

dpkg --get-selections > source

Transfere le fichier 'source' sur la machine cible (petit fichier),
puis effectue :

dpkg --set-selections < source

Sur la machine cible. Ainsi, j'ai la liste des packages ainsi que les 
information pour debconf. Ce qui permet a 'deselect' de faire son travail 
proprement.

Puis, sur la machine cible :

deselect -> Install

J'ai du me battre un peu avec /etc/sudoers sur *ubuntu car repondre a deux 
demandes de mots de passe en meme temps ne fonctionne pas vraiment...

Il est ensuite facile de faire un :

sudo tar -cf - /home /etc/network /etc/... | ssh remotehost sudo tar -xvf -

Remarquez que l'utilisation de 'rsync', comme suggere par Anne, me parait 
peut-etre encore plus simple  et efficace...

dc



More information about the gull mailing list