Pour installer rapidement des machines, disposer d'un mirroir local est un plus. Il existe déjà un billet pour la mise en place d'un mirroir Debian cliquer ici. Le principe est identique ici mais avec CentOS.
Le script présenté utilise un mirroir public ( celui de ovh dans l'exemple ) dont la liste est disponible ici et le protocole rsync.
L'avantage de rsync est de travailler en différentiel. La première syncho est longue mais les suivantes très rapides. Il est facile de programmer ce script dans un cron journalier et ainsi avoir un mirroir à jour.
Les versions sont 5 et 6 en 32 et 64 bits. Le script ne ramène que les dernières versions des branches 5 et 6 ( 5.8 pour 5 et 6.2 pour 6 lors de la rédaction de ce billet ).
#!/bin/sh rsync="/usr/bin/rsync -avHz --delete --stats --bwlimit=4000" mirror=rsync://mirror.ovh.net/ftp.centos.org verlist="5 6" archlist="i386 x86_64" baselist="os updates centosplus extras" local=/home/mirror_centos for ver in $verlist do for arch in $archlist do for base in $baselist do remote=$mirror/$ver/$base/$arch/ echo ------------------ echo $ver/$base/$arch echo ------------------ echo "$rsync $remote $local/$ver/$base/$arch/" if [ ! -e $local/$ver/$base/$arch ]; then echo "Répertoire inexistant -> création de : $local/$ver/$base/$arch" mkdir -p "$local/$ver/$base/$arch" fi $rsync $remote $local/$ver/$base/$arch/ done done done
La clause bwlimit de rsync permet de ne pas consommer toute la bande passante de la liaison, 4Mo ici. Sur une ADSL 8Mo le temps total de la première synchonisation fut de 8 heures.