La création d’un miroir en local va permettre dans le cadre d’un grosse infrastructure sous Linux, d’économiser la bande passante étant donné que seule une machine téléchargera les paquets qui pourront être télécharger par les machines du parc à partir de cette machine.
On met à jour la machine puis on télécharge apt-mirror ainsi que apache2.
aptitude update && aptitude upgrade -y
aptitude install apt-mirror apache2
On crée l’arborescence
mkdir -p /depot/{mirror,skel,var}
chown -R apt-mirror:apt-mirror /depot
chmod -R 755 /depot
La configuration de apt-mirror se fait dans le fichier /etc/apt/mirror.list
############# config ##################
#
# set base_path /depot
#
# 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 1
set nthreads 20
set _tilde 0
#
############# end config ##############
# Debian Stretch
deb http://deb.debian.org/debian/ stretch main contrib non-free
deb-src http://deb.debian.org/debian/ stretch main contrib non-free
deb http://security.debian.org/ stretch/updates main contrib non-free
deb-src http://security.debian.org/ stretch/updates main contrib non-free
deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://deb.debian.org/debian/ stretch-updates main contrib non-free
# Debian Jessie
deb http://ftp.fr.debian.org/debian/ jessie main
deb-src http://ftp.fr.debian.org/debian/ jessie main
deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main
deb http://ftp.fr.debian.org/debian/ jessie-updates main
deb-src http://ftp.fr.debian.org/debian/ jessie-updates main
# Suppression des paquets obsoletes
clean http://security.debian.org/
clean http://ftp.fr.debian.org/
Maintenant on va lancer le téléchargement des paquets
Attention, le téléchargement est très long car il faut télécharger tous les paquets des miroirs.
apt-mirror /etc/apt/mirror.list
Puis on va créer des liens symboliques afin de permettre aux machines clientes de récupérer les paquets.
ln -s /depot/mirror/security.debian.org/ /var/www/debian-security
ln -s /depot/mirror/ftp.fr.debian.org/debian /var/www/debian
Grace à une tache cron, on va automatiser le téléchargement des nouveaux paquets tout en journalisant le résultat.
crontab -e
0 5 * * * root /usr/bin/apt-mirror /etc/apt/mirror.list > /depot/mirror/var/cron.log
Enfin, il faut modifier le fichier /etc/apt/sources.list de la machine principale et des clients afin de récupérer les miroirs sur la nouvelle machine.
Configuration de la machine hôte.
deb http://localhost/debian stretch main contrib non-free deb-src http://localhost/debian stretch main contrib non-free deb http://localhost/debian-security stretch/updates main contrib non-free deb-src http://localhost/debian-security stretch/updates main contrib non-free deb http://localhost/debian stretch-updates main contrib non-free deb-src http://localhost/debian stretch-updates main contrib non-free
Configuration des machines clientes.
deb http://IpOuFqdn/debian stretch main contrib non-free deb-src http://IpOuFqdn/debian stretch main contrib non-free deb http://IpOuFqdn/debian-security stretch/updates main contrib non-free deb-src http://IpOuFqdn/debian-security stretch/updates main contrib non-free deb http://IpOuFqdn/debian stretch-updates main contrib non-free deb-src http://IpOuFqdn/debian stretch-updates main contrib non-free
Pensez à changer IpOuFqdn par l’Ip de la machine hôte ou son nom de domaine.
Merci à Loan Naze pour son tutoriel qui m’a permit de mettre en place cette solution.
septembre 16, 2017 at 1:22 pm
L’équivalent de WSUS sous Linux. Fonctionne parfaitement.
septembre 18, 2017 at 7:57 am
Tout à fait à la différence prêt que WSUS lance automatiquement les mises a jour sur les machines hôtes tandis que le miroir nécessite quand même de se rendre sur la machine hôte pour mettre à jour les paquets.
Merci pour ton commentaire.