Apt-mirror - Servidor de Atualização Ubuntu

Estamos implantando o Ubuntu 12.04 na empresa onde trabalho. A cada formatação de máquina, verificávamos que a atualização do sistema consumia uma boa parte da nossa banda de Internet. A solução que encontramos para isso, foi instalar o Apt-mirror. Neste artigo ensino, de forma prática e rápida, a configuração desse espelho.

[ Hits: 37.078 ]

Por: Danny Alisson de Souza Rodrigues em 07/08/2013


Configurações



Como pode ser visto, o arquivo principal de configuração é o "mirror.list", e ele contém a listagem de repositórios dos quais serão baixados para o servidor.

No diretório "/var/spool/apt-mirror/mirror", é onde fica guardado os "espelhos" baixados. É importante ressaltar que, como esse diretório guarda todos os arquivos baixados, é bom deixar ele em uma partição separada com no mínimo 300GB de espaço em disco.

Bom, agora que estamos com o servidor instalado, vamos iniciar o download dos pacotes de atualização, para isso bastar digitar o comando:

# apt-mirror
Downloading 184 index files using 20 threads...
Begin time: Mon Jul 29 14:36:21 2013
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Mon Jul 29 14:36:52 2013

Proceed indexes: [SSSSSSSSPPPPPPPPPP]

6.7 MiB will be downloaded into archive.
Downloading 21 archive files using 20 threads...
Begin time: Mon Jul 29 14:38:44 2013
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Mon Jul 29 14:39:09 2013

1.0 GiB in 317 files and 0 directories can be freed.
Run /var/spool/apt-mirror/var/clean.sh for this purpose.

Como o apt-mirror salva tudo em "/var/spool/apt-mirror", precisaremos criar um link para torná-lo disponível para nossos usuários. O primeiro link criado, fornece um link para o "packages.gz", que lista os pacotes disponíveis no repositório.

sudo ln -s /var/spool/apt-mirror/skel/archive.ubuntu.com/ubuntu/ /var/www/ubuntu

Os links abaixo, proporcionam acesso à aplicações individuais de download:

sudo ln -s /var/spool/apt-mirror/mirror/archive.ubuntu.com /var/www/archive-ubuntu
$ sudo ln -s /var/spool/apt-mirror/mirror/archive.canonical.com /var/www/archive-canonical
$ sudo ln -s /var/spool/apt-mirror/mirror/security.ubuntu.com /var/www/security-ubuntu


Após isso, já estamos com nosso servidor instalado.

Configurando os clientes

Bom, agora vamos à parte mais importante, que é configurar nossos clientes para fazer o update a partir do nosso servidor.

Para isso, basta editar o arquivo "/etc/apt/sources.list" e configurar nosso repositório. Vamos remover a referencia para links externos e colocar o IP do nosso repositório.

Segue uma amostragem do arquivo original:
deb http://br.archive.ubuntu.com/ubuntu/ precise main restricted
deb-src http://br.archive.ubuntu.com/ubuntu/ precise main restricted
deb http://br.archive.ubuntu.com/ubuntu/ precise-updates main restricted
deb-src http://br.archive.ubuntu.com/ubuntu/ precise-updates main restricted

Segue sources.list modificado:

deb http://IP DO SERVIDOR/ubuntu/ precise main restricted
deb-src http://IP DO SERVIDOR/ubuntu/ precise main restricted
deb http://IP DO SERVIDOR/ubuntu/ precise-updates main restricted
deb-src http://IP DO SERVIDOR/ubuntu/ precise-updates main restricted

Após isso, basta fazer um apt-get update para atualizar os fontes, e um apt-get upgrade para baixar do nosso repositório que acabamos de implementar.

Como sabemos, de tempos em tempos, a equipe de desenvolvimento do sistema cria novos patch de atualização, então, é justo colocarmos nosso servidor para baixar esses novos patch e colocá-los em produção.

Para isso, é só acrescentar ao Cron, uma linha referente ao comando de atualização. No meu caso, coloquei o comando para ser executado todos os sábados, às 23:00Hs.

#crontab -l
0  23  *  *  6  apt-mirror >/var/spool/apt-mirror/var/cron.log


Bom, espero que o Apt-mirror ajude-os no dia a dia, assim como me ajudou bastante.

Abraço a todos.


Danny Rodrigues

Página anterior    

Páginas do artigo
   1. Instalando o Servidor
   2. Configurações
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Ajeitando o blackbox

Como configurar e instalar o VirtualBox

Sound Blaster 128 PCI Ensonic - Modulo es1371

Red Hat e Fedora - Um guia básico de configuração

Instalação do GLPI no GNU/Linux CentOS 7.0

  
Comentários
[1] Comentário enviado por lcavalheiro em 07/08/2013 - 11:00h

Excelente contribuição, meu caro! Pros amigos que administram servidores essa é a dica. Acho que serve pra qualquer Debian-like, só pra constar ;-)

[2] Comentário enviado por xerxeslins em 10/08/2013 - 12:05h

Curti!

Nota 10.

[3] Comentário enviado por dannyalisson em 10/08/2013 - 12:41h

lcavelheiro sim ele pode ser usado para qualque Debian-like.

[4] Comentário enviado por perrout em 06/09/2013 - 08:22h

Muito bom!!! Parabéns pelo artigo..

[5] Comentário enviado por molevy em 27/03/2017 - 08:55h

Consegui instalar o apt-mirror, mas quando fui dar continuidade criando os links (sudo ln -s /var/spool/apt-mirror/skel/archive.ubuntu.com/ubuntu/ /var/www/ubuntu ) ele disse "ln: falhou ao criar link simbólico '/var/www/ubuntu': Arquivo ou diretório não encontrado"

Realmente ele não criou ou tem a pasta /var/www/ubuntu.

Devo instalar mais alguma coisa para que essas pastas sejam criadas ou simplesmente as crio manualmente?

Grato.

Moises Levy.

[6] Comentário enviado por dannyalisson em 29/03/2017 - 08:16h


[5] Comentário enviado por molevy em 27/03/2017 - 08:55h

Consegui instalar o apt-mirror, mas quando fui dar continuidade criando os links (sudo ln -s /var/spool/apt-mirror/skel/archive.ubuntu.com/ubuntu/ /var/www/ubuntu ) ele disse "ln: falhou ao criar link simbólico '/var/www/ubuntu': Arquivo ou diretório não encontrado"

Realmente ele não criou ou tem a pasta /var/www/ubuntu.

Devo instalar mais alguma coisa para que essas pastas sejam criadas ou simplesmente as crio manualmente?

Grato.

Moises Levy.


Moises Levy tudo bem? É necessário a instalação do apache para a criação desses diretorios.

[7] Comentário enviado por tcboeira em 23/10/2019 - 15:48h

Sei que é de longo tempo, mas ainda valido. Obrigado.
Tenho uma duvida... O meu, espelha o "br.archive.ubuntu.com" ... Pq alguns pacotes não copiam todos para meu servidor local?
Lá, em "br.archive.ubuntu.com", aparece com conteúdo, para mim, aparece zerado. Pode ser erro de internet, cópia, essas coisas...
Como posso fazer ele refazer todo o espelhamento?

[8] Comentário enviado por ulissestark em 03/09/2021 - 09:18h

Localmente eu sei que funciona, porém se tento puxar de outra maquina Ubuntu, recebo o erro no apt update :
404 not found [ip: xx.x.x.xx]
no firewall esta liberado para o apache, tentei por dhcp, nat, rede interna.

No server de repositorio foi usado Ubuntu 20.04.1LTS e na maquina cliente 20.04.2LTS ambas Focal Fossa. Fiz uma copia do source.list do server direto pro client, e não funciona. O que preciso é que outras maquinas consigam dar apt update do meu server de repositorio.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts