Preciso definir uma sincronização em tempo real entre 2 ou 3 desktops Ubuntu LTS. Todos os aplicativos, todos os arquivos e pastas, todas as configurações, todas as alterações em tempo real. E se alguém fizer alterações em um desses computadores, isso será enviado e sincronizado para os outros.. e vice-versa.
É possível ou não? Você poderia compartilhar algumas ideias novas?
Responder1
Normalmente, seria usado rsync
para sincronizar dois computadores.
No entanto, acho que o que você está pedindo pode ser muito mais complicado. Você diz"todos os aplicativos", mas então"apenas um para ser sincronizado com os outros computadores com as mesmas contas de usuário". A maioria dos aplicativos é instalada para todos os usuários, enquanto os dados serão por usuário e a configuração pode serqualquer.
Você precisaria:
- Copie
/etc/passwd
de outro computador e compare-o com o local/etc/passwd
para todas as contas com uid >= 1000, para descobrir quais contas sincronizar, ou então apenas mantenha uma lista de contas para sincronizar - Obtenha uma lista de todos os pacotes Debian instalados no computador remoto, compare-a com a lista no computador local e instale todos eles em ambos (
dpkg --get-selections
) - Faça o mesmo para Snaps, Flatpaks, Node, etc (isso pode ficar muito tedioso muito rápido!)
rsync
(em ambas as direções)/etc/PACKAGE
eetc/default/PACKAGE
para cada PACOTE encontrado na etapa 2rsync /home/USER
para cada USUÁRIO encontrado na etapa 1- Coloque tudo isso em um cron job executado regularmente em apenas uma máquina.
E então você certamente descobrirá que há algo que você (ou eu) esqueceu! E nem pense em fazer isso sem backups.