Même si nous apprécions tout nouveau miroir, chaque responsable potentiel de miroir doit s'assurer qu'il peut répondre aux questions suivantes avant de commencer à mettre en place son propre miroir :
proxy cache).
La page principale des miroirs liste les archives qu'il est possible de dupliquer.
Veuillez voir la page des tailles des miroirs pour des informations plus précises sur les tailles des miroirs.
L'archive debian-security/ contient les mises à jour de sécurité éditées par l'équipe de sécurité de Debian. Elle semble intéressante pour tout le monde, mais comme les mises à jour de sécurité sont sporadiques, il faudrait synchroniser le miroir très souvent pour être à jour (ou utiliser un miroir push) aussi nous ne recommandons pas de la dupliquer. Au lieu de cela, Debian fait tous les efforts possibles pour conserver la haute disponibilité de security.debian.org.
N.B. : l'archive debian-non-US est obsolète depuis la sortie de Debian 3.1 (Sarge) en juin 2006.
Beaucoup de gens pensent que ftp.debian.org est
l'emplacement canonique des paquets Debian et que faire un miroir de
ce site est ce qu'il y a de mieux. Ce n'est pas vrai.
ftp.debian.org est seulement l'un des serveurs mis à jour à
partir d'un serveur Debian interne. Cette adresse pointe actuellement vers un
unique serveur hébergé aux États-Unis, et existe encore principalement pour des
raisons de compatibilité ascendante.
Les miroirs officiels sont censés être de bonnes
sources. Tout serveur parmi ceux qui se trouvent dans la liste complète des miroirs portant la marque
Type: Push-Primary
ou Type:
Push-Secondary
est un bon candidat pour la source d'un miroir.
Merci d'utiliser un miroir qui soit proche de vous, au sens de la
proximité réseau.
Il n'y a pas de différences significatives entre différents miroirs
serveurs Push-Primary comme origine du miroir. De plus, si
beaucoup de gens utilisent ftp.debian.org (et
malheureusement c'est le cas), cela gaspille inutilement la bande
passante que l'on nous donne.
Les administrateurs de miroirs situés aux États-Unis devraient mettre à jour
leur miroir depuis ftp.us.debian.org (le miroir officiel pour les États-Unis,
qui est un miroir Push-Primary
). Or comme cette adresse est un alias
pour plusieurs serveurs, il est recommandé de déterminer lequel vous convient
le mieux et de mettre à jour le miroir depuis l'un d'entre eux.
Cela a pour avantage d'éviter les ennuis lors du rsync en deux étapes
(puisque les différentes étapes risquent d'être effectuées sur des serveurs
différents, et tomber à des instants où les données sont différentes,
provoquant une problème de concurrence).
La méthode recommandée pour faire tourner un miroir est d'utiliser le script ftpsync, disponible de deux manières :
Le protocole recommandé est rsync.
Merci de ne pas utiliser wget ou d'autres outils FTP. Ils semblent fonctionner correctement, mais posent beaucoup de problèmes : ils ne détectent pas les liens réels « hard », il est difficile d'effectuer des répliques partielles de l'archive, etc.
Nous recommandons l'utilisation de ftpsync pour faire un miroir de l'archive. Suivez les indications se trouvant dans le fichier README pour mettre en place le miroir.
Si vous devez utiliser vos propres scripts, ceux-ci doivent intégrer les fonctionnalités indispensables ci-dessous :
la synchronisation DOIT se faire en deux étapes
La mise à jour de l'archive doit être effectuée en deux étapes. Lors du premier passage de rsync, les fichiers d'index doivent être ignorés, en utilisant la liste d'exclusion suivante :
--exclude Packages* --exclude Sources* --exclude Release* --exclude ls-lR*La première étape ne doit pas supprimer un seul fichier.
La seconde étape doit ensuite effectuer le transfert des fichiers exclus ci-dessus et supprimer les fichiers qui n'appartiennent plus à l'archive.
Explication : lorsque la mise à jour de l'archive est faite en une seule étape, les fichiers d'index référencent des fichiers qui n'ont pas encore été récupérés.
un script en cours ne DOIT pas ignorer les signaux de déclenchement (dans le cas de miroir par repoussage).
Si un signal est reçu alors qu'une mise à jour du miroir est en cours, celui-ci ne DOIT PAS être ignoré. La mise à jour complète du miroir doit alors être effectuée à nouveau.
Explication : si un second signal est reçu alors qu'une première mise à jour est en cours, la plupart des scripts pour miroirs Debian laissent le miroir dans un état incohérent. Dans un futur proche, la fréquence de mise à jour de l'archive augmentera probablement.
project/trace/ du miroir Debian ayant le nom de votre
serveur. Cela signifie lancer date -u >
.../debian/project/trace/votre.serveur
une fois que votre rsync journalier est terminé.Considérant la taille déjà importante de l'archive Debian, certaines personnes préfèrent ne faire un miroir que des quelques parties dont ils ont besoin. Si vous voulez en exclure une partie, vous devriez exclure les architectures.
Avec le script recommandé ftpsync, cela peut se faire en modifiant la variable ARCH_EXCLUDE.
Nous déconseillons vivement d'exclure les sous-répertoires project/, doc/ et autres. Ils sont généralement négligeables en terme de taille et cependant utiles aux utilisateurs. En particulier project/trace aide beaucoup en cas de problème de miroir.
Il est possible d'utiliser d'autres scripts spécialement écrits, mais ils
sont généralement inutiles et déconseillés pour les miroirs officiels.
Par exemple, cet ensemble d'options rsync excluerait toutes les
architectures :
--exclude binary-alpha/ --exclude *_alpha.deb --exclude *_alpha.udeb --exclude installer-alpha/ --exclude Contents-alpha*
--exclude binary-amd64/ --exclude *_amd64.deb --exclude *_amd64.udeb --exclude installer-amd64/ --exclude Contents-amd64*
--exclude binary-arm/ --exclude *_arm.deb --exclude *_arm.udeb --exclude installer-arm/ --exclude Contents-arm*
--exclude binary-armel/ --exclude *_armel.deb --exclude *_armel.udeb --exclude installer-armel/ --exclude Contents-armel*
--exclude binary-hppa/ --exclude *_hppa.deb --exclude *_hppa.udeb --exclude installer-hppa/ --exclude Contents-hppa*
--exclude binary-hurd-i386/ --exclude *_hurd-i386.deb --exclude *_hurd-i386.udeb --exclude installer-hurd-i386/ --exclude Contents-hurd-i386*
--exclude binary-i386/ --exclude *_i386.deb --exclude *_i386.udeb --exclude installer-i386/ --exclude Contents-i386*
--exclude binary-ia64/ --exclude *_ia64.deb --exclude *_ia64.udeb --exclude installer-ia64/ --exclude Contents-ia64*
--exclude binary-kfreebsd-amd64/ --exclude *_kfreebsd-amd64.deb --exclude *_kfreebsd-amd64.udeb --exclude installer-kfreebsd-amd64/ --exclude Contents-kfreebsd-amd64*
--exclude binary-kfreebsd-i386/ --exclude *_kfreebsd-i386.deb --exclude *_kfreebsd-i386.udeb --exclude installer-kfreebsd-i386/ --exclude Contents-kfreebsd-i386*
--exclude binary-m68k/ --exclude *_m68k.deb --exclude *_m68k.udeb --exclude installer-m68k/ --exclude Contents-m68k*
--exclude binary-mips/ --exclude *_mips.deb --exclude *_mips.udeb --exclude installer-mips/ --exclude Contents-mips*
--exclude binary-mipsel/ --exclude *_mipsel.deb --exclude *_mipsel.udeb --exclude installer-mipsel/ --exclude Contents-mipsel*
--exclude binary-powerpc/ --exclude *_powerpc.deb --exclude *_powerpc.udeb --exclude installer-powerpc/ --exclude Contents-powerpc*
--exclude binary-s390/ --exclude *_s390.deb --exclude *_s390.udeb --exclude installer-s390/ --exclude Contents-s390*
--exclude binary-sparc/ --exclude *_sparc.deb --exclude *_sparc.udeb --exclude installer-sparc/ --exclude Contents-sparc*
L'archive principale est mise à jour quatre fois par jour.
En général les miroirs commencent à se mettre à jour à partir de 03:00, 09:00, 15:00 et 21:00 (UTC), mais ce ne sont pas des horaires fixes et vous ne devriez pas régler votre opération de miroir à ces horaires.
Votre miroir devrait être mis à jour quelques heures après l'une des mises à
jour de l'archive principale.
Vous devriez regarder si le site à partir duquel vous
faites votre miroir laisse un fichier timestamp
dans son
sous-répertoire project/trace/. Ce fichier aura le même nom
que le site, et il contiendra l'heure de la fin de la dernière mise à
jour du site. Ajoutez-y quelques heures (pour plus de sécurité) et
vous obtiendrez le moment auquel lancer votre processus miroir.
La meilleure façon de faire tourner le miroir automatiquement tous les jours est d'utiliser cron. Voyez man crontab pour plus de détails.
Notez que si votre site utilise un mécanisme Push
pour lancer
sa mise à jour, alors vous n'avez à vous soucier d'aucun de ces
problèmes.
Push
Nous avons développé les miroirs de type Push
, qui utilisent rsync
et visent à minimiser le temps que mettent les changements de
l'archive pour atteindre les miroirs.
Un miroir amont utilise un script déclencheur SSH pour indiquer au miroir
client qu'il doit se mettre à jour.
Le mécanisme de Push
est généralement limité à un script déclencheur
unique sans variable, de sorte que le miroir se fait toujours par Pull
,
comme une tâche cron.
Les miroirs Push
sont nécessaires pour garder synchrones un
ensemble de serveurs (comme les serveurs dans des alias DNS en
round-robin, par exemple ftp.us.debian.org), et nous
les utilisons couramment pour nos miroirs de premier et deuxième
niveau. Pour les miroirs normaux
, cette méthode demande beaucoup
d'effort de mise en place ce qui n'est en fait pas très rentable
comparé à une tâche cron bien préparée.
Pour une description plus détaillée de la manière dont cette méthode fonctionne, des raisons pour lesquelles elle est sûre et de la façon de la mettre en place, voyez les explications complètes.
Si vous voulez rendre le miroir Debian disponible par HTTP, merci
de rajouter les options suivantes à votre configuration d'Apache (en
supposant bien sûr que vous utilisez Apache) dans le paragraphe
<Directory /chemin/vers/votre/miroir/debian>, où
/chemin/vers/votre/miroir/debian/ doit être remplacé par le
nom du répertoire dans lequel vous gardez le miroir :
Options +Indexes +SymlinksIfOwnerMatch IndexOptions NameWidth=* +SuppressDescription
Ceci met en place les index de répertoires et assure que les liens symboliques fonctionnent. Les noms de fichier dans les index de répertoires ne seront pas tronqués et les descriptions (qui le plus souvent n'existent pas) n'apparaîtront pas.
Dans le cas d'Apache 1.3.x, l'option suivante peut également être ajoutée :
DirectoryIndex .
N'ajoutez pas cette option à Apache 2.x.
Une fois qu'un miroir est mis en place, il doit être enregistré par Debian de façon à être inclus dans la liste des miroirs. Les inscriptions peuvent être faites en utilisant notre simple formulaire web.
Problèmes et questions peuvent être envoyés à mirrors@debian.org.