Acelerando a compilação com o distcc
Para usar o distcc não é necessário que todos os micros possuam configuração similar, nem que estejam rodando a mesma distribuição. É recomendável apenas que sejam sempre utilizadas versões similares do distcc em todos, para evitar problemas inesperados. Ele está disponível na maioria das distribuições. Procure pelo pacote "distcc". Nas distribuições derivadas do Debian ele pode ser instalado através do apt-get: # apt-get install distcc Naturalmente, você deve instalá-lo em todas as máquinas que serão usadas. Como medida de segurança, mesmo depois de instalado ele fica explicitamente desabilitado no arquivo "/etc/default/distcc". Para ativar, edite o arquivo e mude a opção "STARTDISTCC="false" para: STARTDISTCC="true" A seguir, na opção "ALLOWEDNETS" você deve especificar quais micros poderão usar o servidor, especificando diretamente o IP ou nome de cada um, ou autorizando diretamente toda a faixa de endereços da rede local, como em: ALLOWEDNETS="192.168.1.0/24" Concluída a configuração, reinicie o serviço, em todas as máquinas: # /etc/init.d/distcc restart A grosso modo, o distcc trabalha enviando trechos de código para as demais máquinas da rede, juntamente com os parâmetros de compilação necessários e recebe de volta os binários já compilados. Apenas o seu micro precisa ter o código fonte do que está sendo compilado, mas todas as máquinas que forem usadas precisam ter os compiladores necessários para compilá-lo. Ao instalar o sistema em cada máquina, aproveite para sempre habilitar a categoria de desenvolvimento na seleção dos pacotes. É desejável também que, mesmo que sejam usadas distribuições diferentes, todas as máquinas tenham instaladas versões idênticas ou pelo menos similares do gcc e g++. Na hora de compilar, comece criando a variável "DISTCC_HOSTS" no shell, que especifica quais máquinas da rede serão utilizadas pelo distcc durante a compilação, como em: $ export DISTCC_HOSTS='127.0.0.1 192.168.1.33 192.168.1.100 192.168.1.156' Se preferir, você pode tornar esta configuração permanente, salvando a lista dentro do arquivo ".distcc/hosts", no diretório home do usuário usado nas compilações. Depois de criar a pasta .distcc, você pode usar o comando: $ echo '127.0.0.1 192.168.1.33 192.168.1.100 192.168.1.156' > ~/.distcc/hosts Depois de criada a lista com os hosts, você pode compilar da forma usual, adicionando os parâmetros "-jX CC=distcc" depois do "make", onde o X é o número de jobs simultâneos que serão criados. Ao usar o distcc, uma regra geral é usar 3 jobs por processador, por máquina. Com 4 máquinas monoprocessadas, -j12 é um bom número. Em algumas situações, usar um número maior de jobs pode reduzir um pouco o tempo de compilação e em outras vai simplesmente retardar o processo. No caso da compilação do Kernel, os comandos seriam:
$ make -j12
CC=distcc bzImage
$ make -j12
CC=distcc modules Note que não usei o distcc no "make modules install", pois ele não envolve compilação, apenas a instalação dos módulos gerados no comando anterior. O mais correto é sempre fazer compilações usando um login de usuário e usar o root apenas para rodar os comandos de instalação. Para fazer isso, é necessário que a conta de usuário tenha sempre permissão de acesso completa à pasta com o código fonte. Se você está compilando o Kernel, e o fonte está na pasta "/usr/src/linux/2.6.15/" (que originalmente pertence ao root), você pode pode usar o comando: # chown -R joao.joao /usr/src/linux/2.6.15/ ... para transferir a posse da pasta para o usuário joao, grupo joao, de forma que ele possa fazer a compilação sem enfrentar problemas de permissão. » Próximo: Criando pacotes a partir dos fontes com o checkinstall Você está lendo o livro Linux, Ferramentas Técnicas (publicado em 2006) Se se está em busca de um livro atualizado sobre Linux, leia o Linux, Guia Prático, que oferece informações atualizadas:
Autor: Carlos E. Morimoto
Páginas: 736 Formato: 23 x 16 cm Editora: GDH Press e Sul Editores » Veja mais detalhes sobre o livro Descrição: Em 2001 publiquei a edição inicial do livro "Entendendo e Dominando o Linux", que foi sucedida por diversas atualizações, culminando no livro que está atualmente disponível para leitura online. O livro Linux, Guia Prático é um novo trabalho, onde pretendo transmitir a experiência e os conhecimentos acumulados ao longo de todos esses anos. Este é um livro de referência, destinado a mostrar detalhes sobre a configuração e uso do sistema, abordando diversas distribuições, incluindo o Ubuntu, Mandriva, Fedora, OpenSUSE e Slackware. Temas gerais, como os aplicativos disponíveis e o uso do terminal são explicados de forma independente, enquanto as configurações específicas para cada distribuição são agrupadas em capítulos específicos para cada uma. A idéia é oferecer os meios para que você se torne um usuário avançado, capaz de usar e solucionar problemas em qualquer distribuição. Veja também nossos livros Hardware, o Guia Definitivo, Redes, Guia Prático, Servidores Linux, Guia Prático e Smartphones, Guia Prático nossos outros lançamentos. |
|