Vous êtes ici

Mettre en place des repository mirroir sur Debian

Dans cet article, nous allons voir comment mettre en place différent miroir de repository debian. Ici le serveur est en Debian Wheezy, mais la manipulation reste la meme sur Jessie.

  • 1) Nous allons installer apt-mirror, c’est simple et ça fait le travail :

apt-get install apt-mirror

 

  • 2) Nous allons maintenant créer le fichier de configuration de apt-mirror, c’est la que nous allons spécifier notamment les repo que nous allons recopier :

vi /etc/apt/mirror.list

############# config ##################
#
set base_path    /mnt/storage/repo/mirror
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

deb http://ftp.us.debian.org/debian unstable main contrib non-free
deb-amd64 http://ftp.us.debian.org/debian unstable main contrib non-free
deb-src http://ftp.us.debian.org/debian unstable main contrib non-free
deb http://ftp.us.debian.org/debian wheezy main contrib non-free
deb-amd64 http://ftp.us.debian.org/debian wheezy main contrib non-free
deb-src http://ftp.us.debian.org/debian wheezy main contrib non-free
deb http://ftp.us.debian.org/debian wheezy-backports main contrib non-free
deb-amd64 http://ftp.us.debian.org/debian wheezy-backports main contrib non-free
deb-src http://ftp.us.debian.org/debian wheezy-backports main contrib non-free
deb http://ftp.us.debian.org/debian jessie main contrib non-free
deb-amd64 http://ftp.us.debian.org/debian jessie main contrib non-free
deb-src http://ftp.us.debian.org/debian jessie main contrib non-free
deb http://ftp.us.debian.org/debian jessie-backports main contrib non-free
deb-amd64 http://ftp.us.debian.org/debian jessie-backports main contrib non-free
deb-src http://ftp.us.debian.org/debian jessie-backports main contrib non-free

deb http://repo.percona.com/apt jessie testing
deb-amd64 http://repo.percona.com/apt jessie testing
deb-src http://repo.percona.com/apt jessie testing
deb http://repo.percona.com/apt wheezy testing
deb-amd64 http://repo.percona.com/apt wheezy testing
deb-src http://repo.percona.com/apt wheezy testing

deb http://http.kali.org/kali kali-current main non-free contrib
deb-amd64 http://http.kali.org/kali kali-current main non-free contrib
deb-src http://http.kali.org/kali kali-current main non-free contrib
deb http://security.kali.org/kali-security kali-current/updates main contrib non-free
deb-amd64 http://security.kali.org/kali-security kali-current/updates main contrib non-free
clean http://repo.percona.com/apt
clean http://ftp.us.debian.org/debian
clean http://http.kali.org/kali
clean http://security.kali.org/kali-security

Petites explications :
deb : me permet de récupérer les paquets en i386 car mon système est en 32bits
deb-src : me permet de récupérer les sources
deb-amd64 : me permet de récupérer les paquets 64 bits

 

  • 3) Nous créons le repertoire dans lequel nous allons stocker nos repo, nous l’avons spécifié dans la configuration ci dessus dans la variable : set base_path

mkdir /mnt/storage/repo/mirror

 

  • 4) Nous pouvons maintenant executer apt-mirror en lui spécifiant notre fichier de configuration :

apt-mirror /etc/apt/mirror.list

 

  • 5) Nous allons maintenant créer le repertoire de notre serveur web qui va nous permettre d’exposer notre repo en http :

mkdir /var/www/mirror/

 

  • 6) Maintenant nous créons des liens symboliques dans notre répertoire web qui pointe vers nos différents repo :

ln -s debian /mnt/storage/repo/mirror/mirror/ftp.us.debian.org/debian/

 

  • 7) Il nous faut maintenant mettre en place notre configuration apache :

vi /etc/apache2/sites-enabled/099-mirror.conf

<VirtualHost *:80>
DocumentRoot /var/www/mirror
ServerName mirror-web2.le-gas.fr

ErrorLog ${APACHE_LOG_DIR}/error_mirror.legas.log
CustomLog ${APACHE_LOG_DIR}/access_mirror.legas.log combined

<Directory /var/www/mirror/>
    Options +Indexes +SymlinksIfOwnerMatch
    IndexOptions NameWidth=* +SuppressDescription
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

</VirtualHost>
 

  • 8) Attention, pour que le repertoire soit browsable, il faut que le mod autoindex d’apache soit activé :

a2enmod autoindex

 

  • 9) il n’y a plus que relancer apache, et maintenant notre repo miroir est accessible : mirror.le-gas.fr

/etc/init.d/apache2 restart

 

  • 10) Il n’y a plus qu’à planifier une mise à jour de notre repo régulièrement à l’aide de cron, ici je lance la mise à jour tous les jours à 2 heures du matin :

crontab -e
>>>  0 2 * * * /usr/bin/apt-mirror /etc/apt/mirror.list

Et voila, nous avons donc dans cet exemple créé plusieurs mirroir de repo, notament, Kalilinux, percona et debian dans plusieurs versions et plusieurs architectures.

Tags: 

www.le-gas.fr : Le guide de l'admin Systeme