Pratique: Rsync pour dupliquer
Lors d'une première installation de 15 postes dans un centre de formation en Debian. On avait remarqué que des postes n'était pas, disons, 'clean' dans le sens ou tous les postes devaient avoir une configuration identique.
Pour cela deux méthodes étaient possibles pour unifier les postes:
1. Soit utiliser la méthode de duplication de disque dur
Cette méthode consiste à dupliquer l'intégralité du disque dur modèle vers
un autre.
Pour ceux qui viennent du monde Windows cela pourrait
être comparé à un Ghost de dique dur à disque dur.
Voir la man de la commande dd
Point fort :
- facile à mettre en oeuvre surtout pour des postes n'ayant aucun système d'exploitation.
Point faible :
- env. 40 min. par poste.
- Il faut démonter et remonter les machines.
2. Soit de mettre en place le système Rsync
C'est par cette méthode qui serait plus facile à utiliser à long terme pour effectuer le 'nettoyage' des postes après chaque utilisation des locaux.
Point fort :
- facile à mettre en oeuvre quand on connaît;
- env. 16 minutes par poste à la première réplication;
- env. 15 secondes aux suivantes.
Point faible :
- Doit avoir déjà un système d'exploitation déjà installé sur les machines (mais ça peut être un système LIVE, sur CD par exemple).
Aspects techniques
- PIII - 55O mhz / 256 Ram-DD de 5Go
- Distribution Sarge, noyau 2.6.7
- 3 partitions : / , /swap, /home
Sources
- /usr/share/doc/rsync/README
- man rsync
- rsync
- Et toujours Fred dans les parages ^_^
Méthode
apt-get install rsync
Downloader le fichier de configuration déjà préparé par les bons soins de Jérôme Warnier.
ftp://mail.mm.be/outgoing/bxlug/replicator/rsyncd.conf
Sur le poste qui sert de modèle, modifier dans /etc/rsyncd.conf la plage d'adresse IP pour qu'elle corresponde à celle de votre réseau, dans notre cas, une classe C:
host_allow= 192.168.3.0/255.255.255.0
Ensuite /etc/default/rsync, modifier la ligne suivante:
RSYNC_ENABLE=TRUE
Sur un des postes qui doit être "dupliqué", on doit au préalable copier les fichiers qui sont au nombre de 5:
ex ex-home ex-usr ex-var repli
Les fichiers de configuration
le fichier ex
- /etc/my - /etc/network/interfaces - /etc/.rootkey - /etc/adjtime - /etc/isapnp.conf - /etc/minirc* - /etc/gpm.conf - /etc/fstab - /etc/lilo.conf - /etc/hostname - /etc/hosts - /etc/aboot.conf - /etc/exports - /etc/fmirror - /etc/squid.conf - /etc/chatscripts/* - /etc/init.d/network - /etc/ppp/* - /etc/ssh/ssh_host_*key* - /etc/ssh/ssh_random_seed - /etc/rmtab - /etc/mtab - /etc/X11/XF86Config* - /etc/X11/Xserver - /etc/ioctl.save - /etc/mon/ - /etc/ssh2/hostkey - *.cfsaved - *.dpkg-old - /tmp/* - /var - /usr - /bigpart - /*old* - /cdrom/* - /local - /localhd - /fatboot - /home* - /proc/* - /tchich - /ramdisk/ - /linuxppc/ - /oldexports/ - /amd/ - /tftpboot/ - /*mnt*/* - /floppy/* - /export*/ - /exports/* - /opt* - /net* - /vol* - /ufs* - /lost+found/ - /etc/replicator/repli-sync.conf - /dev - /root
le fichier ex-home
# vide, rien de spécifique
le fichier ex-usr
# vide, rien de spécifique
le fichier ex-var
- tmp/
le fichier repli
#! /bin/sh
# Mettre l'adresse du poste modèle
MODEL=192.168.3.170
EX_DIR=/usr/local/configrsync/
rsync --archive --hard-links --sparse --whole-file --delete -v \
--one-file-system --exclude-from=$EX_DIR/ex $MODEL:/ /
rsync --archive --hard-links --sparse --whole-file --delete -v \
--one-file-system --exclude-from=$EX_DIR/ex-usr $MODEL:/usr/ /usr/
rsync --archive --hard-links --sparse --whole-file --delete -v \
--one-file-system --exclude-from=$EX_DIR/ex-var $MODEL:/var/ /var/
rsync --archive --hard-links --sparse --whole-file --delete -v \
--one-file-system --exclude-from=$EX_DIR/ex-home $MODEL:/home/ /home/
Veillez quand même à ce que Rsync et SSH soient également installés sur les postes à répliquer :)
apt-get install rsync apt-get install ssh
Par exemple, sur le poste X avec l'adresse IP 192.168.3.171
scp -r 192.168.3.170:/usr/local/configrsync /usr/local/
Et enfin, roulement de tambours, sur le poste X, lancer le script ./repli dans le répertoire /usr/local/configrsync
Et top chrono !!!
Ash