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.
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
[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
[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.
[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?
[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.
[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!
[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.
[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"
[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
[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
[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???