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.376 ]

Por: Marco Sinhoreli em 02/09/2004


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

#!/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

    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

Configurando um servidor de email com Postfix, MySQL, SASL, MailScanner e MailWatch no CentOS 4.2

Utilizando os scripts SystemV a seu favor

Window Maker 0.95.4 no Debian Testing - Instalação, configuração e dicas

Resolvendo o problema de gerenciamento de energia - ACPI

Incrementando o visual do KDE 4

  
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