我需要在 2 或 3 个 Ubuntu LTS 桌面之间设置实时同步。所有应用程序、所有文件和文件夹、所有设置、所有更改均实时同步。如果有人对其中一台计算机进行了更改,则该更改将被发送并同步到其他计算机...并返回。
有可能吗?不可能吗?您能分享一些新的想法吗?
答案1
通常,人们会用它rsync
来同步两台计算机。
不过,我认为你要求的可能要复杂得多。你说“所有应用程序”, 但是之后“只有一台计算机与具有相同用户帐户的其他计算机同步”。大多数应用程序是为所有用户安装的,而数据将是针对每个用户的,配置可能任何一个。
您需要:
- 要么
/etc/passwd
从另一台计算机复制,并将其与本地/etc/passwd
所有 uid >= 1000 的帐户进行比较,以找出要同步的帐户,要么只保留要同步的帐户列表 - 获取远程计算机中所有已安装的 Debian 软件包列表,将其与本地计算机上的列表进行比较,然后在两台计算机上都安装它们(
dpkg --get-selections
) - 对 Snaps、Flatpaks、Node 等执行相同操作(这很快就会变得非常繁琐!)
rsync
(双向)/etc/PACKAGE
以及etc/default/PACKAGE
在步骤 2 中找到的每个 PACKAGErsync /home/USER
对于在步骤 1 中找到的每个用户- 将所有这些放入仅从一台机器定期运行的 cron 作业中。
然后你肯定会发现你(或我)忘记了一些东西!千万不要在没有备份的情况下这样做。