Acelerando a compilação de pacotes no Arch Linux (AUR) usando todos os núcleos do processador
Dica publicada em Linux / Configuração
Acelerando a compilação de pacotes no Arch Linux (AUR) usando todos os núcleos do processador
Quando instalamos pacotes doAUR (Arch User Repository) que exigem compilação a partir do código-fonte, o processo pode ser demorado. Isso acontece porque, por padrão, o utilitário makepkg do Arch Linux vem configurado para utilizar de forma conservadora apenas um núcleo do seu processador.Se você possui um hardware melhorzinho com múltiplos núcleos — por exemplo, um processador com 16 threads como um Ryzen 7 — manter o padrão significa desperdiçar potencial de processamento.
Para resolver isso, precisamos ajustar duas variáveis no arquivo de configuração do
makepkg:1. MAKEFLAGS: Esta variável passa argumentos para o comando
make durante a compilação do software. A flag -j (jobs) define quantas tarefas simultâneas podem ser executadas.
2. COMPRESSZST: Após a compilação, o Arch compacta o pacote resultante usando o algoritmo
zstd. A flag -T define o número de threads que o compactador pode usar, acelerando a etapa final de geração do pacote.Abaixo, mostro como aplicar essa otimização de forma segura. Em vez de editar o arquivo global do sistema de forma arriscada, vamos copiar a configuração para o seu usuário e adicionar as linhas no final do arquivo usando comandos diretos no terminal.
Para tornar a dica universal, utilizaremos o comando
$(nproc), que identifica automaticamente a quantidade de threads disponíveis no seu processador e aplica o número exato, sem que você precise digitar o valor manualmente.Abra o seu terminal e execute os passos abaixo:
Cria uma cópia do arquivo de configuração global para o seu diretório de usuário. Isso garante que as mudanças afetem apenas o seu usuário e evita mexer no /etc/:
cp /etc/makepkg.conf ~/.makepkg.conf
Adiciona a configuração de MAKEFLAGS no final do arquivo recém-copiado. O (nproc) será substituído automaticamente pelo número de threads do seu processador:
echo 'MAKEFLAGS="-j$(nproc)"' >> ~/.makepkg.conf
Adiciona a configuração de compressão para usar todas as threads disponíveis:
echo 'COMPRESSZST=(zstd -c -T$(nproc) -)' >> ~/.makepkg.conf
Dica feita com ajuda de IA.