Sincronização P2P de arquivos entre máquinas Gentoo com Syncthing (Sem nuvem)

Publicado por Xerxes em 18/02/2026

[ Hits: 88 ]

 


Sincronização P2P de arquivos entre máquinas Gentoo com Syncthing (Sem nuvem)



Introdução

Se você possui mais de uma máquina (como um desktop principal e um servidor doméstico ou notebook) e precisa manter pastas específicas idênticas em ambas — como seus scripts pessoais, saves de jogos (Doom, por exemplo) ou documentos de RPG — o Syncthing pode ajudar.

Diferente do Dropbox ou Google Drive, ele não envia seus dados para terceiros. A sincronização ocorre diretamente de dispositivo para dispositivo (P2P) na sua rede local, garantindo privacidade total e velocidade máxima.

Nesta dica, vou mostrar como configurar o Syncthing no Gentoo usando Systemd, focando na sincronização de pastas na /home do usuário.

Linux: Sincronização P2P de arquivos entre máquinas Gentoo com Syncthing (Sem nuvem)

1. Instalação (Em ambas as máquinas)

Como estamos no Gentoo, o processo é via Portage. Execute o comando abaixo nas duas máquinas que você deseja conectar:

sudo emerge -av net-p2p/syncthing

2. Rodando como Usuário

Muitos tutoriais ensinam a rodar o serviço como root, o que causa uma enorme dor de cabeça com permissões de arquivos na sua pasta pessoal. O jeito correto ("Gentoo way") para sincronizar seus arquivos pessoais é rodar o serviço no nível de usuário.

Não use sudo aqui. Logado com seu usuário comum (ex: xerxes), ative o serviço:

systemctl --user enable --now syncthing

Isso garante que o Syncthing tenha exatamente as mesmas permissões que você, evitando que arquivos fiquem "trancados" como root.

3. Acessando a Interface e Criando Senha

O Syncthing não tem uma janela de aplicativo nativa; ele roda no navegador. Abra seu browser e acesse:


Logo no primeiro acesso, ele vai avisar que a interface está desprotegida.

1. Vá em Ações (Canto superior direito) > Configurações.
2. Na aba GUI, defina um Usuário e Senha.
3. Salve. A página irá recarregar pedindo login. Faça isso nas duas máquinas.

4. Conectando as Máquinas

Para que sincronia aconteça, um PC precisa conhecer o outro.

1. Na Máquina A, vá em Ações > Mostrar ID. Copie o código longo alfanumérico.

2. Na Máquina B, clique no botão "Adicionar Dispositivo" (canto inferior direito).

3. Cole o ID da Máquina A. Na aba "Avançado", você pode dar um nome amigável (ex: "Servidor Gentoo"). Salve.

4. Volte para a Máquina A. Uma notificação amarela aparecerá no topo: "O dispositivo X quer se conectar". Clique em Adicionar.

Agora elas estão pareadas!

5. Sincronizando Pastas

Vamos supor que você queira sincronizar sua pasta de scripts (~/scripts) e seus jogos (~/doom).

Na máquina onde os arquivos já existem:

1. Clique em "Adicionar Pasta".

2. Rótulo da pasta: Dê um nome (ex: Scripts).

3. Caminho da pasta: O caminho real no disco (ex: /home/seu_usuario/scripts).

4. Aba Compartilhamento:. Marque a caixa de seleção da outra máquina que você pareou no passo anterior.

5. Clique em Salvar.

Vá até a outra máquina. Uma notificação aparecerá: "O dispositivo X quer compartilhar a pasta 'Scripts'". Clique em Adicionar, confirme o caminho onde deseja salvar e pronto!

Conclusão

A partir de agora, qualquer alteração, novo script criado ou save game salvo em uma máquina será replicado instantaneamente para a outra via rede local. Se você desligar uma, assim que ela ligar novamente, o Syncthing detecta as mudanças e atualiza tudo automaticamente.

Simples, seguro e sem depender da nuvem de ninguém.

Obs.: se você tentar sincronizar "/home/usuario" inteira "cegamente", você vai sincronizar também os arquivos ocultos de configuração. Isso pode quebrar seu sistema. Em vez de apontar para "/home/usuario" (a raiz), crie pastas compartilhadas específicas dentro do Syncthing.
Outras dicas deste autor

Atualizar para o último kernel Linux no Gentoo estável

Deepin Linux - A nova queridinha do momento

Impressora de rede no Ubuntu 12.04 - "FirewallD não está sendo executado" [RESOLVIDO]

Simples configuração de firewall Linux

Compiz no Debian e Devuan

Leitura recomendada

Bloqueio de pendrive em rede com servidor Linux, utilizando Samba 4 como controlador de domínio, com estações Windows

Monitorando o consumo de containers Docker

Instalando GNS3 no Fedora 22

Erro: NT_STATUS_OBJECT_NAME_NOT_FOUND - Samba 4.3.9 no Ubuntu Server 16.04 [Resolvido]

Bloqueio funcional do Tor Browser

  

Comentários
[1] Comentário enviado por Carlos_Cunha em 18/02/2026 - 23:25h

Legal :-D
Duvidas:

No seu exemplo com dois Hosts, o sync e bi-direcional ? ou seja o A -> B e do B -> A ?

Se tiver mais hosts, A.B, C ? funciona também de todos para todos ? E como é conflito de dados se ocorrer ?

#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#

[2] Comentário enviado por xerxeslins em 19/02/2026 - 08:59h


[1] Comentário enviado por Carlos_Cunha em 18/02/2026 - 23:25h

Legal :-D
Duvidas:

No seu exemplo com dois Hosts, o sync e bi-direcional ? ou seja o A -> B e do B -> A ?

Se tiver mais hosts, A.B, C ? funciona também de todos para todos ? E como é conflito de dados se ocorrer ?

#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



Sim, é bidirecional!

Sim, funciona com múltiplos hosts (A, B, C, etc). Mas eu só cheguei a testar com dois.

Sobre conflitos ele não sobrescreve. ele salva as duas versões. Uma delas ganha o sufixo no nome do arquivo, permitindo que você escolha qual manter.

Exemplo aqui:

launcher.py

launcher.sync-conflict-20260218-175435-THTFMEA.py

O mais recente ficou com o nome normal, e o antigo recebeu esse sufixo de conflito.

Aí posso deletar, renomear etc.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts