Créer un miroir pour les images de cédérom de Debian

Pour créer un miroir d'images de cédérom de Debian, vous avez besoin d'une machine sous Linux ou sous un système de type Unix avec une connexion permanente et fiable à l'Internet. Les miroirs d'images de cédérom de Debian fournissent des images .iso pour des cédéroms ou des dévédéroms de différentes tailles, les fichiers pour jigdo (.jigdo et .template), les fichiers BitTorrent (.torrent) et les sommes de contrôle MD5 des images (MD5SUMS*).


Site principal

Les liens du site principal sont donnés ci-dessous — cependant, veuillez ne pas négliger la possibilité de créer un miroir à partir d'un autre miroir proche (pour obtenir la liste des miroirs : HTTP/FTP, rsync) si cela est possible. L'accès au site principal sera certainement restreint à l'approche de la nouvelle publication.

Faites également attention au fait qu'une quantité énorme de données sont stockées dans ces répertoires — lisez la section ci-dessous pour savoir comment limiter la taille en excluant certains fichiers.

Créer un miroir avec FTP et HTTP n'est pas recommandé

Vous ne devez pas utiliser FTP ou HTTP pour mettre à jour votre miroir. Ces techniques de transfert présentent une probabilité d'échec importante du fait de la taille énorme des fichiers.

De plus, HTTP et FTP ne permettent pas la vérification de l'intégrité des données téléchargées, et il est plus que probable que les téléchargements interrompus ou les données corrompues ne seront pas signalés.

Créer un miroir avec rsync est tolérable

Le programme rsync est une bonne solution pour la création d'un miroir. Elle est moins efficace que l'autre, à savoir la création d'un miroir à la manière de Debian présentée ci-dessous, mais peut être plus facile à configurer. De plus, elle assure que l'ensemble des fichiers sont transférés correctement et que les métadonnées (par exemple les horodatages) sont synchronisées de la même manière que les données des fichiers.

Reportez-vous à la section exclure des fichiers du miroir pour des exemples d'utilisation de --include et --exclude. La liste des miroirs rsync est disponible sur une page séparée.

Veuillez utiliser au moins les options --times --links --hard-links --partial --block-size=8192. Cela conservera la date de dernière modification, les liens symboliques et durs et un bloc de 8192 octets (le plus adapté pour les images de cédérom) sera utilisé. Lorsque la date de dernière modification et la taille d'un fichier n'ont pas été modifiées, rsync ignore le fichier, aussi --times est réellement nécessaire.

Créer un miroir avec jigdo-lite n'est pas recommandé

Les versions récentes du programme jigdo-lite prennent en charge le téléchargement groupé de plusieurs images. Cependant, nous ne recommandons pas d'utiliser jigdo-lite pour la création des miroirs de cédérom Debian — veuillez utiliser jigdo-mirror à la place.

Créer un miroir avec jigdo-mirror est recommandé

En fait, cela signifie : créer un miroir des fichiers .iso en utilisant jigdo-mirror, puis (si vous voulez créer un miroir d'autres types de fichiers, par exemple les fichiers .jigdo et .template) lancez rsync sur le répertoire pour récupérer le reste. Les scripts disponibles sur cette page peuvent vous aider à configurer l'ensemble.

De nombreuses personnes tiennent à jour des miroirs « classiques » de Debian (debian/) ou ont un tel miroir à proximité. Cela signifie qu'ils ont déjà les fichiers .deb qui sont dans les images de cédérom. La question évidente est : pourquoi ne pas utiliser ces fichiers dans les images de cédérom ?

jigdo-mirror est un programme qui permet de fabriquer des images de cédérom de Debian à l'aide des fichiers d'un miroir « classique », ainsi que de quelques fichiers supplémentaires à l'usage de jigdo.

Tout d'abord, vous avez besoin des fichiers modèles pour jigdo. Voyez la page d'information de jigdo pour des liens. Récupérez les fichiers de toutes les architectures pour lesquelles vous souhaitez fabriquer les images.

Créez un fichier ~/.jigdo-mirror pour configurer le programme. Voici un exemple :

jigdoDir="/chemin/vers/votre/miroir/debian-cd/current/jigdo"
imageDir="/chemin/vers/votre/miroir/debian-cd/current/images"
tmpDir="/chemin/vers/votre/miroir/debian-cd/current/images"
debianMirror="file:/chemin/vers/votre/miroir/debian"
include='i386/|sparc/|powerpc/|source/'; exclude='-1\.'

Les variables include et exclude font référence à la liste des architectures (sous forme d'expressions rationnelles) pour lesquelles vous souhaitez créer des images. Pour plus d'informations, veuillez consulter le manuel de jigdo-mirror ou le code source (c'est un script shell comportant de nombreux commentaires).

Une fois l'étape de configuration terminée, lancez simplement jigdo-mirror et il fera tout tout seul. Il affiche beaucoup de messages et l'exécution prend un certain temps, aussi nous vous suggérons de prendre des mesures pour le gérer (lancez le programme à l'écran, redirigez la sortie vers un fichier, etc.).

Comment devenir un miroir « Push » ?

À chaque fois que de nouvelles images sont disponibles, le site principal peut envoyer un message à ses miroirs et les faire immédiatement démarrer la mise à jour. De cette manière, les nouvelles données sont « poussées » plutôt que « tirées » par les miroirs durant la mise à jour quotidienne suivante, ce qui conduit à une propagation plus rapide des nouvelles publications d'une image.

Si vous voulez que votre miroir fasse partie de ce système, veuillez consulter cette page.

Exclure des fichiers du miroir

Pour réduire la place nécessaire pour votre miroir de cédéroms Debian, vous pouvez exclure certains fichiers du processus de création du miroir. Les instructions suivantes présentent les options courantes pour rsync, mais peuvent vous aider si vous utiliser un utilitaire différent pour la création des miroirs. Avec rsync, les options --include et --exclude sont prises en compte en fonction de leur ordre d'apparition, et la première option dont le motif du fichier correspond détermine si le fichier doit être inclus ou exclu.

  • Exclure le code source : --exclude=source/
    Évite aux images contenant du code source d'être incluses dans le miroir. Veuillez noter que certaines personnes considèrent inapproprié d'offrir des binaires d'un programme sous licence GPL sur un serveur sans offrir en même temps les codes source du programme sur le même serveur.
  • Exclure les images entières : --include='*businesscard*.iso' --include='*netinst*.iso' --exclude='*.iso'
    Exclut toutes les images de cédérom et dévédérom pour toutes les architectures à l'exception des images de type carte de visite ainsi que des images .iso pour l'installation par le réseau. Nous recommandons de toujours inclure ces images : en considérant leur taille, elles sont extrêmement utiles !
  • Exclure les images entières des architectures non-i386 : --include='*businesscard*.iso' --include='*netinst*.iso' --include='i386/**.iso' --exclude='*.iso'
    Comme ci-dessus, mais inclut toutes les images de cédérom et de dévédérom pour l'architecture i386.
  • Exclure les images entières, à l'exception des trois premiers cédéroms de l'architecture i386 : --include='*netinst*.iso' --include='i386/**-[1-3].iso' --exclude='*.iso'
    L'ensemble complet des images i386 peut toujours prendre trop d'espace pour vous si cela inclut les images dévédérom simple et double couche. Cela exclut l'ensemble des images .iso à l'exception des images pour l'installation par le réseau ainsi que les trois premiers cédéroms pour l'architecture i386.
  • Exclure toutes les architectures à l'exception de l'i386 : --exclude=alpha/ --exclude=arm/ --exclude=hppa/ --exclude=hurd/ --exclude=ia64/ --exclude=m68k/ --exclude=mips/ --exclude=mipsel/ --exclude=powerpc/ --exclude=s390/ --exclude=sh/ --exclude=sparc/
    Inclut seulement l'ensemble complet des fichiers pour l'architecture i386, et n'inclut aucun des fichiers .jigdo, .iso, etc. pour les autres architectures.

Conventions de nommage et taille nécessaire pour les images .iso

Les différents types d'images .iso sont différentiables par leurs noms. Cela vous permet de restreindre votre miroir à certains types d'images.

  • *-businesscard.iso : Une image pour chacune des architectures supportées, 50 Mo
  • *-netinst.iso : Une image pour chacune des architectures, 110 Mo
  • *-dvd.iso (Dévédéroms simple couche) : Images multiples pour l'architecture i386 uniquement, chacune pouvant atteindre jusqu'à 4482 Mo. Pour Sarge, la taille totale accumulée des images pour l'architecture i386 est d'environ 9000 Mo.
  • *-dldvd.iso (Dévédéroms double couche) : Comme ci-dessus, si ce n'est que les images individuelles peuvent atteindre jusqu'à 8106 Mo. Pour Sarge, aucune image .iso n'est disponible. Seuls les fichiers jigdo le sont.
  • *.iso : Tous les fichiers .iso restants qui ne correspondent à aucun des motifs ci-dessus sont des images de cédérom. Il y a plusieurs images pour chaque architecture, chacune d'elle étant au maximum de 650 Mo. La taille totale de toutes les images et pour toutes les architectures est égale à la taille d'un miroir Debian complet (100 Go au moment où nous écrivons ces lignes).

Enregistrer le miroir

Afin de rendre votre miroir d'images de cédérom utilisable par un plus grand nombre d'utilisateurs, vous pouvez l'enregistrer sur notre liste de miroirs tels que celle-ci ou celle-là. Cependant, étant donné que les images complètes sont des fichiers de grande taille, cela peut entraîner un trafic quotidien de plusieurs gigaoctets.

Vous pouvez enregistrer votre miroir soit en remplissant le formulaire pour les miroirs (veuillez noter que les champs CDImage-* sont les plus importants), soit en envoyant un courriel à debian-cd@lists.debian.org.

Nous apprécions tous les nouveaux miroirs d'images de cédéroms. Par avance, merci !