Quando temos várias máquinas na rede, faz sentido ter um repositório local espelhado a partir do repositório remoto, pois isto reduz o uso de largura de banda, limitando o número de máquinas que se conectam ao repositórios remotos e assim reduz o download de grandes arquivos associados aos pacotes.
Uma vantagem adicional é que todas as máquinas da rede local por estarem utilizando este repositório local, os pacotes em cada uma das máquinas serão da mesma versão.
Criando um repositório local, somente um computador irá se conectará ao repositório remoto, fazendo um espelho do conteúdo para o computador local.
Nós precisaremos realizar três tarefas conseguir fazer funcionar o repositório espelho local:
Se você tentar o comando apt-mirror agora, ele irá solicitar o download de um grande quantidade de dados. Precisamos portanto limitar os repositórios que queremos e também configurar outras configurações para o apt-mirror.
Precisamos configurar o arquivo /etc/apt/mirror.list. A primeira seção do arquivo contem a configuração padrão relacionada ao armazenamento de arquivos baixados, o caminho do diretório espelho base, scripts de limpeza etc.
Por padrão, os arquivos são copiados para o diretório /var/spool/apt-mirror. Você precisa garantir que haja espaço em disco suficiente para armazenar os arquivos (são muitos !).
Se todos os computadores da rede estão na mesma arquitetura você pode deixar o parâmetro defaultarch com o valor padrão, que usará a arquitetura do computador onde o apt-mirror está sendo rodado. Se você precisar espelhar repositórios para qualquer outra arquitetura, então você precisa configurá-lo explicitamente.
Em seguida, comente as linhas relacionadas aos repositórios na segunda seção. Mantenha somente ativos os repositórios que você realmente precisa e comente os outros.
Esta é uma parte delicada da sua configuração, pois você não vai querer baixar tudo, mas também não vai querer deixar uma atualização importante de fora. Infelizmente não tenho como dizer qual a melhor opção, você tem que ir testando. Sugiro descomentar somente o que você tiver certeza e ir liberando depois aos poucos.
Se você mantiver tudo ativo, o programa irá baixar uma quantidade muito grande de
dados.
Depois de ter feito as alterações, execute o comando apt-mirror para espelhar o repositório remoto para o computador local. Uma vez concluído o download de todos os arquivos, você pode ver que o diretório de destino fica semelhante aos diretórios de repositório que você observa nos servidores remotos.
Em cada uma das máquinas da rede local, precisamos alterar o URL do repositório para fazer com que o computador acesse o computador espelho. Basicamente o que nós precisamos fazer é apontar para o IP da máquina que funciona como espelho.
Abra o arquivo de configuração /etc/apt/sources.list. Ache a linha que faz o download como mostrado abaixo.
Troque o endereço para o IP do computador espelho (ou comente a linha e acrescente pela linha com o IP local):
Note que na minha rede, o computador espelho tem o endereço 192.168.100.2. Esta configuração deve conter o endereço do seu computador. Com isto agora temos todos os computadores da rede configurados para usar o espelho como o repositório.
Dá um trabalho, mas compensa.
PS: como a configuração nos computadores locais é a mesma, você pode fazer um script e copiar para todos a partir de uma única máquina, utilizando por exemplo o comando scp.
Uma vantagem adicional é que todas as máquinas da rede local por estarem utilizando este repositório local, os pacotes em cada uma das máquinas serão da mesma versão.
Nós precisaremos realizar três tarefas conseguir fazer funcionar o repositório espelho local:
- Primeiro, configuramos o espelho em uma das máquinas da rede local -- este será nosso repositório local
- Em seguida, configuramos este computador para espelhar apenas determinados repositórios. Isso limitará a quantidade de dados baixados e também evitar que pacotes indesejados sejam baixados.
- A terceira tarefa é apontar os clientes locais para este repositório para que eles usem apenas esse repositório para atualizar os pacotes.
Configurando uma máquina espelho
Começamos portanto configurando o espelhamento de duas maneiras, usando: rsync e apt-mirror. Veremos neste post o comando apt-mirror. Ele pode ser utilizado para o espelhamento inicial. A instalação é simples:$ sudo apt-get install apt-mirror
Precisamos configurar o arquivo /etc/apt/mirror.list. A primeira seção do arquivo contem a configuração padrão relacionada ao armazenamento de arquivos baixados, o caminho do diretório espelho base, scripts de limpeza etc.
Por padrão, os arquivos são copiados para o diretório /var/spool/apt-mirror. Você precisa garantir que haja espaço em disco suficiente para armazenar os arquivos (são muitos !).
Se todos os computadores da rede estão na mesma arquitetura você pode deixar o parâmetro defaultarch com o valor padrão, que usará a arquitetura do computador onde o apt-mirror está sendo rodado. Se você precisar espelhar repositórios para qualquer outra arquitetura, então você precisa configurá-lo explicitamente.
Em seguida, comente as linhas relacionadas aos repositórios na segunda seção. Mantenha somente ativos os repositórios que você realmente precisa e comente os outros.
Esta é uma parte delicada da sua configuração, pois você não vai querer baixar tudo, mas também não vai querer deixar uma atualização importante de fora. Infelizmente não tenho como dizer qual a melhor opção, você tem que ir testando. Sugiro descomentar somente o que você tiver certeza e ir liberando depois aos poucos.
Se você mantiver tudo ativo, o programa irá baixar uma quantidade muito grande de
dados.
Depois de ter feito as alterações, execute o comando apt-mirror para espelhar o repositório remoto para o computador local. Uma vez concluído o download de todos os arquivos, você pode ver que o diretório de destino fica semelhante aos diretórios de repositório que você observa nos servidores remotos.
Usando o espelho local
Com o repositório local funcionado, agora precisamos configurar as máquinas da rede local para utilizá-lo. Precisamos nos certificar que o espelho local é completamente funcional.Em cada uma das máquinas da rede local, precisamos alterar o URL do repositório para fazer com que o computador acesse o computador espelho. Basicamente o que nós precisamos fazer é apontar para o IP da máquina que funciona como espelho.
Abra o arquivo de configuração /etc/apt/sources.list. Ache a linha que faz o download como mostrado abaixo.
Troque o endereço para o IP do computador espelho (ou comente a linha e acrescente pela linha com o IP local):
deb http://192.168.100.2/mirror/ubuntu trusty main restricted
Dá um trabalho, mas compensa.
PS: como a configuração nos computadores locais é a mesma, você pode fazer um script e copiar para todos a partir de uma única máquina, utilizando por exemplo o comando scp.
Comentários
Postar um comentário