AptProxyHowTo
Como instalar o apt-proxy
IntroduçãoO apt-proxy é uma ferramenta específica para o apt que faz uma cópia completa de um repositório de outras máquinas que estejam conectadas na mesma rede. O comportamento do apt-proxy é como se ele fosse um servidor HTTP com um repositório, você pode acessar os pacotes de qualquer computador desde que todos eles estejam conectados na mesma rede. Se um pacote não se encontra no cache, o apt-proxy automaticamente baixa o pacote e manda ele para o cache. Isto significa que o índice de seus dowloads vão diminuir, e o tempo de sua instalação em cada máquina também caso você tem o costume de instalar pacotes frequentemente. (i.e. um upgrade ou dist-upgrade de todas suas máquinas).
i.e. Vem do latin e significa Isto É (id est)
A versão atual do unstable para o apt-proxy se encontra no repositório do hoary universe (Veja: How To - Access the "universe" repository )* e você pode instalar ele simplesmente com o comando:
apt-get install apt-proxy/hoary#*Quando traduzi o link já se encontrava quebrado. Mas encontrei alguns sources #*que você pode acrescentar no sources.list e tentar: #*deb
http://ftp2.de.debian.org/debian sid main contrib non-free #*deb-src
http://ftp2.de.debian.org/debian sid main contrib non-free
ConfiguraçãoPara usar apt-proxy, você tem que mudar o sources.list do apt e a configuração do apt-proxy.
apt-proxy-v2.confNa primeira parte do /etc/apt-proxy/apt-proxy-v2.conf contém as configurações padrão para o proxy e o cache.
Você pode querer mudar a configuração do endereço (address) para algo mais apropriado, nomeie o IP do proxy do seu servidor na rede interna. O valor padrão da porta do proxy para executar funções do apt-proxy corresponde ao valor 9999, que é um bom valor se você não teve nenhum conflito.
Talvez você queira mudar o diretório do repositório do seu cache para outro lugar que não seja /var/cache/apt-proxy. Isto pode ser feito mudando a linha cache_dir.
Se você está usando um proxy comum, você pode criar um apt-proxy com http_proxy = proxy_server:port. Se você está usando firewall, e teve problemas em conexões ativas do FTP, ao tentar conectar a uma 'FTP beckend' (site), com a configuração passive_ftp = on poderia resolver este problema .
Você pode acessar outras configurações, que algumas vezes se encontram no cache. Com isso você pode achar alguns pacotes velhos no cache e optar em atualizá-los para versões mais recentes, você também pode procurar pacotes velhos no no apt-proxy e atualizá-los, pode fazer isso com segurança. Eles seguramente podem ser deixados em seus valores padrões.
O apt-proxy precisa saber onde que ele vai encontrar o repositórtio remoto nomeado 'backend', isto é feito em partes através do 'backend' em /etc/apt-proxy/apt-proxy-v2.conf. Vamos tomar o ubuntu como exemplo, a entrada de um 'backend' pode ser a seguinte:
[ubuntu]
;; Ubuntu archive
backends =
http://archive.ubuntu.com/ubuntu
http://de.archive.ubuntu.com/ubuntu
Como você pode ver, é possível colocar mais do que um servidor, eles são separados pelo espaço em branco. Se o primeiro servidor estiver down (desativado), o apt-proxy vai tentar conseguir os dados do segundo servidor, e assim por diante. Você também pode re-escrever os valores colocados no [default-section. por exemplo, se você sabe que um servidor em especial leva muito tempo para responder ao pedido, você pode aumentar o valor do limite de tempo (ou diminuir para pular para o próximo servidor da lista):
[ubuntu-slow]
timout = 60 ;wait 1 Minute
backends = prot://some.very.slow.server.net/ubuntu-slow
Um completo apt-proxy-v2.conf (i.e. o meu ;-) ) seria assim:
[DEFAULT]
;; All times are in seconds, but you can add a suffix
;; for minutes(m), hours(h) or days(d)
address = 127.0.0.1
port = 9999
cache_dir = /var/cache/apt-proxy
;; Control files (Packages/Sources/Contents) refresh rate
min_refresh_delay = 1s
complete_clientless_downloads = 1
;; Debugging settings.
debug = all:4 db:0
timeout = 30
passive_ftp = on
;;--------------------------------------------------------------
;; Cache housekeeping
cleanup_freq = 1d
max_age = 120d
max_versions = 3
;;---------------------------------------------------------------
;; Backend servers
;;
;; Place each server in its own [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
O sources.listAgora o apt precisa saber, se existe alguma coisa no apt-proxy, que dê preferências para fazer downloads do servidores direto. O melhor a fazer agora é você comentar todos servidores de downloads instantâneo no seu souces.list, depois verifique se o apt-get não vai tentar pegar pacotes de servidores de download instantâneo. Depois adicione as linhas no apt-proxy, elas parecem semelhante ao seu repositório do apt, exceto se você sempre adicionar a 'sessão backend' (as linhas estão no apt-proxy-v2.conf) com o seguinte source:
deb http://apt-proxy:port/backend dist componentSe o seu apt-proxy funciona no localhost na porta 9999, como o meu, e você colocou que usa a distribuição ubuntu, a linha do source seria assim:
deb http://localhost:9999/ubuntu hoary main restricted universe multiverse
deb-src http://localhost:9999/ubuntu hoary main restricted universe multiverse
# ^^^^^^
# Essa é uma 'sessão backend” (i.e. [ubuntu])
Depois que você mudou a configuração do arquivo apt-proxy , você deve reiniciar o proxy por sudo-ing
/etc/init.d/apt-proxy restartA sources.list completa correspondente ao apt-proxy-v2.conf mencionada no início do texto, O sources.list poderia ser essa:
# apt-proxy entries for standard modules
deb http://localhost:9999/ubuntu hoary main restricted universe multiverse
deb-src http://localhost:9999/ubuntu hoary main restricted universe multiverse
# apt-proxy entries for security patches
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
# additional repositories
deb http://localhost:9999/marillat unstable main
# debian packages
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
Inicializando o apt-proxyAgora dê um apt-get update para iniciar o cache do apt-proxy e pegar as novas listagens do cache. Agora você pode usar o apt-* como se aí não tivesse o apt-proxy.
Importando o cache do aptSe você possui algum pacote baixado com o apt-get, é provável que eles se encontram no /var/cache/apt/archives. Você pode importar estes pacotes para o cache do apt-proxy, com o comando, apt-proxy-import, isto de acordo com a listagem dos pacotes que você possui (ou seja, não dá pra importar um pacote que você não possua). Agora, em primeiro lugar, dê um apt-get update para atualizar sua listagem. Depois simplesmente dê um:
apt-proxy-import -r -i /var/cache/apt/archives e com esse comando o apt-proxy importará todos pacotes do cache do apt para um cache próprio.
Traduzido por: STK_bLoNiX
Fonte:
https://wiki.ubuntu.com/AptProxyHowTo