Pular para o conteúdo

Compilação distribuída usando o distcc

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.
Thiago Alves cvs
Hits: 21.342 Categoria: Linux Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introducão
   2. Colocando em prática
   3. Conclusões

Mozilla Firefox com plugins para Flash e JAVA

CentOS + RAID1 via software

Instalando o VMWare no Slackware

Apache2 + PHP + PostgreSQL + phpPgAdmin

Samba + clamav - compartilhamento livre de vírus

PORTAGE - Gerenciamento de pacotes no Gentoo Linux

Utilizando o X-Deep32 para rodar programas Linux em máquina Windows

Burg - Gerenciador de Boot

ASTNAGIOS 2.0 + FAN - Solução completa para monitoramento

Instalando o Linux Fedora 8 no Notebook Positivo v53

#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

Entre na sua conta para comentar.