Neste artigo técnico, vamos abordar o ciclo completo de implantação do minerador XMRig em distribuições baseadas em Debian e Ubuntu (incluindo o Zorin OS). Você aprenderá a compilar o software diretamente do código-fonte, aplicar um patch manual para remover a taxa de doação do desenvolvedor, configurar a integração com pools e estruturar um serviço no SystemD para inicialização automática em nível de infraestrutura (estilo Farm).
1. Preparação do Ambiente e Dependências
Antes de manipular o código-fonte, é necessário atualizar os repositórios do sistema e instalar as ferramentas de compilação (build-essential, CMake) e as bibliotecas de desenvolvimento de baixo nível indispensáveis para o XMRig.
sudo apt update && sudo apt install git build-essential cmake libuv1-dev libssl-dev libhwloc-dev -y
Abra o terminal e execute o comando acima para garantir que o ecossistema de compilação esteja pronto.
2. Ajuste de Código: Removendo o Donate Level
O XMRig possui um mecanismo nativo que destina, por padrão, 1% do poder computacional (hashrate) ao desenvolvedor. Modificar esse parâmetro diretamente no arquivo de configuração pós-compilação é ineficaz. Para obter controle total e zerar essa taxa, o ajuste deve ser feito diretamente no arquivo de cabeçalho do código-fonte.
- Clone o repositório oficial do projeto para o seu diretório local:
cd ~ git clone https://github.com/xmrig/xmrig.git - Acesse o diretório de arquivos de origem (source code):
cd xmrig/src - Abra o arquivo de configuração de doações utilizando o editor de texto
nano:sudo nano donate.h - Localize as seguintes linhas de definição de diretivas:
constexpr const int kDefaultDonateLevel = 1; constexpr const int kMinimumDonateLevel = 1; - Altere os valores correspondentes para 0:
constexpr const int kDefaultDonateLevel = 0; constexpr const int kMinimumDonateLevel = 0;
Salve as alterações pressionando Ctrl + O, confirme com Enter e saia do editor com Ctrl + X.
3. Compilação Customizada do Binário
Com o código modificado, retorne à raiz do repositório, isole o ambiente de compilação criando um diretório dedicado e execute o utilitário CMake para gerar os arquivos Makefiles.
cd ..
mkdir build
cd build
cmake ..
make -j$(nproc)
Nota técnica: O parâmetro -j$(nproc) instrui o compilador a utilizar todos os núcleos de processamento disponíveis na máquina hospedeira, otimizando drasticamente o tempo de build.
4. Infraestrutura de Carteira e Pool
Devido às restrições regulatórias globais sobre moedas com foco em privacidade (Privacy Coins), o uso de carteiras de custódia em exchanges centralizadas não é recomendado para mineração.
- Carteira Oficial: Recomenda-se a instalação da Monero Wallet via Flatpak (disponível na Gnome Software/loja de aplicativos do seu sistema) ou diretamente pelo portal
getmonero.org. Durante o setup inicial, opte pelo Simple Mode (Modo Simples) para evitar o download completo da blockchain (que ocupa centenas de gigabytes). Guarde a sua chave mnemônica de 25 palavras de forma segura. Copie seu endereço público gerado na aba de recebimento. - Seleção de Pool: Acesse o indexador
miningpoolstats.stream/moneropara analisar a distribuição global de hashrate, taxas de pool (fees) e limites mínimos para saque. No ecossistema deste guia, adota-se o pool HashVault (hashvault.pro). - Geração do Arquivo de Configuração: Utilize o assistente oficial em
xmrig.com/wizard. Insira os dados do pool, cole o endereço da sua carteira e defina a identificação do seu worker (ex:ZorinDoKlaus). Baixe o arquivo resultante comoconfig.jsone armazene-o exatamente no diretório de compilação do minerador (~/xmrig/build/).
Para fins de diagnóstico, você pode testar a execução em primeiro plano rodando:
./xmrig
Após validar o início do processamento do algoritmo RandomX, interrompa a execução manual com Ctrl + C.
5. Persistência e Automação: Criando o Serviço SystemD
Para cenários de gerenciamento de múltiplos nós (uma infraestrutura estilo Farm), a execução manual é inviável. Precisamos envelopar o binário do XMRig em um serviço gerenciado pelo kernel do sistema, garantindo resiliência contra reinicializações inesperadas ou quedas de energia elétrica.
- Navegue até o diretório de unidades de serviço do SystemD:
cd /etc/systemd/system/ - Crie o arquivo de parametrização da unidade:
sudo nano xmrig.service - Insira a seguinte estrutura de configuração (substitua o termo
klauspelo nome exato do seu usuário no Linux):[Unit]Description=XMRig Monero Miner ServiceAfter=network.target[Service]Type=simpleWorkingDirectory=/home/klaus/xmrig/buildExecStart=/home/klaus/xmrig/build/xmrigRestart=alwaysRestartSec=10PrivateTmp=true[Install]WantedBy=multi-user.target
Salve e feche o arquivo.
Para registrar a nova unidade no barramento do sistema, habilite a inicialização automática durante o boot e starte o daemon imediatamente:
sudo systemctl daemon-reload
sudo systemctl enable xmrig.service
sudo systemctl start xmrig.service
6. Monitoramento de Telemetria e Logs
Como o serviço opera em segundo plano desvinculado de sessões TTY ativas, a auditoria do comportamento do minerador deve ser realizada por meio das ferramentas nativas de logs do ecossistema Linux.
Para inspecionar a saída padrão do minerador em tempo real, utilize o utilitário journalctl com as flags de rastreamento contínuo:
sudo journalctl -f -u xmrig.service
Para monitorar o desempenho, hashrate médio e as recompensas acumuladas diretamente pelo backend, acesse o painel web do pool escolhido (ex: hashvault.pro) e insira a chave pública da sua carteira Monero no campo de busca de estatísticas.
Dica de Infraestrutura: Lembre-se de configurar a BIOS/UEFI das suas máquinas mineradoras para o estado de AC Power Recovery -> Last State ou Power On. Dessa forma, caso ocorra uma queda de energia física, o hardware ligará de forma autônoma assim que a eletricidade for restabelecida, e o SystemD se encarregará de subir o processo de mineração sem qualquer intervenção humana.
