Pular para o conteúdo

Compile e empacote o kernel com processadores ociosos em sua rede utilizando distcc, ccache e kernel-package no Debian

Se você resolve compilar e empacotar o kernel em uma máquina isoladamente, o tempo para a execução e finalização da tarefa tende ao infinito. Que tal usar os processadores de sua rede para agilizar o processo?! Neste artigo você saberá como fazer isso.
Marco Sinhoreli msinhore
Hits: 25.167 Categoria: Linux Subcategoria: Kernel
  • Indicar
  • Impressora
  • Denunciar

Parte 5: Conclusão

No momento que o make-kpkg envia para o processador uma requisição, ele consulta a variável CC e entrega pra ela a operação. Como a variável CC está declarada como sendo o ccache, o ccache verifica em ~/.ccache se a tarefa havia sido executado em outras vezes, caso positivo ele reentrega para o make-kpkg a tarefa já executada.

Caso a tarefa não tenha sido executada, o ccache envia a tarefa para o distcc, que consulta quais processadores estão ociosos e faz o envio para um deles pela rede através de um socket TCP e ao receber o envia para o gcc, que o compila no processador e devolve para o distcc do nó central, que o devolve para o ccache, que o armazena e entrega para o make-kpkg. Todo este processo é dinâmico e transparente e efetivamente melhora e muito a agilidade da tarefa.

   1. Descrição das aplicações utilizadas
   2. Tudo que você precisa no nó central
   3. Tudo que você precisa nos nós escravos
   4. Usando o compile cluster
   5. Conclusão

Debmirror: Criando um repositório Debian na rede local

Instalando o kernel 2.6.37 de maneira fácil no Ubuntu 10.10

Kernel 2.6: a instalação mais fácil

IPCMSG: Comunicação inter-processos sem magia negra

Implementando um kernel GNU/Linux mais seguro

Recompilando o Kernel no Ubuntu Linux 9.04

#1 Comentário enviado por removido em 21/04/2006 - 11:54h
Ótimo artigo, vou testar em breve.
Só achei que o artigo foca a instalação usando apt. Poderia ser dado exemplos de instação em Fedora com uso de YUM, e até mesmo compilação manual via fonte.
Além do mais, faltou citar que as portas envolvidas no trabalho devem ser liberadas no firewall.
Abraços e parabéns :)
#2 Comentário enviado por msinhore em 21/04/2006 - 13:46h
Olá Otavio,

Eu trabalho somente com Debian e por esse motivo não citei como configurar em outras distribuições. Acredito que os passos para configuração dos aplicatívos deva ser a mesma.
Com relação ao firewall, ele não era objeto do artigo e por esse motivo não citei sua configuração.

Abraços e sucesso.
#3 Comentário enviado por psabs em 21/04/2006 - 20:04h
Olá,

Antes de mais nada , parabéns pelo artigo.

Vc saberia se o distcc e o ccache funcionariam para compilar outros projetos tal como OpenOffice, gnome etc... ? Ou ele apenas serve pra compilar kernel ?

[]
#4 Comentário enviado por removido em 21/04/2006 - 20:31h
O homem enlouqueceu!!!!!!!!!!!...........
Realmente, não faltava mais nada...
O que esse tal de linux não é capaz, hein???
;-P
#5 Comentário enviado por thelinux em 24/04/2006 - 08:46h
Ao Marco Sinhoreli - Parabéns pelo ótimo tutorial.

Ao otavio - cara, isto aqui não é curso. O cara fez um excelente tutorial.
#6 Comentário enviado por msinhore em 24/04/2006 - 10:33h
Olá psabs,

Sem nenhuma restrição para compilar outros códigos. Lembre-se de declarar e exportar as mesmas variaveis antes de chamar o gcc.

Abraços
#7 Comentário enviado por removido em 24/04/2006 - 17:29h
thelinux, não me leve a mal. Realmente é um ótimo artigo.
Apenas expressei uma ideia complementar ao artigo.
Afinal, esse espaço é exatamente para isso, para discução de ideias que possam não apenas elogiar o artigo, mas agregar mais informação :)
Abraços
#8 Comentário enviado por thelinux em 24/04/2006 - 17:43h
Tranquilo otavio. Grande abraço. Bola para frente.
#9 Comentário enviado por israel_miranda em 13/12/2007 - 15:36h
UAU!!!
Cara, eu sei da existência do projeto do bewolf para computação distribuida, mas não fazia idéia que havia um software assim para GCC!!!

Muito bom o artigo, meus parabéns!!!

Contribuir com comentário

Entre na sua conta para comentar.