Устанавливаем необходимые пакеты 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
done
rm -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.dev/tips/info/2098.shtml