Configurando repositório de pacotes para Apt-Get no Debian Gnu Linux
Um dos maiores problemas para usuário e administradores de sistemas, é quando possuimos diversas estações de trabalho para gerenciar, configurar e atualizar e temos que baixar de repositórios Debian pacotes pela internet em todas as estações, gerando assim um alto tráfego na rede, e diminuindo consideravelmente a performance e a produtividade.
Com isso a melhor solução é criar um repositório de pacotes local. Ao invés de baixarmos da internet todos os pacotes necessários para nossas instalações em todas as estações de trabalho, baixamos em uma única máquina e depois copiamos para um repositório de pacotes local.
Neste artigo exemplificaremos como configurar um repositório de pacotes para Apt-Get no Debian Gnu/Linux.
Informações sobre o sistema
Debian Gnu/Linux R4 /i386-2.4.28, Servidor Web Apache 1.3.33
Pacotes necessários
* dpkg
* dpkg-dev
* gzip
* apache
Considerações Iniciais
Para que possamos dar sequência neste artigo, devemos ter em mente que os pacotes mencionados acima estão devidamente instalados e configurados em nossa máquina que será o repositório de pacotes.
A seguir ilustrarei um rápido exemplo de instação e configuração dos aplicativos acima. Caso você já possua os pacotes acima instalados e configurados, favor desconsiderar o exemplo de instalação e configuração abaixo:
1) Adicionar os mirrors necessários para baixar os pacotes através de um Mirror Externo de Apt-Get, para isso acrescente em seu arquivo /etc/apt/sources.list as linha abaixo:
Código:
deb http://security.debian.org stable/updates main deb http://ftp.br.debian.org/debian/ stable main deb-src http://ftp.br.debian.org/debian/ stable main deb http://ftp.us.debian.org/debian stable main deb-src http://ftp.us.debian.org/debian/ stable main
2) Atualização do banco de pacotes do Apt e instalação dos pacotes necessários:
Código:
apt-get update ; apt-get install dpkg-dev apache gzip
Procure pela linha ServerName geralmente localizado na linha 310 deste arquivo. Caso a diretiva ServerName esteja comentada, substitua pelo nome de seu servidor web Ex:
Código:
ServerName ws1.fsbox.org
Código:
DocumentRoot /var/www
5) Reinicie o servidor Apache para que as alterações feitas possam entrar em vigor
Código:
/etc/init.d/apache restart
Código:
/etc/init.d/apache stop ; /etc/init.d/apache start
Para nosso exemplo criei no meu diretório público do Apache que está localizado em /var/www/, um diretório chamado mirror-Debian e dentro dele uma pasta chamada debs no qual ficarão armazenados os pacotes de extensão .deb
Código:
mkdir -p /var/www/mirror-Debian/debs
Código:
cp -Rv /var/cache/apt/archives/*.deb /var/www/mirror-Debian/debs
Código:
touch /var/www/mirror-Debian/arquivo
Feito isso, devemos então usar o aplicativo dpkg-scanpackages para gerar o conteúdo do arquivo de classificação dos pacotes existentes dentro do diretório debs:
Código:
cd /var/www/mirror-Debian ; dpkg-scanpackages debs arquivo | gzip > debs/Packages.gz
Para finalizar vamos mudar o usuário e grupo ao qual pertencem os diretórios e sub-diretórios do exemplo acima:
Código:
chown -Rv www-data.www-data /var/www/mirror-Debian
Código:
echo "deb http://192.168.0.1/mirror-Debian debs/" > /etc/apt/sources.list
Código:
apt-get update