Pular para o conteúdo

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.
Marco Sinhoreli msinhore
Hits: 93.943 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Introdução

Fonte de pesquisa


http://www.lug-untermain.de/howto/debmirror.php
[ Em alemão ] Língua para leitura: [ Linux command line :]

Necessidade


Suponhamos que esta seja uma tarefa que faz parte de seu cotidiano dentro do seu local de trabalho. Bom, acho melhor você ter um repositório em sua LAN para executar tal tarefa. :)

Instalação e configuração do servidor


Instale o pacote "debmirror" disponível em testing ou unstable:

# apt-get install debmirror

Crie um usuário e um grupo que será dono do processo que iremos automatizar para o uso do debmirror:

# groupadd mirror
# useradd -g mirror -d /mirror -c "Debian Mirror" mirror


Crie os diretórios necessários para o repositório.

# mkdir -p /mirror/debian # mkdir /mirror/non-US # chown -R mirror:mirror /mirror

Criando os scripts para a sincronização


Iremos criar agora os script para a sincronização dos repositórios:

Repositório US:

# emacs /usr/local/bin/mirror1.sh

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
#!/bin/bash
su mirror -c "debmirror /mirror/debian --method=http --progress --nosource --host=ftp.br.debian.org --root=/debian --dist=woody,sarge,sid --section=main,contrib,non-free --arch=i386 --cleanup --getcontents"

Repositório non-US:

# emacs /usr/local/bin/mirror2.sh

#!/bin/bash
su mirror -c "debmirror /mirror/non-US --method=http --progress --nosource --host=ftp.br.debian.org --root=/debian-non-US --dist=woody/non-US,sarge/non-US,sid/non-US --section=main,contrib,non-free --arch=i386 --cleanup ?getcontents"

Você pode alterar a opção --method por ftp, http ou rsync -e. Leia o manual do debmirror para maiores detalhes.

# man debmirror

Permitindo a leitura escrita e execução somente para o usuário root:

# chmod 700 /usr/local/bin/mirror*.sh

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução
   2. Repositório local, http e ftp na sua LAN
   3. Automatizando o processo
   4. Observações finais

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

Debian SID, OpenBox, LightDM e XFS

Distribuição híbrida

Funcionalidades para o Unity

Instalar um LAMP com boa performance

Arch Linux - Instalação a partir de imagem híbrida

#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

Entre na sua conta para comentar.