Acelere a compilação no Gentoo com distcc (guia para Systemd)

Publicado por Xerxes em 21/02/2026

[ Hits: 128 ]

 


Acelere a compilação no Gentoo com distcc (guia para Systemd)



Se você usa o Gentoo em um computador mais modesto, sabe que compilar pacotes pesados pode levar horas ou até dias. Mas e se você tiver outro computador mais potente (ou um servidor) na mesma rede? É aí que entra o distcc (Distributed C/C++ Compiler).

O distcc permite que você use o poder de processamento de outras máquinas para compilar seus programas muito mais rápido.

Como o distcc funciona?

Imagine que compilar um programa é como construir uma casa de tijolos:

  • Seu PC Fraco (O Mestre de Obras): Ele tem a planta da casa e organiza o trabalho, mas não tem muita força.
  • Seu PC Forte (O Ajudante): Ele tem muita força e está ocioso esperando ordens.

Com o distcc, o PC Fraco prepara o código-fonte e envia pela rede para o PC Forte. O PC Forte compila esse código usando todo o seu poder de processamento e devolve o arquivo binário pronto. O PC Fraco apenas junta as partes. O tempo de compilação diminui bastante.

Requisitos Básicos

1. Ambas as máquinas precisam estar na mesma rede local (ou conectadas via VPN, como o Tailscale).
2. Ambas devem ter a mesma versão do GCC instalada.
3. Este guia assume que ambas usam Systemd.

Passo 1: Configurando o PC Forte (O Ajudante)

Esta é a máquina que vai receber o trabalho pesado (por exemplo, um PC com 12 threads).

1. Instale o pacote:

emerge --ask sys-devel/distcc

2. Por padrão, o Gentoo configura o distcc para escutar apenas a si mesmo (127.0.0.1). Precisamos sobrescrever isso no arquivo do Systemd. Edite o arquivo:

sudo nano /etc/systemd/system/distccd.service.d/00gentoo.conf

3. Modifique o arquivo para que fique exatamente assim (substitua a faixa de IP pela da sua rede, ex: 192.168.2.0/24):

[Service]
Environment="ALLOWED_SERVERS=127.0.0.1"
ExecStart=
ExecStart=/usr/bin/distccd --no-detach --daemon --port 3632 -N 15 --allow 192.168.2.0/24

(Nota: O ExecStart= vazio é obrigatório no Systemd para limpar o comando original antes de injetar o novo).

4. Recarregue o Systemd e inicie o serviço:

sudo systemctl daemon-reload

sudo systemctl enable --now distccd

Passo 2: Configurando o PC Fraco (O Mestre de Obras)

Esta é a máquina onde você vai rodar o emerge (por exemplo, um notebook com 4 threads).

1. Instale o pacote:

emerge --ask sys-devel/distcc

2. Defina quem vai ajudar: Informe o IP da máquina forte ao Portage. É vital rodar isso como sudo ou root para que o sistema inteiro (e não apenas seu usuário) enxergue a configuração:

sudo distcc-config --set-hosts "IP_DA_MAQUINA_FORTE localhost"

3. Abra o seu make.conf:

sudo nano /etc/portage/make.conf

4. Adicione distcc na variável FEATURES (junto com as que já existirem, separadas por espaço):

FEATURES="getbinpkg distcc"

5. Ajuste o MAKEOPTS. A fórmula ideal é: -j[Soma de todas as threads da rede] -l[Threads apenas do PC Fraco] Se o PC Forte tem 12 threads e o PC Fraco tem 4, a soma é 16. O parâmetro -l (load average) serve como um freio de emergência: ele avisa ao Portage para não iniciar novos trabalhos locais se o PC Fraco já estiver no limite das suas 4 threads, evitando travamentos caso a rede caia.

MAKEOPTS="-j16 -l4"

Passo 3: Como saber se está funcionando?

No PC Fraco, coloque algo para compilar. Em seguida, abra outro terminal e rode:

distccmon-text 2

Você verá, a cada 2 segundos, a lista de arquivos de código sendo enviados magicamente para o IP do seu PC Forte!

Para acompanhar em tempo real no PC Forte (ver os arquivos chegando e sendo processados), use o comando:

journalctl -u distccd -f

Outras dicas deste autor

Pós-instalação do Fedora 22 ou superior

Como instalar o kernel Liquorix no Devuan

GNOME lento: uma experiência [Resolvido]

Estilizando o i3lock no seu ambiente i3

Módulo Warsaw no openSUSE e Fedora

Leitura recomendada

Bloqueando Pacotes Patterns no openSUSE

Atualizar ícones do menu pelo APT/Kurumin Linux

Corrigindo BUG NVidia vs. Asus

Dropbox - Como manter a configuração de aplicativos entre várias máquinas

Dica para instalar webcam no Fedora Core 6

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts