Pular para o conteúdo

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

Dica publicada em Linux / Configuração
Xerxes xerxeslins
Hits: 542 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar

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.

Efeitos 3D (cubo) no Fluxbox

Rápida instalação do Wordpress no Ubuntu

Lançamento do Brutal DOOM test 6

Embelezando o Ubuntu 16.04

Pós instalação do Zenwalk

Restando senha de root no CentOS/RHEL/Fedora

Ubuntu Feisty Fawn - Cannot Eject Volume

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

Como instalar uma gravadora CDR na IDE

Erro no DNS: dig: error while loading shared libraries: libisc.so.32: cannot open shared object file: No such file or directory

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.