Compilação distribuída usando o distcc

cvs

Bom, vamos abordar em um breve artigo como distribuir a tarefa de compilar programas em seu Linux, uma tarefa muita das vezes demorada e pra quem possui máquinas antigas isso se torna quase uma tortura, então, se tiver mais de uma máquina pode reduzir o tempo usando a máquina ao lado para ajudar nessa compilação.

[ Hits: 19.847 ]

Por: Thiago Alves em 23/09/2004 | Blog: http://www.seeufosseopresidente.com.br


Introducão



Bom, o distcc é como se fosse uma lenda no meio dos usuários Linux, pois todo mundo já ouviu falar, mas dificilmente alguém já mexeu ou mexe com ele diariamente. Então resolvi escrever esse artigo baseado em um que achei no LinuxWorld a respeito disso e me parece que a mania agora é fazer coisas distribuídas, como sistema de arquivos distribuídos e agora compilação distribuída (o que já é um pouco mais antigo). Vamos agora colocar o distcc no sistema (instalá-lo).

NOTA: Vale lembrar que isso só vai funcionar de forma adequada se você estiver usando a mesma distribuição (e mesma versão) em todas as máquinas, ou se não for, pelo menos certifique que é a mesma versão da glibc e do gcc. Com isso terá mais chances de obter um êxito e não ficar me xingando. :-)

Vamos levar em conta que a distribuição usada seja Slackware (por que é a que eu uso e por que Slackware funciona... hehehe). Então, normalmente já vem instalado esse pacote, caso não venha, pode-se baixar o .tgz na seguinte URL:

http://www.slackware.at/data/slackware-10.0/.../distcc-2.14-i486-1.tgz

Para quem não sabe instalar pacotes .tgz na distribuição Slackware, usa-se da seguinte forma:

# installpkg distcc-2.14-i486-1.tgz

Sim, como root.

Ou se você é um daqueles mais radicais (compilar r0x), pode baixar o source em:
E para instalar é até simples, como root execute dentro de seu diretório descompactado:

# ./configure
# make
# make install


Feito isso, ele já vai estar instalado.

    Próxima página

Páginas do artigo
   1. Introducão
   2. Colocando em prática
   3. Conclusões
Outros artigos deste autor

Compilando o Apache 2 com PHP e MySQL

Servidor de rede (PDC - Proxy Transparente - DNS)

Samba + clamav - compartilhamento livre de vírus

Instalação e configuração do Gkrellm

Sylpheed - a GTK+ based, lightweight, and fast e-mail client

Leitura recomendada

Instalação básica do FreeBSD 6.1 (passo a passo)

Como criar pacotes "task" para o APT

Montando um mirror de atualização do anti-vírus AVG

Dropbox - Integração em multiplataformas

Como fazer publicações pelo Instagram Web

  
Comentários
[1] Comentário enviado por fabio em 23/09/2004 - 01:56h

Olha... agora já sei como fazer pra compilar kernel mais rápido! :P
Alguém já fez esse teste? Há ganho de performance mesmo?

[]'s

[2] Comentário enviado por jllucca em 23/09/2004 - 13:41h

esse distcc é meio velho já, nunca mexi... mas, lembro de ter lido em algum lugar quando tava buscando help sobre o Gentoo que ele funciona muito bem e tanto com maquinas linux como windows...

infelizmente, nunca utilizei pra poder afirmar concerteza :/

[3] Comentário enviado por lordello em 23/09/2004 - 15:09h

Na verdade a opção -j deve ser usada com parcimônia... O ideal é que você coloque o número de computadores + um (incluindo o seu), ou seja, se na rede tiverem 5 máquinas (incluindo a sua), você deve usar a opção -j6 e assim por diante.

Belo artigo.
Acho bom ter uma conexão de rede boa também, assim evitando gargalos durante a compilação de programas pesados.

[4] Comentário enviado por wronieri em 23/09/2004 - 15:46h

Parece que se usar a opção -j em cluster tipo OpenMosix parece q tb há um ganho de desempenho tb mas este distcc nunca tinha ouvido falar... vou testar :-)

[5] Comentário enviado por androle em 23/09/2004 - 19:36h

Parece muito interessante. Em um duron 1200 compilo o kernel em 15 minutos (só com o que preciso). Num k6II 400 demorou mais de uma hora! No fim de semana vou testar com o distcc e ver se o duron compila em menos de 15 minutos com a ajuda do k6II

E quem tem máquinas matadoras, tipo PIV 2400? Quanto tempo demora para compilar um kernel?

Parabéns pelo artigo!

[6] Comentário enviado por tagallo em 24/09/2004 - 16:03h

androle, eu vi uns benchmarks no anandtech.com, e um dos parametros de comparaçao era o tempo necessario para compilar uma versao do kernel 2.6, com as configs padroes (aquelas que já vem setadas), os processadores mais fodas tavam levando em torno de 4 minutos se nao me engano... bem legal... considerando que eu demoro mais de uma hora pra compilar o meu kernel peladao no meu celeron 600


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts