Gentoo: Sincronização com Git e Automação via Systemd

Publicado por Xerxes em 09/02/2026

[ Hits: 454 ]

 


Gentoo: Sincronização com Git e Automação via Systemd



Manter a árvore do Portage atualizada é essencial no Gentoo, mas o método padrão (rsync) pode ser lento. Nesta dica, vamos migrar o repositório principal para Git e agendar uma sincronização automática às 5h da manhã com Systemd Timers.

1. Ferramentas Necessárias

Para começar, instale o git para a sincronização incremental e o eix para buscas instantâneas:

sudo emerge --ask dev-vcs/git app-portage/eix

2. Migrando para Git

O Git é mais performático que o rsync por baixar apenas as mudanças reais nos arquivos. Crie o arquivo de configuração em /etc/portage/repos.conf/gentoo.conf:

[gentoo]
location = /var/db/repos/gentoo
sync-type = git
sync-uri = https://github.com/gentoo-mirror/gentoo.git
auto-sync = yes

Agora, converta o repositório atual removendo a árvore antiga e sincronizando do zero:

sudo rm -rf /var/db/repos/gentoo

sudo eix-sync

3. Automação com Systemd

Crie o arquivo de serviço /etc/systemd/system/eix-sync.service para definir a tarefa:

[Unit]
Description=Sincronizacao Diaria do Portage e Eix
After=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/bin/eix-sync -q

Crie o timer em /etc/systemd/system/eix-sync.timer para agendar o horário:

[Unit]
Description=Roda o eix-sync diariamente as 5 da manha

[Timer]
OnCalendar=*-*-* 05:00:00
Persistent=true

[Install]
WantedBy=timers.target

4. Ativação e Validação

Recarregue as configurações e ative o agendamento:

sudo systemctl daemon-reload

sudo systemctl enable --now eix-sync.timer

Para validar se o sistema realmente agendou a tarefa, use o comando essencial:

sudo systemctl list-timers eix-sync.timer

Observe os campos NEXT (próxima execução) e LEFT (quanto tempo falta) na saída do comando.

Diferente de scripts no OpenRC, o Systemd Timer é assíncrono, o que garante que o processo de manutenção não trave o boot ou o login. Além disso, o parâmetro After=network-online.target faz com que o serviço aguarde a conexão com a internet antes de iniciar.
Outras dicas deste autor

Quiz para escolher distro

Instalar (compilar) CAVA no Ubuntu (sem PPA)

Filmes do PC para TV via Wi-Fi

Slackware: prompt estranho no XFCE?

ClearlooksOSX no Zenwalk

Leitura recomendada

DPKG: erro: base de dados de estado do dpkg está bloqueado por outro processo [Resolvido]

Configuração de teclado utilizando as distribuições CentOS, Debian e Ubuntu

Sincronizar hora de um host Windows através de um host Linux com Samba

Como colocar o tema Oxygen no Slackware [vídeo]

Desabilitando roaming profile para logon em domínio Samba

  

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