Debmirror: Criando um repositório Debian na rede local

Imagine você precisando fazer uma nova instalação Debian ou atualizar a distribuição ou um pacote em questão. Você irá depender de seu link com a internet para poder utilizar um dos diversos mirrors públicos existentes para tal tarefa e isso poderá levar um certo tempinho para fazê-lo. Então por quê não criar um mirror local em sua rede? Veja aqui como fazer.

[ Hits: 91.958 ]

Por: Marco Sinhoreli em 02/09/2004


Repositório local, http e ftp na sua LAN



Para uso local, em seu /etc/apt/sources.list coloque as linhas:

deb file:/mirror/debian sid main non-free contrib
deb file:/mirror/non-US sid/non-US main contrib non-free

Você pode alterar a versão conforme a sua necessidade trocando onde esta sid por woody ou sarge. ;)

Vamos agora configurar para que você possa ter o repositório disponível para outras máquinas.

Configurando o Apache:

Edite o arquivo de configuração /etc/apache/httpd.conf:

# emacs /etc/apache/httpd.conf

Troque "<Directory /var/www>" por "<Directory /mirror>".

Reinicie o Apache:

# /etc/init.d/apache restart

Edite o arquivo /etc/apt/sources.list nos clientes para configurar o repositório no protocolo HTTP:

# emacs /etc/apt/sources.list

deb http://(ip_ou_host_do_servidor)/debian/ sid main non-free contrib
deb http://(ip_ou_host_do_servidor)/non_US/ sid/non-US main contrib non-free

Configurando o proftpd:

Para ter o repositório disponível por ftp, edite o arquivo de configuração do proftpd:

# emacs /etc/proftpd.conf

Altere as TAGS da configuração compreendidas entre <Anonymous ...> </Anonymous> por:

<Anonymous ~mirror>
   User                     ftp
   Group                    nogroup
   UserAlias                anonymous ftp
   RequireValidSh           off
   # Limit the maximum number of anonymous logins
   MaxClients               20
   DisplayLogin             welcome.msg
   DisplayFirstChdir        .message
   # Limit WRITE everywhere in the anonymous chroot
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
</Anonymous>

Edite o arquivo /etc/apt/sources.list nos clientes para configurar o repositório no protocolo FTP:

deb ftp://(ip_ou_host_do_servidor)/debian/ sid main non-free contrib
deb ftp://(ip_ou_host_do_servidor)/non_US/ sid/non-US main contrib non-free
Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Repositório local, http e ftp na sua LAN
   3. Automatizando o processo
   4. Observações finais
Outros artigos deste autor

Compile e empacote o kernel com processadores ociosos em sua rede utilizando distcc, ccache e kernel-package no Debian

Leitura recomendada

Como instalar e configurar duas ou mais distros

Fedora Core 1 :: Firewall e update

Gentoo e RAID configurado através do mdadm

Monitoramento de utilização do DNS

ASP.NET no Linux

  
Comentários
[1] Comentário enviado por agk em 02/09/2004 - 20:30h

Muito bom, parabéns mesmo, excelente o artigo, procurei a algum tempo atrás uma solução dessas e não havia encontrado nada satisfatório a não ser uma opção que usava rsync e esta eu não consegui configurar, vou tentar colocar essa solução em prática agora.
Valeu [ ]'s.

[2] Comentário enviado por y2h4ck em 02/09/2004 - 20:32h

Esse tipo de solução e muito interessante, por exemplo ja dei consultoria para uma empresa que possuia um parque de maquinas com mais de 50 estações todas linux ... imagine ter que atualizar todas essas maquinas baixando tudo da internet .. portanto foi montado um repositorio na lan para as maquinas utilizarem... e muito bom o pessoal conhecer esses recursos polpando assim banda, tempo e claro dinheiro !!
Bacana o Artigo ...
[]´s

Spawn y2h4ck

[3] Comentário enviado por msinhore em 08/09/2004 - 10:39h

Possibilidades de problemas:

Alguns arquivos baixados pelo protocolo http podem receber um erro por parte do servidor http. Neste caso altere o protocolo nos scripts mirror1.sh e mirror2.sh para ftp que o erro não volta a ocorrer.

[4] Comentário enviado por skfk em 10/02/2005 - 11:55h

Ótimo artigo, será de grande valia..
parabéns e grato :)

[5] Comentário enviado por danniels em 14/03/2005 - 21:56h

Muito bom! Tenho um servidor Debian na loja onde presto serviço e pra tudo uso a net! Me será de grande utilidade!
Fera! Valeu mesmo!

[6] Comentário enviado por ErhnamDjinm em 31/05/2005 - 08:34h

Estou configurando um debmirror, mas não consigo fazer o download por rsync, somente por http. Configurei o proxy para rsync e coloquei a opção de proxy no comando debmirror. Alguém tem idéia de como resolver?

[7] Comentário enviado por piri_nato em 15/11/2005 - 04:13h

Issu e muito interessante

[8] Comentário enviado por halquimista em 30/12/2005 - 18:05h

Adorei o artigo!

[9] Comentário enviado por rick001_7 em 26/01/2006 - 15:09h

Massa esse artigo...
Funciona com Ubuntu também?

[10] Comentário enviado por msinhore em 26/01/2006 - 15:21h

Sim, deve funcionar. Faça um teste e nos fale de sua experiência ;-)

[11] Comentário enviado por ELETROAB em 18/05/2006 - 10:41h

cara eu gostei muito do artigo !!

[12] Comentário enviado por wagnerdequeiroz em 26/06/2006 - 14:05h

será que é possivel fazer um mirror debian usando os arquivos das imagens .iso Ou seja: em vez de baixar da net o mirror, usar os arquivos dos CDs do Debian (ou arquivos .iso).

Meu problema. Infelizmente no trabalho e nas lans que eu frequento, só tem sistema proprietário, eu consegui as imagens iso dos DVDs do Stable e Unstable do Debian com um amigo, eu queria montar um mirror local para minha rede domestica onde nao tem internet.

[13] Comentário enviado por agk em 26/06/2006 - 16:18h

É possível sim meu amigo. Para isso basta ter um apache instalado ou um ftp.
Copiar os binários do CD e colocar o caminho do seu servidor apache ou ftp no sources.list dos micros da sua rede.
Você pode inclusive fazer instalação via rede utilizando o método http/ftp com esses binários.
Se precisar de mais detalhes pergunte.
[ ]'s.

[14] Comentário enviado por dailson em 06/07/2006 - 09:27h

Muito bom o Artigo. Parabéns.
Mas gostaria de saber mais detalhes sobre como fazer um repositório a partir dos DVDs.

[15] Comentário enviado por fabiobarby em 02/09/2006 - 00:47h

tae, foi pro favoritos...

[16] Comentário enviado por marcelo.dias em 13/09/2006 - 20:14h

Muito bom o artigo!

[17] Comentário enviado por apollorj em 19/09/2006 - 02:14h

Amigo, um belo e muito útil arquivo...
Pode tirar uma duvida minha por gentileza? (sou iniciante...)
Como faço pra adaptar esse mirror para o Ubuntu?
Grande abraço e obrigado!

[18] Comentário enviado por juliaojunior em 26/09/2006 - 11:41h

blz mesmo, meu velho. muito util

[19] Comentário enviado por juliaojunior em 10/10/2006 - 15:21h

é possivel fazer o mesmo com o ubuntu?

[20] Comentário enviado por lordsun7 em 20/11/2007 - 10:22h

Olá msinhore poderia mim diz se Ubuntu 7.04 (terminais) para criar um repositório para um servidor com 7.10 funciona normalmente. Aqui esta dando bronca.

Valeu!!

[21] Comentário enviado por wesleygm em 11/04/2009 - 10:54h

Olá Pessoal

Estava seguindo o tutorial do nosso amigo e encontrei dificuldades, pois erros de chave publica foram gerados.
Tentei por varias vezes corrigir os erros, mas sem sucesso

Com isso encontrei um outro tutorial na internet que funcionou.


Segue

#!/bin/bash
# proto pode ser http,ftp ou rsync
proto=http
# host é de onde baixar
# Eu mantenho alguns comentados no caso do último falhar
# host=ubuntu.interlegis.gov.br
host=ftp.br.debian.org
#host=sft.if.usp.br
#host=10.82.0.206
# root é de onde começa o mirror
# costuma ser /pub/ubuntu em ftps.
root=debian
# onde eu vou colocar os pacotes
destdir=/media/disk/Softwares/Linux/Repositorio_Debian
# Baixando 32 e 64 bits...
arch=i386
# aqui é o trabalho de verdade e está em uma única linha
defopt="-v -p --arch=$arch --host=$host --root=$root --section=main,contrib,non-free --dist=etch -e $proto --ignore-release-gpg --postcleanup --nosource"

echo "\n--- criando mirror debian"
echo "--- dist: etch"
echo "--- arch: $arch"
echo "--- sec: main,contrib,non-free\n"

debmirror $defopt $destdir

[22] Comentário enviado por walterti em 15/09/2009 - 07:41h

estou tendo com debmirror o mesmo problema que tive com o debpartialmirror o meu repositorio nao é exatamente igual ao do debian. pq isso? eu entro na pasta do repositorio e faltam alguns arquivos tanto no main quanto no contrib e non-free
lembrando que o comando nao retorna erro algum... simplesmente nao baixa os arquivos

[23] Comentário enviado por removido em 13/10/2009 - 14:58h

Boa tarde.

Olhem este artigo aqui: http://www.dicas-l.com.br/dicas-l/20050402.php

a configuração é bem simples
e a instalação já feita com um pacote dos repostórios do debian.


Garanto que não da nem um problema de Chaves do gpg.



Implantei e esta funcionando em alguns servidores.


Qualquer dúvida fica a disposição.



[24] Comentário enviado por projeto_cem em 23/12/2010 - 19:14h

Só tem um pequeno problema, o GPG, mas é só acrescentar um parametro:


Esse:
--ignore-release-gpg


Comando completo:

debmirror /mirror/debian --ignore-release-gpg --method=http \
--progress --nosource --host=ftp.br.debian.org \
--root=/debian --dist=woody,sarge,sid \
--section=main,contrib,non-free --arch=i386 --cleanup \
--getcontents


Valeu pelo tutorial, muito bom!!! =D

[25] Comentário enviado por KaduMatoso em 30/09/2013 - 14:33h

Boa tarde.

Utilizo o Debian Wheezy 7, em que o apache é a última versão e fica localizado na pasta /etc/apache2, porém não encontro o documento para tais configurações

[26] Comentário enviado por KaduMatoso em 30/09/2013 - 14:35h

Seria o arquivo /etc/apache2/apache2.conf ???

[27] Comentário enviado por Kadumatoso em 03/10/2013 - 16:27h

Segue o tamanho dos repositorios que tenho atualmente:

Debian 6 para Debian 6: 70GB
Debian 7 para Debian 7: 80GB

[28] Comentário enviado por angeloo em 13/06/2018 - 12:49h

Caro msinhore, estou tentando montar aqui em carater de teste, em uma maquina virtual, um repositório, no seu script vc informa que a pasta a ser criada é em # /mirror/debian, e eu gostaria de montar na pasta padrão que seria # /var/www, qual seria a melhor opção???
ou eu poderia fazer o seguinte, ao instalar a máquina eu poderia particionar o hd da seguinte forma.
partição 1- /
partição 2 - /var/www ou partição 2- /mirror
partição 3- /home
partição 4- swap
Qual sua opnião???


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts