AptProxy

APT-Proxy

Introdução

apt-proxy é um servidor de cache para o apt que cria uma cópia completa de um repositório remoto em seu disco rígido. Como o apt-proxy se comporta como um servidor HTTP com um repositório, você pode acessar os pacotes a partir de qualquer computador em sua rede. Se um pacote não estiver no cache, o apt-proxy faz o download automaticamente e o coloca em cache. Isso pode significar uma redução significante na taxa de download e no tempo de instalação se você instalar alguns pacotes repetidamente (i.e. um upgrade ou dist-upgrade em suas máquinas).

Instalação

Icones/instalar.png O apt-proxy pode ser instalado simplismente utilizando o comando:

$ sudo apt-get install apt-proxy

Configurando um Servidor apt-proxy

A primeira seção no arquivo de configuração do apt-proxy (localizado em /etc/apt-proxy/apt-proxy-v2.conf) contém as configurações padrão para o programa e seu cache.

O primeiro passo é alterar o parâmetro address para o IP de seu servidor apt-proxy na rede interna. O parâmetro port especifica a porta em que o apt-proxy receberá as requisições. A porta padrão é a 9999, que é geralmente um bom valor para utilizar se não estiver em confito com serviços existentes.

Uma outra opção é alterar o diretório de cache para o repositório, se desejado, para outro local ao ivés de /var/cache/apt-proxy. Isto pode ser feito alterando o parâmetro cache_dir.

Se você estiver utilizando um proxy de Internet (como o squid), você pode configurar o apt-proxy avisando-o sobre isso com http_proxy = proxy_server:port.

Se você estiver operando por trás de um firewall, você pode ter alguns problemas com conexões FTP ativas quando tentar conectar a um backend FTP. passive_ftp = on deve resolver este problema.

Os outros valores controlam o tempo que um pacote permanece no cache, quão antigo deve ser um pacote antes que o apt-proxy cheque por novas versões ou quão freqüente o cache é checado por pacotes antigos. Estas opções podem seguramente ser deixadas em seus valores padrão.

O apt-proxy tem que saber como encontrar os repositórios remotos, chamados de backends. Isto é feito através das seções backends em /etc/apt-proxy/apt-proxy-v2.conf. Uma entrada backend para o Ubuntu deve se parecer com isto:

[ubuntu]
;; Ubuntu archive
backends =
        http://archive.ubuntu.com/ubuntu
        http://de.archive.ubuntu.com/ubuntu

Como você pode ver, é possível especificar mais de um servidor, separados por espaços em branco. Se o primeiro servidor estiver fora do ar, o apt-proxy tenta recuperar os dados a partir do segundo servidor, e assim por diante.

Você pode também sobrescrever os valores configurados na seção [default]. Por exemplo, se você sabe que um servidor em especial leva muito tempo para responder uma requisição, você pode aumentar o valor tempo de expiração:

[ubuntu-lento]
timout = 60 ;espera 1 minuto
backends = prot://algum.servidor.muito.lento.net/ubuntu-lento

Um exemplo completo para apt-proxy-v2.conf pode ser visto aqui:

[DEFAULT]
;; Todos os tempos em segundos, mas você pode acrescentar um sufixo
;; para minutos(m), horas(h) ou dias(d)

address = 127.0.0.1
port = 9999
cache_dir = /var/cache/apt-proxy

;; Taxa de atualização de arquivos de controle (Packages/Sources/Contents)
min_refresh_delay = 1s
complete_clientless_downloads = 1

;; Configurações de debug.
debug = all:4 db:0

timeout = 30
passive_ftp = on

;;--------------------------------------------------------------
;; Cache housekeeping

cleanup_freq = 1d
max_age = 120d
max_versions = 3

;;---------------------------------------------------------------
;; Servidores (backends)
;;
;; Coloque cada servidor em sua própria [section]

[ubuntu]
; Ubuntu archive
backends =
        http://archive.ubuntu.com/ubuntu
        http://de.archive.ubuntu.com/ubuntu

[ubuntu-security]
; Ubuntu security updates
backends = http://security.ubuntu.com/ubuntu

[marillat]
backends = ftp://ftp.nerim.net/debian-marillat

[debian]
; Backend servers, in order of preference
backends =
        http://ftp.us.debian.org/debian
        http://ftp.de.debian.org/debian
        http://ftp2.de.debian.org/debian
        ftp://ftp.uk.debian.org/debian

[debian-non-US]
; Debian debian-non-US archive
backends =
        http://ftp.uk.debian.org/debian-non-US
        http://ftp.de.debian.org/debian-non-US
        ftp://ftp.uk.debian.org/debian

[security]
; Debian security archive
backends =
        http://security.debian.org/debian-security
        http://ftp2.de.debian.org/debian-security

[openoffice]
; OpenOffice.org packages
backends =
        http://ftp.freenet.de/pub/debian-openoffice
        http://ftp.sh.cvut.cz/MIRRORS/OpenOffice.deb
        http://borft.student.utwente.nl/debian

[apt-proxy]
; Apt-proxy new versions
backends = http://apt-proxy.sourceforge.net/apt-proxy

Inicializando o apt-proxy

Após alterar o arquivo de configuração do apt-proxy, reinicie o apt-proxy e atualize a lista executando o seguinte:

$ sudo /etc/init.d/apt-proxy restart
$ sudo apt-get update

Todos os comandos apt-* podem agora ser utilizados transparentemente com o apt-proxy.

Importando o Cache do apt

Pacotes já baixados com o apt-get são salvos em /var/cache/apt/archives. Estes pacotes podem ser importados para o cache do apt-proxy com apt-proxy-import a partir da lista de pacotes atual. apt-get update deve ser executado antes para que o apt-proxy-import recupere uma lista recente, como segue:

$ sudo apt-get update
$ sudo apt-proxy-import -r -i /var/cache/apt/archives

Configurando Clientes apt

Os clientes apt necessitam que o arquivo /etc/apt/sources.list seja reconfigurado para apontar para o novo servidor apt-proxy ao invés do mundo externo. A configuração do sources.list é similar à configuração normal de repositórios apt, exceto pelo fato de que a seção backend tem que ser adicionada no final do caminho:

deb http://apt-proxy:port/backend dist component

Exemplo da linha acima:

deb http://localhost:9999/ubuntu dapper main restricted universe multiverse
deb-src http://localhost:9999/ubuntu dapper main restricted universe multiverse
                              ^^^^^^
                               Esta é a seção backend (i.e. [ubuntu])

O arquivo sources.list completo correspondente ao apt-proxy-v2.conf acima, deve se parecer com isto:

# entradas apt-proxy para módulos padrão
deb http://localhost:9999/ubuntu hoary main restricted universe multiverse
deb-src http://localhost:9999/ubuntu hoary main restricted universe multiverse

# entradas apt-proxy para correções de segurança
deb http://localhost:9999/ubuntu-security hoary-security main restricted universe multiverse
deb-src http://localhost:9999/ubuntu-security hoary-security main restricted universe multiverse

# repositórios adicionais
deb http://localhost:9999/marillat unstable main

# pacotes debian
deb http://localhost:9999/debian unstable main contrib non-free
deb http://localhost:9999/debian-non-US unstable/non-us main contrib non-free
deb http://localhost:9999/security sid main contrib non-free

Autor: Ubuntu Community

Data de Acesso: 12/07/06

Local: help.ubuntu.com

Wikifier/Tradutor: AndreNoel

Data: 12/07/06

Mantenedor: AndreNoel


CategoryDocumentacao

AptProxy (last edited 2011-09-19 23:21:24 by localhost)