我需要在 2 或 3 個 Ubuntu LTS 桌面之間設定即時同步。所有應用程式、所有文件和資料夾、所有設定、所有變更都是即時的。如果有人對其中一台電腦進行更改,則會將其發送並同步到其他電腦......然後返回。
到底是可以還是不行?能分享一些新鮮的想法嗎?
答案1
通常,人們會用來rsync
同步兩台電腦。
但是,我認為您要求的可能要複雜得多。你說“所有應用程式”, 但是之後“只有一台電腦可以與具有相同使用者帳戶的其他電腦同步”。大多數應用程式是為所有用戶安裝的,而數據將是每個用戶的,並且配置可能會任何一個。
您需要:
- 從另一台電腦複製
/etc/passwd
並將其與 uid >= 1000 的所有帳戶的本機進行比較/etc/passwd
,以查找要同步的帳戶,或僅保留要同步的帳戶列表 - 從遠端電腦取得所有已安裝的 debian 軟體包的列表,將其與本機電腦上的列表進行比較,並將它們全部安裝在兩台電腦上 (
dpkg --get-selections
) - 對 Snap、Flatpaks、Node 等執行相同的操作(這可能很快就會變得非常乏味!)
rsync
(雙向)/etc/PACKAGE
以及etc/default/PACKAGE
步驟 2 中找到的每個包rsync /home/USER
對於步驟 1 中找到的每個用戶- 將所有這些放入僅在一台機器上定期執行的 cron 作業中。
然後你一定會發現你(或我)忘了一些東西!如果沒有備份,就不要考慮這樣做。