Eu encontrei este tutorial: Como armazenar em cache os repositórios do openSUSE com o Squid .
trecho
How to make your local Squid web cache work with openSUSE repositories and the openSUSE network installation process. In effect, how to run a fully autonomous, local on-demand repository mirror. Even with a high-speed ADSL internet connection, savings of up to 60% are easily achieved.
Abaixo estão os detalhes passo a passo desse artigo.
Passo a passo
-
Lula
O web-proxy do Squid é o elemento chave nessa configuração, portanto, uma instalação ativa do Squid é um pré-requisito. Configurar o Squid não é tão complicado quanto parece, mas você terá que consultar a documentação do squid, está fora do escopo deste artigo. Se você preferir direcionar o acesso usando variáveis de ambiente http_proxy et al, ou se você executar um proxy transparente (como eu), isso não é realmente importante.
Nota: a configuração aqui funciona para o Squid 2.7, eu não acho que o recurso storeurl_rewrite tenha sido implementado no Squid 3.x ainda.
-
jesred
jesred é o reescritor de URL. É bastante maduro, mas totalmente funcional. ( página original ). Eu tive que fazer algumas alterações para torná-lo totalmente compatível com o squid 2.7 :
No momento, ele não vem empacotado, você terá que criá-lo do zero:
tar xzvf <tarball> cd jesred-1.3 make
Instalação: quando terminar, copie o binário jesred para
/usr/local/bin
ou qualquer que seja a sua localização preferida para seus próprios binários.O arquivo de configuração para jesred:
/etc/squid/jesred.conf
allow = /etc/squid/redirector.acl rules = /etc/squid/opensuse-redirect.rules redirect_log = /var/log/squid/redirect.log rewrite_log = /var/log/squid/rewrite.log
Usando
/etc/squid/redirector.acl
, você pode controlar as solicitações dos clientes que o regravador deve processar, mas acho que isso é realmente mais fácil de controlar com a diretiva ACL e storeurl_access do Squid, portanto, habilito para todos os clientes:# rewrite all URLs from 0.0.0.0/0
-
/etc/squid/squid.conf
Configuração: adicione as seguintes linhas a
/etc/squid/squid.conf
storeurl_rewrite_program / usr / bin / jesred storeurl_rewrite_children 5acl metalink req_mime_type application/metalink4+xml storeurl_access deny metalink storeurl_access allow localnet storeurl_access allow localhost acl localhost src 127.0.0.0/8 acl localnet src 192.168.0.0/16
-
fetcher206 logfile
Altere
/etc/squid/squid./conf
da seguinte forma:logformat f206 %{%Y-%m-%dT%H:%M:%S}tl %Ss/%03Hs %rm %ru %mt access_log /var/log/squid/fetch206.log f206
Este log será lido por fetcher206.
Para evitar que ele fique muito grande, adicione o seguinte a
/etc/logrotate.d/
:/var/log/squid/fetch206.log { compress dateext maxage 365 rotate 5 size=+4M notifempty missingok create 640 squid root sharedscripts postrotate /etc/init.d/squid reload endscript }
-
pool de atrasos do squid
Esta é uma etapa opcional - dependendo da largura de banda de recebimento de dados disponível, você pode restringir o que é usado pelo fetcher206 para recuperar os arquivos do repositório. Isso evita
- abrandar a instalação atual e
- abuso da conexão com a internet
delay_pools 1 delay_class 1 1 delay_access 1 allow localhost delay_parameters 1 1000000/1000000
Adicione o arquivo acima ao /etc/squid/squid.conf - ele define um delay_pool, acessível somente a partir do localhost (que é onde o fetcher206 estará rodando wget) com uma largura de banda máxima de 1MByte / seg.
Se você tiver outro tráfego http / proxy proveniente de localhost, você poderia simplesmente adicionar outro endereço 127.0.0.x e usá-lo especificamente para fetcher206.
-
banco de dados espelho
Precisamos de uma lista atual dos espelhos do openSUSE disponíveis. Isso pode ser recuperado em mirrors.opensuse.org. Por enquanto, eu uso o XSL para analisar a página HTML, mas espero mudar para uma lista formatada diretamente do MirrorBrain.
mkdir -p /var/lib/fetcher206 cp tarball/Makefile.mirrors /var/lib/fetcher206/Makefile cp tarball/extract* /var/lib/fetcher206/ make -C /var/lib/fetcher206 cp tarball/opensuse_mirrors.cron /etc/cron.d/opensuse_mirrors
-
recarregue o squid
Quando você chegou até aqui, é hora de recarregar o squid com
squid -k reconfigure
-
fetcher206
fetcher206 é, por enquanto, um script PHP. Instale-o simplesmente copiando-o para / usr / bin. Ele tem algumas opções codificadas, como número de wgets para rodar simultaneamente, nome do arquivo de log, etc.
fetcher206 ainda não possui uma unidade de serviço systemd nem um script de inicialização LSB. Por enquanto, você simplesmente começa com:
startproc -s -q /usr/bin/fetcher206