Maintenir un miroir Debian/Ubuntu
Avantages
- Installer un miroir Debian sur son réseau local rend plus rapide l'installation et la mise à jour de paquets sur ses machines.
- En effectuant les mises à jour des miroirs la nuit, cette méthode permet de libérer la bande passante le jour.
Contraintes
Il faut avoir une connection Internet correcte (256kbps minimum), stable, du courant la nuit et un disque dur d'au moins 60Go :
- 14 Go pour [:Debian:] Etch i386 (double si vous avez aussi amd64)
- XX Mo pour Debian "security" Etch i386
- 16 Go pour [:Ubuntu:] Feisty i386 (amd64 non conseillée, trop de soucis avec les codecs et les plug-ins non libres)
- 1 Go pour Ubuntu security Feisty i386
- ... qui sait combien cela donne pour Gutsy i386 ?
Attention : sur une bande passante moyenne, commencer un miroir à partir de rien n'est absolument pas raisonnable. Il faut commencer avec une archive de base qui sera soit un miroir assez récent obtenu chez un collègue (sur un disque dur USB2 par exemple), soit un ensemble de cédéroms ou dévédéroms (opération assez complexe, voir en bas de la page).
L'outil : debmirror
Installer le logiciel prévu pour faire des miroirs : # aptitude install debmirror
- Ecrire un ou des scripts de mise à jour des miroirs (par exemple dans /usr/local/bin/miroirs-debian) : voir des exemples ci-dessous
- Tester votre/vos script(s) en les lançant à la main
- Si tout va bien, le placer en cron avec par exemple : {{{# fichier /etc/cron.d/miroir-debian-ubuntu
# Lancement toutes les nuits à 2h du matin, par l'utilisateur "miroir" créée spécifiquement 0 2 * * * miroir /usr/local/bin/miroirs-debian # 3 heures ensuite, on lance le miroir d'Ubuntu 0 5 * * * miroir /usr/local/bin/miroirs-ubuntu }}}
Scripts pour Debian et Ubuntu
Un script pour faire ou mettre à jour un miroir Debian :
- {{{#!/bin/sh
# Repertoire cible et site source (prendre le plus proche au sens réseau Internet) LOCALDEST=/srv/www/miroirs/debian SERVSOURCE=ftp.fr.debian.org
# Choisir les options pour la création du miroir : # man debmirror # et/ou # debmirror --help
debmirror $LOCALDEST --host=$SERVSOURCE \
- --arch=i386 --nosource --method=rsync \ --root=:debian --dist=etch \
# --debug --progress # décommenter pour déboguer
debmirror $LOCALDEST-security --host=security.debian.org \
- --arch=i386 --nosource --method=rsync \ --root=:debian-security --dist=etch/updates \
# --debug --progress # décommenter pour déboguer
exit 0 }}}
Pour Ubuntu Feisty (actuel) et Gutsy (à prévoir pour décembre 2007) :
- {{{#!/bin/bash
# Repertoire cible et site source (prendre le plus proche au sens réseau Internet) LOCALDEST=/srv/www/miroirs/ubuntu SERVSOURCE=fr.archive.ubuntu.com
# Choisir les options pour la création du miroir : # lire "man debmirror" et/ou "debmirror --help"
/usr/bin/debmirror $LOCALDEST --host=$SERVSOURCE \
- --arch=i386 --root=:ubuntu --nosource \ --ignore-release-gpg --timeout=3600 --method=rsync \ --dist=feisty,feisty-updates,feisty-backports,gutsy,gutsy-updates,gutsy-backports \ --section=main,restricted,multiverse,universe \
# --debug --progress # décommenter pour déboguer
/usr/bin/debmirror $LOCALDEST-security --host=security.ubuntu.com \
- --arch=i386 --root=:ubuntu --nosource \ --ignore-release-gpg --timeout=3600 --method=rsync \ --dist=feisty-security,gutsy-security \ --section=main,restricted,multiverse,universe \
# --debug --progress # décommenter pour déboguer
exit 0 }}}
Débuter un miroir à partir des cédéroms
En cours de migration de : http://tech.auf/wiki/MiroirDebian
Pour aller plus loin : http://tech.auf/wiki/BAP:Miroirs