Установка представляет собой несколько ноутбуков (Linux и Mac OS), которым нужна общая папка, но нет постоянного доступа к сети. Файлы должны быть доступны для использования в автономном режиме, а любые изменения должны быть загружены и загружены после повторного подключения без необходимости взаимодействия, если только не возникает конфликт изменений.
Рассмотрены возможные решения:
Git — требует регулярного взаимодействия и не предназначен для больших двоичных файлов.
Rysnc — только в одну сторону и не обрабатывает слияние изменений
Samba/nfs — они не хранят локальную копию, и ручное копирование в конечном итоге становится огромной проблемой слияния.
Двунаправленная синхронизация является точной целью Unison, см. https://www.cis.upenn.edu/~bcpierce/unison/ :
Unison — это инструмент синхронизации файлов для OSX, Unix и Windows. Он позволяет хранить две реплики набора файлов и каталогов на разных хостах (или разных дисках на одном хосте), изменять их по отдельности, а затем обновлять путем распространения изменений в каждой реплике на другую.
Может работать по ssh. Исходя из опыта, основная проблема заключается в том, чтобы убедиться, что на обеих сторонах установлена одна и та же версия программного обеспечения, даже скомпилированная одинаково, иначе синхронизация не удастся.
Инструмент будет обрабатывать двунаправленную синхронизацию. Однако он не работает как демон.
Если вы хотите автоматически запускать ресинхронизацию сразу после изменения файла, вам нужен другой инструмент, например, inosync
в Unix. Или все, что следит за файловой системой, а затем может запускаться unison
.
Иззи
Роберт
Иззи
Властимил Овчачик