У меня в локальной сети офиса есть множество хостов Linux. Я запускаю apt-cacher-ng на ящике, чтобы кэшировать загрузки пакетов для всех машин Debian и Ubuntu в сети. У нас есть несколько пользователей Gentoo, и я хотел бы также кэшировать их загрузки дистрибутивов.
Я уже использую зеркало rsync для Gentoo, и это оказалось простой и надежной настройкой.
Я бы хотел что-то вроде http-репликатор но на самом деле он поддерживается и доступен пакет Debian Squeeze. Я посмотрел на Squid, и это было многовато, хотелось бы чего-нибудь попроще. Я также посмотрел на Polipo и это казалось на правильном пути, но в нем есть роковой недостаток.
Все дистрибутивы на зеркалах Gentoo одинаковы, но если вы попытаетесь загрузить тот же файл с другого исходного зеркала, Polipo подумает, что это другой файл, что приведет к пропуску кеша. http-replicator не столкнулся с этой проблемой, и поскольку я не администрирую все ящики Gentoo, я не думаю, что могу гарантировать высокий уровень соответствия при выборе зеркала, поскольку большинство людей просто делают это с mirrorselect
, тем не мение.
Итак, я ищу что-то такое:
Это слишком много, чтобы просить?
Вы можете легко использовать команду use apt-cacher-ng.
Remap-gentoo: file:gentoo_mirrors http://distfiles.gentoo.org/ /gentoo ; file:backends_gentoo # Gentoo Archives
Вот сценарий для создания 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
Источник: я старший разработчик Gentoo и управляю инфраструктурой Gentoo. Я отправил вариант вышеизложенного автору апстрима apt-cacher-ng.