[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