Мне нужно настроить синхронизацию в реальном времени между 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
для каждого ПАКЕТА, найденного на шаге 2rsync /home/USER
для каждого ПОЛЬЗОВАТЕЛЯ, найденного на шаге 1- Поместите все это в задание cron, регулярно запускаемое только с одной машины.
И тогда вы наверняка обнаружите, что вы (или я) что-то забыли! И даже не думайте делать это без резервных копий.