Para quem ministra cursos linux e necessita de acesso para instalação de pacotes por parte dos alunos, é interessante que os repositórios estejam próximos o suficiente para permitir o download dos arquivos de uma maneira rápida.

Um alternativa seria compartilhar o diretório /var/cache/apt/archives de uma das máquinas (principal) com as outras. Assim, uma vez que um pacote fosse instalado na máquina principal, estaria automaticamente disponível nas outras.

Outra alternativa; mais demorada para configurar, porém com mais flexibilidade e recursos; é a criação de um mirror local. O maior problema dessa alternativa é largura de banda necessária para o download inicial, que em alguns casos chega a 250GB. Certamente, isso só deverá ser efetuado em um local com banda suficiente ou copiando de algum mirror acessível localmente.

No meu caso, aproveitei um mirror local já existente para criar um mirror privado portátil, de maneira que posso carregá-lo para os laboratórios de informática. Os “ingredientes” utilizados foram os seguintes:

  • notebook eeepc, com o Debian instalado
  • HD externo USB com 320GB
  • Acesso a um mirror do ubuntu em uma rede local

Vamos, agora, descrever o procedimento utilizado para a criação e configuração do mirror privado.

Cópia dos Arquivos

  1. Conecte o HD externo em uma máquina com fácil acesso a algum mirror já existente.
  2. Utilize o script deste endereço, reproduzido abaixo, alterando-o de acordo com suas necessidades
  3. RSYNCSOURCE=rsync://archive.ubuntu.com/ubuntu
    BASEDIR=/path/to/your/mirror/

    rsync –recursive –times –links –hard-links \
    –stats \
    –exclude “Packages*” –exclude “Sources*” \
    –exclude “Release*” \
    ${RSYNCSOURCE} ${BASEDIR}

    rsync –recursive –times –links –hard-links \
    –stats –delete –delete-after \
    –exclude “project/trace/${HOSTNAME}” \
    ${RSYNCSOURCE} ${BASEDIR}

A cópia acima com um mirror local levou algumas horas. Se você utilizar algum mirror remoto, a cópia pode levar alguns dias, dependendo da sua banda.

Configuração do mirror privado

Uma vez que temos uma cópia dos arquivos em nosso HD externo, podemos configurar um mirror privativo. Para isso, iremos configurar alguns serviços necessários: apache2 e ftp.

  1. Inicialmente, vamos considerar que o HD externo está montado no notebook no caminho /media/disk-3 e os arquivos do mirror no diretório /media/disk-3/ubuntu.
  2. Instale os pacotes necessários

  3. # apt-get install apache2 proftpd

  4. Crie um link para o Ubuntu no Apache

  5. # ln -s /media/disk-3/ubuntu/ /var/www/ubuntu

    Isso vai permitir o acesso via http pelo endereço http://192.168.0.105/ubuntu . Onde 192.168.0.105 é o endereço IP do nosso mirror privado.

  6. Configure o proftd para permitir acesso anônimo. Edite o arquivo /etc/proftpd/proftpd.conf e descomente toda a seção referente ao acesso anônimo. Altere também a linha começando com UseIPv6 para off. Veja um exemplo.
  7. Altere também o arquivo /etc/passwd, definindo o $HOME do usuário ftp para o diretório onde
    estão montados os arquivos do mirror
  8. ftp:x:110:65534::/media/disk-3:/bin/false

Configuração dos clientes

  1. Nas máquinas clientes, altere o arquivo /etc/apt/sources.list e modifique o endereço dos servidores para o IP do mirror local. Veja um exemplo
  2. Agora, basta atualizar a lista de pacotes com
  3. #apt-get update

  4. E instalar os softwares necessários normalmente, com apt-get install. Como o download
    agora é em uma rede local, a instalação será bem mais rápida.
  5. Se quiser garantir que vai usar apenas o mirror local, certifique-se remover quaisquer arquivos no diretório /etc/apt/sources.list.d.

Edit: O procedimento apresentado aqui irá efetuar uma cópia completa de todo espelho, o que, como já citado, irá requerer um download de 250GB aproximadamente. Uma outra opção é utilizar o apt-mirror, que permite selecionar de maneira simples quais versões e arquiteturas deseja-se fazer o mirror. Seguem alguns links com tutoriais de como fazer isso:

http://www.vivaolinux.com.br/artigo/Aptmirror-Como-criar-um-mirror-para-o-Ubuntu-9.04
http://www.howtoforge.com/local_debian_ubuntu_mirror

Dúvidas e comentários, deixe uma mensagem.

Tags: ,

Deixe um Comentário

*