3 votes

Exécution d'un miroir cache de distfiles Gentoo sur Debian

J'ai une variété d'hôtes Linux sur le réseau local de mon bureau. J'exécute apt-cacher-ng sur une boîte pour mettre en cache les téléchargements de paquets pour toutes les machines Debian et Ubuntu du réseau. Nous avons quelques utilisateurs de Gentoo et j'aimerais mettre en cache les téléchargements de leurs distfiles également.

J'utilise déjà un miroir rsync pour Gentoo, qui s'est avéré être une installation facile et fiable.

Ce que je voudrais, c'est quelque chose comme http-replicator mais qui est réellement maintenu et a un paquet Debian Squeeze disponible. J'ai regardé Squid et c'était trop, j'aimerais quelque chose de plus simple. J'ai aussi regardé Polipo et qui semblait être sur la bonne voie, mais qui souffrait de ce défaut fatal.

Tous les distfiles sur les miroirs Gentoo sont les mêmes, mais si vous essayez de télécharger le même fichier à partir d'un miroir source différent, Polipo pense qu'il s'agit d'un fichier différent, ce qui entraîne une erreur de cache. http-replicator n'a pas souffert de ce problème, et comme je n'administre pas toutes les boîtes Gentoo, je ne pense pas pouvoir garantir un haut niveau de conformité sur la sélection des miroirs, puisque la plupart des gens le font simplement avec mirrorselect de toute façon.

Je cherche donc quelque chose qui le soit :

  1. Plutôt facile à mettre en place et ne nécessite pas trop de manipulations ou de configurations compliquées d'expiration de cache.
  2. Peut agir comme un proxy HTTP transparent
  3. Livrera le même fichier local, même s'il est "téléchargé" à partir d'un autre serveur.
  4. Ne nécessite pas la mise en miroir de la collection entière de tous les distfiles Gentoo.

Est-ce trop demander ?

5voto

robbat2 Points 310

Vous pouvez utiliser apt-cacher-ng facilement.

Remap-gentoo: file:gentoo_mirrors [http://distfiles.gentoo.org/](http://distfiles.gentoo.org/) /gentoo ; file:backends_gentoo # Gentoo Archives

  • Dans le fichier gentoo_mirrors mettez tous les miroirs que vous voulez capturer.
  • Dans le fichier backends_gentoo , mettez le miroir de sauvegarde que vous voulez utiliser pour la récupération.

Voici un script pour créer gentoo_mirrors

# This fetches the live Gentoo mirrors list
# robbat2@gentoo.org - 2013/Dec/03
OUTFILE=gentoo_mirrors
URL=http://www.gentoo.org/main/en/mirrors3.xml
wget --save-headers -q $URL -O - \
| sed -n \
-e '/^[A-Z]/{s,^,#,g;p}' \
-e '/<mirrorgroup/{s,^,\n#,g;p}' \
-e '/<name/{s,^,#,g;p}' \
-e '/<uri/{/protocol="http"/{s/.*<uri[^>]\+>//g;s/<\/uri>//g;p}}' \
>$OUTFILE

Source : Je suis un développeur Gentoo senior, et je gère l'infrastructure Gentoo. J'ai soumis une variante de ce qui précède à l'auteur amont de apt-cacher-ng.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X