Устанавливаем необходимые пакетыyum install nginx yum-utils
правим конфиг /etc/nginx/nginx.conf перед последней закрыющейся } дописываем
include /etc/nginx/vh/*;
создаем каталог
mkdir /etc/nginx/vh
а в нем файл repocache.local следующего содержания
server {
listen 80;
server_name repocache.local;location /pub/fedora {
autoindex on;
root /home/repocache;
error_page 404 = @fetch_yandex;
}location / {
autoindex on;
root /home/repocache;
error_page 404 = @fetch_yandex;
}location @fetch_yandex {
internal;rewrite ^/pub(.*)$ /$1 break;
proxy_pass http://mirror.yandex.ru;
proxy_store on;
proxy_store_access user:rw group:rw all:r;
proxy_temp_path /home/repocache/temp;root /home/repocache/pub;
}
}создаем каталоги
mkdir /home/repocache
mkdir /home/repocache/bin
mkdir /home/repocache/pub
mkdir /home/repocache/temp
chown -R nginx:nginx /home/repocacheв каталог /home/repocache помещаем скрипт clean.sh
#!/bin/bash
for f in `repomanage --old $1`;
do
echo $f
rm -f $f
donerm -f $1repodata/*
и repocache.sh
#!/bin/bash
path_to_repo_dir="/home/repocache/pub/"
/home/repocache/bin/clean.sh ${path_to_repo_dir}fedora/linux/updates/11/i386/
/home/repocache/bin/clean.sh ${path_to_repo_dir}fedora/linux/updates/11/x86_64//home/repocache/bin/clean.sh ${path_to_repo_dir}fedora/rpmfusion/free/fedora/updates/11/i386/
/home/repocache/bin/clean.sh ${path_to_repo_dir}fedora/rpmfusion/free/fedora/updates/11/x86_64/
/home/repocache/bin/clean.sh ${path_to_repo_dir}fedora/rpmfusion/nonfree/fedora/updates/11/i386/
/home/repocache/bin/clean.sh ${path_to_repo_dir}fedora/rpmfusion/nonfree/fedora/updates/11/x86_64//home/repocache/bin/clean.sh ${path_to_repo_dir}fedora/russianfedora/russianfedora/fixes/fedora/updates/11/i386/
/home/repocache/bin/clean.sh ${path_to_repo_dir}fedora/russianfedora/russianfedora/fixes/fedora/updates/11/x86_64/
/home/repocache/bin/clean.sh ${path_to_repo_dir}fedora/russianfedora/russianfedora/free/fedora/updates/11/i386/
/home/repocache/bin/clean.sh ${path_to_repo_dir}fedora/russianfedora/russianfedora/free/fedora/updates/11/x86_64/
/home/repocache/bin/clean.sh ${path_to_repo_dir}fedora/russianfedora/russianfedora/nonfree/fedora/updates/11/i386/
/home/repocache/bin/clean.sh ${path_to_repo_dir}fedora/russianfedora/russianfedora/nonfree/fedora/updates/11/x86_64/rm -f /home/repocache/temp/*
Запускаем nginx
service nginx start
Добавляем в crontab запуск скрипта /home/repocache/bin/repocache.sh раз в сутки (ночью)
Перенастраиваем локальные компы и на новый репозиторий и пробуем обновиться
Удачи.URL:
Обсуждается: http://www.opennet.me/tips/info/2098.shtml
Шаманское заклинание без пояснений. Особенно полезно для тех у кого пути к репам не через яндекс.
не увидил никакого шаманства. Всё просто и понятно. Конечно, людям которые не умеют пользоваться nginx это не поможет, ну так это не руководство по nginx
Мдааа... Прогрессивная Федора. :) В Альте это было сделано уже больше года назад http://www.altlinux.org/Apt/NginxAsCache
В прогрессивной Федоре для этого есть как минимум https://fedorahosted.org/intelligentmirror/, который описывается в их документации как стандартное решение для данной задачи :)
Ага, только ему от роду без году неделя :)
http://git.fedorahosted.org/git/intelligentmirror.git?p=inte...
А вот и первоисточник (Август 2007): http://gns-ua.livejournal.com/114453.html