But de l’article
Comme vous avez pu le constater sur ce site, j’utilise intensivement la distribution Centos sur mes serveurs.
J’ai donc besoin d’un miroir local de cette distribution qui me permettra alors d’installer via ftp ou de mettre à jour mes serveurs plus rapidement que si je devais me mettre à jour depuis internet directement.
Pour répondre à ce besoin, je vais installer un serveur ftp sur mon serbeur de stockage et lancer un script de synchronisation rsync.
Installation
Tout d’abord, j’installe et j’active le serveur ftp avec les commandes suivante :
yum -y install vsftpd
chkconfig vsftpd on
service vsftpd start
On teste le service ftp depuis la ligne commande ou avec un client ftp classique.
[root@centos ~]# ftp localhost
Connected to centos.castres-wireless.org.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127,0,0,1,196,132)
150 Here comes the directory listing.
drwxrwxr-x 2 501 501 4096 Dec 15 09:10 pub
226 Directory send OK.
ftp> bye
221 Goodbye.
[root@centos ~]#
Bien, le serveur fonctionne.
Création du dépot ftp
L’arborescence par défaut du serveur ftp se trouve dans /var/ftp.
Je vais créer un sous dossier centos dans cette arborescence.
mkdir /var/ftp/centos
Il ne reste qu’à peupler ce dépot ftp avec la commande suivante :
rsync -avzH --delete eu-msync.centos.org::CentOS /var/ftp/centos/
Ici, j’utilise l’option « bavard » de rsync, dans le script cron, il vaut mieux utiliser l’option « quiet ».
Attention, cette commande fait une copie du dépot centos complet !!!
C’est à dire de la version 2 à la 5, avec toutes ses sous-versions , correctifs et images isos.
Pour ma part, je n’utilise que la version 4.5 et 5.1, je vais donc créer un script ne prenant que ces versions.
#! /bin/bash
# Arborescence complete
# rsync -aqzH --delete eu-msync.centos.org::CentOS /var/ftp/centos/
# Arborescence 4.5
rsync -aqzH --delete eu-msync.centos.org::CentOS/4.5 /var/ftp/centos/
# Arborescence 5.1
rsync -aqzH --delete eu-msync.centos.org::CentOS/5.1 /var/ftp/centos/
Ce script est alors copié dans /etc/cron.daily, ce qui active ce script toutes les nuits.
Attention, on peut limiter la bande passante utilisée par rsync dans le cas ou le trafic réseau soit trop important ( au moins lors de la première synchro ).
Mise en uvre
Ce dépot vous permettra maintenant d’installer vos os depuis le réseau avec l’image boot.iso que vous graverez pour lancer l’installation réseau de vos nouveaux serveurs.
Il faut également modifier la baseurl du fichier /etc/yum.repos.d/CentOS-Base.repo comme suit :
baseurl=ftp://ip.de.votre.serveur/centos/$releasever/os/$basearch/