Mettre en place un miroir de l'archive Debian

Dans quel cas faire un miroir ?

Même si nous apprécions les nouveaux miroirs, 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 :

De quoi faire un miroir ?

La page principale des miroirs liste les archives qu'il est possible de dupliquer.

Veuillez consulter 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. Bien qu’elle semble intéressante pour tout le monde, nous ne recommandons pas l’utilisation de miroirs pour obtenir les mises à jour de sécurité, et demandons à la place de les télécharger directement depuis notre service distribué, security.debian.org. Nous préconisons de ne pas faire un miroir de debian-security.

À partir d'où faire un miroir ?

Notez que ftp.debian.org n’est pas un emplacement canonique des paquets Debian, c’est plutôt simplement l’emplacement d’un serveur parmi d’autres mis à jour à partir d’un serveur interne de Debian. Il existe de nombreux miroirs publics qui prennent en charge rsync et qui forment de bons miroirs. Merci d'utiliser un miroir qui soit proche de vous, au sens de la proximité réseau.

Vous devez éviter de faire un miroir à partir de n’importe quel nom de service conduisant à plus d’une adresse (tel que ftp.us.debian.org) car cela pourrait mener à une synchronisation entre différents états de copies de miroirs amont qui pourraient être non synchronisés. Remarquez aussi que HTTP est le seul service dont la présence est garantie sur ftp.CC.debian.org. Si vous voulez créer votre miroir en utilisant rsync (l’utilisation de ftpsync est recommandée), nous vous suggérons de choisir le nom approprié du site de la machine fournissant ftp.CC.debian.org. (Consulter le répertoire /debian/project/trace de ce serveur pour le connaître).

Comment faire un miroir

La méthode recommandée pour faire tourner un miroir est d'utiliser le script ftpsync, disponible de deux manières :

N’utilisez pas vos propres scripts, et n’utilisez pas des exécutions uniques de rsync. L’utilisation de ftpsync garantit que les mises à jour seront faites d’une manière qu’apt ne soit pas désorienté. En particulier, ftpsync traite les traductions, les contenus et autres métadonnées de telle façon qu’apt ne sera pas amené à des erreurs de validation si un utilisateur met à jour la liste des paquets tandis que le miroir met sa copie à jour. De plus, cela produit des fichiers de trace contenant plus d’informations que nécessaires pour connaître si un miroir est en fonction, quelles architectures il fournit et à partir de quoi il se synchronise.

Miroir partiel

Considérant la taille déjà importante de l'archive Debian, il serait peut-être préférable de ne faire un miroir que de quelques parties de l’archive. Les miroirs publics devrait fournir toutes les publications (testing, unstable, etc.), mais ils peuvent restreindre le nombre d’architectures proposées. Le fichier de configuration de ftpsync possède les réglages ARCH_EXCLUDE et ARCH_INCLUDE pour cela.

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 quant à leur taille et cependant utiles aux utilisateurs. En particulier project/trace aide beaucoup en cas de problème de miroir.

Quand rafraîchir les miroirs ?

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.

Il est essentiel que votre miroir soit synchronisé avec l’archive principale. Un minimum de 4 mises à jour par 24 heures garantit que votre miroir est une copie conforme de l’archive. Vous comprendrez que les miroirs non synchronisés ne soient pas dans la liste des miroirs officiels.

La meilleure façon de faire tourner le miroir automatiquement tous les jours est d'utiliser cron. Consultez man crontab pour de plus amples précisions.

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.

Copie de miroir déclenchée par Push

La copie de miroir de type Push est une manière que nous avons développée pour 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. 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.

Configuration supplémentaire recommandée

Les miroirs publics devraient rendre l’archive Debian accessible par HTTP à /debian.

De plus, assurez-vous que les listes de répertoires soient disponibles (avec leurs noms de fichier complets et le suivi des liens symboliques).

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 :

Si vous utilisez Apache, quelque chose comme ceci devrait fonctionner :
<Directory /chemin/vers/votre/miroir/debian>
   Options +Indexes +SymlinksIfOwnerMatch
   IndexOptions NameWidth=* +SuppressDescription
</Directory>

Comment ajouter un miroir à la liste des miroirs ?

Si vous désirez que votre miroir soit inscrit dans la liste officielle, veuillez :

Une fois qu'un miroir est mis en place, il doit être enregistré par Debian de façon à être inclus dans la liste officielle des miroirs. Les inscriptions peuvent être faites en utilisant notre simple formulaire web.

Problèmes et questions peuvent être envoyés à mirrors@debian.org.

Listes de diffusion

Il existe deux listes de diffusion publiques à propos des miroirs de Debian, debian-mirrors-announce et debian-mirrors. Nous encourageons tous les responsables de miroir à s’inscrire à la liste des annonces car elle est utilisée pour toute annonce importante. Cette liste est filtrée et ne reçoit qu’un faible trafic. La deuxième liste est destinée aux discussions générales et est ouverte à tous.

Si vous avez une question sans réponse dans ces pages web, vous pouvez nous contacter à mirrors@debian.org ou en utilisant IRC, #debian-mirrors sur irc.debian.org.

Remarques pour les miroirs privés (partiels)

Si vous voulez mettre en œuvre un miroir pour votre propre site seulement, et que vous n’avez besoin qu’une partie des publications (comme stable), debmirror pourrait vous convenir parfaitement.