Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Mão na Massa LDAP - 1 Profissional por Máquina
Configure um serviço de Diretórios baseado no servidor OpenLDAP!
Dia 6 de Dezembro - São Paulo
Saiba mais


 

Aprenda inglês em casa

Baixe gratuitamente as duas primeiras aulas

English for Reading and Listening

Receba por email, diariamente, mensagens contendo materiais para leitura e audição, incluindo arquivos no formato MP3 gravados por falantes nativos.

Saiba mais e faça sua inscrição

Você está aqui: Home  → Arquivo Dicas-L

 

Mão na Massa - LDAP

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Publicar em del.icio.us

Como criar um mirror debian (sarge) utilizando apt-mirror

Colaboração: Conrado Pinto Rebessi

Data de Publicação: 02 de Abril de 2005

Aqui na empresa temos diversas máquinas utilizando Debian Sarge, e a atualização delas estava se tornando um problema para o nosso link. Resolvi então criar um repositório apt dentro da empresa, pesquisando, descobri este software, o apt-mirror, que me ajudou muito a fazer e a manter o repositório atualizado.

Documentei os passos da instalação e configuração, e aproveito aqui para encaminhá-lo. Espero que seja de alguma valia.

Separei a instalação e a confiugração em 3 etapas, para facilitar o entendimento:

  • Instalação do Servidor
  • Configuração do Cliente
  • Manutenção do repositório

Parte 1 - Instalação do Servidor

Adicionar o repositório do apt-mirror ao /etc/apt/sources.list

  # /etc/apt/sources.list
  deb http://apt-mirror.sourceforge.net/ apt-mirror/

# Atualizar a base do apt

  apt-get update

# Instalar o apt-mirror

  apt-get install apt-mirror

Configurar o /etc/apt/mirror.list com o(s) repositório(s) debian a ser(em) espelhado(s) No arquivo exemplo abaixo, faço mirror do linorg.usp.br e do security.debian.org

  # /etc/apt/mirror.list
  # apt-mirror configuration file
  #
  # The default configuration options (uncomment and change to override)
  #
  #
  # set base_path    /var/spool/apt-mirror
  # set mirror_path  $base_path/mirror
  # set skel_path    $base_path/skel
  # set var_path     $base_path/var
  set defaultarch  i386
  # set nthreads     20
  #
  deb http://linorg.usp.br/debian/ testing main contrib non-free
  deb-src http://linorg.usp.br/debian/ testing main contrib non-free
  deb http://linorg.usp.br/debian-non-US/ testing/non-US main contrib non-free
  deb-src http://linorg.usp.br/debian-non-US/ testing/non-US main contrib non-free
  deb http://security.debian.org/ testing/updates main contrib non-free
  #
  # Cleaner configuration example
  #
  # set cleanscript $var_path/clean.sh
  #
  
  # What shold we clean up
  clean http://security.debian.org/
  clean http://linorg.usp.br/
  
  # But exclude this directories
  skip-clean http://security.debian.org/doc/
  skip-clean http://security.debian.org/tools/
  skip-clean http://security.debian.org/debian/doc/
  skip-clean http://security.debian.org/debian/tools/
  skip-clean http://security.debian.org/debian/project/
  skip-clean http://security.debian.org/debian-non-US/project/
  skip-clean http://linorg.usp.br/doc/
  skip-clean http://linorg.usp.br/tools/
  skip-clean http://linorg.usp.br/debian/doc/
  skip-clean http://linorg.usp.br/debian/tools/
  skip-clean http://linorg.usp.br/debian/project/
  skip-clean http://linorg.usp.br/debian-non-US/project/

Feito isto, podemos criar o nosso mirror. Lembrando que o número de pacotes é grande, então é bom dispor de um pouco de espaço na partição que contém o diretório /var/spool/apt-mirror, no meu caso, ele ocupou um pouco mais de 19Gb

  su - apt-mirror
  apt-mirror

Agora é esperar (São 19Gb de downloads), numa conexão razoável (512kbps) isto deve demorar uns 3 ou 4 dias.

Agora é hora de disponibilizar os arquivos, afinal, alguém pode querer usá-los senão, para que estaríamos fazendo o repositório? :-) Criamos um arquivo chamado /etc/apache/conf.d/apt-repository.conf com o conteúdo:

  Alias   /debian/pool         /var/spool/apt-mirror/mirror/linorg.usp.br/debian/pool
  Alias   /debian/dists        /var/spool/apt-mirror/skel/linorg.usp.br/debian/dists
  Alias   /debian-non-US/pool  /var/spool/apt-mirror/mirror/linorg.usp.br/debian-non-US/pool
  Alias   /debian-non-US/dists /var/spool/apt-mirror/skel/linorg.usp.br/debian-non-US/dists
  Alias   /security            /var/spool/apt-mirror/mirror/security.debian.org
  Alias   /debian-non-US/dists /var/spool/apt-mirror/skel/linorg.usp.br/debian-non-US/dists
  
  <Directory /var/spool/apt-mirror/mirror/linorg.usp.br/debian/pool>
   AllowOverride None
   Options Indexes
   Order Deny,Allow
   Allow from 172.16.0.0/12
   Allow from 127.0.0.1/32
   Deny from all
  </Directory>
  <Directory /var/spool/apt-mirror/skel/linorg.usp.br/debian/dists/>
   AllowOverride None
   Options Indexes
   Order Deny,Allow
   Allow from 172.16.0.0/12
   Allow from 127.0.0.1/32
   Deny from all
  </Directory>
  <Directory /var/spool/apt-mirror/mirror/linorg.usp.br/debian-non-US/pool>
   AllowOverride None
   Options Indexes
   Order Deny,Allow
   Allow from 172.16.0.0/12
   Allow from 127.0.0.1/32
   Deny from all
  </Directory>
  <Directory /var/spool/apt-mirror/skel/linorg.usp.br/debian-non-US/dists/>
   AllowOverride None
   Options Indexes
   Order Deny,Allow
   Allow from 172.16.0.0/12
   Allow from 127.0.0.1/32
   Deny from all
  </Directory>
  <Directory /var/spool/apt-mirror/mirror/security.debian.org/>
   AllowOverride None
   Options Indexes
   Order Deny,Allow
   Allow from 172.16.0.0/12
   Allow from 127.0.0.1/32
   Deny from all
  </Directory>

Devemos acertar a diretiva "Allow from 172.16.0.0/12" de acordo com as nossas nescessidades, esta é específica para a minha rede interna.

Agora reiniciamos o Apache

  /etc/init.d/apache restart

Nosso repositório está pronto para ser usado. Passamos então a configurar nossos clientes

Parte 2 - Configuração do Cliente

Configuramos o /etc/apt/sources.list para apontar para o nosso repositório recém-criado

  deb http://<ip_do_mirror>/debian testing main contrib non-free
  deb http://<ip_do_mirror>/debian-non-US/ testing/non-US main contrib non-free
  deb-src http://<ip_do_mirror>/debian testing main contrib non-free
  deb-src http://<ip_do_mirror>/debian-non-US/ testing/non-US main contrib non-free
  
  deb http://<ip_do_mirror>/security testing/updates main contrib non-free

Atualizamos a base de dados do apt

  apt-get update

E podemos sair utilizando o apt, por exemplo, fazendo uma atualização do sistema

  apt-get upgrade

Parte 3 - Manutenção do Repositório

Duas coisas são importantes para manter o nosso mirror "consistente": Atualizá-lo constantemente; e Remover os arquivos antigos. para isto, coloquei esta entrada no /etc/crontab

  # /etc/crontab
  0 1 * * * apt-mirror /usr/bin/apt-mirror && /bin/sh /var/spool/apt-mirror/var/clean.sh

Algumas observações importantes:

  • O mirror foi criado num debian sarge, com apache instalado e pré-configurado

  • Os 19Gb de download são apenas na instalação, nas atualizações, apenas as diferenças serão baixadas

  • Foram feitos mirrors dos repositorios linorg.usp.br e security.debian.org. pode-se utilizar outros repositorios, apenas fazendo as devidas mudanças no mirror.list, no apt-repository.conf, e no sources.list dos clientes.

Veja a relação completa dos artigos de Conrado Pinto Rebessi

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.01/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (555 votos)

Recomende este site
Recomendar este artigo


Versão para impressão


Opinião dos Leitores

Guilherme
12 Mar 2008, 20:23
O meu deu erro quando executo o apt-mirror, /binary-i386/packages.gz no such file on directory .
como faço pra resolver . Serei mto grato se alguem me ajudar !
Celso Pimentel Gomes
17 Jun 2007, 16:39
Este howto vale para distros Ubuntu ?
anderson
16 Ago 2006, 08:11
Duas perguntas:

1) se no repositorio original for retirado um arquivo, ele tambe será escluído do meu repositorio. Seria essa a função do clean.sh ?

2) é possível inserir novos pacotes manualmente dentro desse repositório ?


Valew
Andre Sartori
03 Ago 2006, 09:21
Muito legal.
Mas é possível fazer o repositório usando os cds do Debian ao contrário da internet ?
Luciano
19 Jul 2006, 03:05
Cara..

bem interessante esta dica...

é de grande valia...

hj mesmo eu fiz um repositório local aqui, mas foi atravéz dos discos do debian sarge (14 cdś), e com o dkpg-scanpackages...

valeu
[]ś
*Nome:
Email:
Me notifique sobre novos comentários nessa pagina
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Mão na Massa LDAP - 1 Profissional por Máquina
Configure um serviço de Diretórios baseado no servidor OpenLDAP!
Dia 6 de Dezembro - São Paulo
Saiba mais

Biblioteca

Redes - Guia Prático
Por Carlos. E. Morimoto

Hardware - o Guia Definitivo
Por Carlos. E. Morimoto

Kurumin 7 - Guia Prático
Por Carlos. E. Morimoto

Linux: Ferramentas Técnicas, 2ed
Por Carlos. E. Morimoto

VPN: Virtual Private Network
Por Lino Sarlo da Silva

MySQL - Guia do Programador
Por André Milani

Sistemas de Banco de Dados
Por Ramez E. Elmasri e Shamkant Navathe

Hardware PC: Guia de Aprendizagem Rápida
Por Carlos E. Morimoto

Extreme Programming
Por Vinicius Manhaes Teles

Google Hacking
Por JOHNNY LONG

Elite da Tropa
Por Luis Eduardo Soares, Andre Batista e Rodrigo Pimentel

Harry Potter e as Relíquias da Morte
Por J.K. Rowling

Manual Completo do Linux: Guia do Administrador
Por Evi Nemeth, Trent R. Hein, Garth Snyder

PHP para Quem Conhece PHP
Por Juliano Niederauer

O Conhecimento em Rede
Por Carlos Nepomuceno e Marcos Cavalcanti

Enterprise Javabeans 3.0
Por Bill Burke, Richard Monson

Redes de Computadores
Por Andrew S. Tanembaum

Marley e Eu: a Vida e o Amor ao Lado do Pior Cão do Mundo
Por John Grogan

Deus, um delírio
Por Richard Dawkins

Java: Como Programar
Por Harvey M. Deitel e Paul J. Deitel

Descobrindo o Linux: Entenda o Sistema Operacional GNU/Linux
Por Joao Eriberto Mota Filho

Use a Cabeça!: JSP & Servlets
Por Brian Bashan, Kathy Sierra, Bert Bates

1808
Por Laurentino Gomes

UML: Guia do Usuário
Por Grady Booch, James Rumbaugh e Ivar Jacobson